@turbo/workspaces 2.10.3-canary.5 → 2.10.3-canary.7
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-
|
|
2
|
+
const e=require(`./convert-B_I_N-ag.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.7`,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-
|
|
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-B_VMdyOZ.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.7`,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)});
|
|
@@ -43,4 +43,4 @@ ${e.format(t)}
|
|
|
43
43
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0001`),s.checkPaths(e,t,`copy`,n,(i,a)=>{if(i)return r(i);let{srcStat:o,destStat:c}=a;s.checkParentPaths(e,o,t,`copy`,i=>i?r(i):n.filter?u(l,c,e,t,n,r):l(c,e,t,n,r))})}function l(e,t,n,o,s){let c=r.dirname(n);a(c,(r,a)=>{if(r)return s(r);if(a)return f(e,t,n,o,s);i(c,r=>r?s(r):f(e,t,n,o,s))})}function u(e,t,n,r,i,a){Promise.resolve(i.filter(n,r)).then(o=>o?e(t,n,r,i,a):a(),e=>a(e))}function d(e,t,n,r,i){return r.filter?u(f,e,t,n,r,i):f(e,t,n,r,i)}function f(e,t,r,i,a){let o=i.dereference?n.stat:n.lstat;o(t,(n,o)=>n?a(n):o.isDirectory()?S(o,e,t,r,i,a):o.isFile()||o.isCharacterDevice()||o.isBlockDevice()?p(o,e,t,r,i,a):o.isSymbolicLink()?D(e,t,r,i,a):o.isSocket()?a(Error(`Cannot copy a socket file: ${t}`)):o.isFIFO()?a(Error(`Cannot copy a FIFO pipe: ${t}`)):a(Error(`Unknown file: ${t}`)))}function p(e,t,n,r,i,a){return t?m(e,n,r,i,a):h(e,n,r,i,a)}function m(e,t,r,i,a){if(i.overwrite)n.unlink(r,n=>n?a(n):h(e,t,r,i,a));else if(i.errorOnExist)return a(Error(`'${r}' already exists`));else return a()}function h(e,t,r,i,a){n.copyFile(t,r,n=>n?a(n):i.preserveTimestamps?g(e.mode,t,r,a):b(r,e.mode,a))}function g(e,t,n,r){return _(e)?v(n,e,i=>i?r(i):y(e,t,n,r)):y(e,t,n,r)}function _(e){return(e&128)==0}function v(e,t,n){return b(e,t|128,n)}function y(e,t,n,r){x(t,n,t=>t?r(t):b(n,e,r))}function b(e,t,r){return n.chmod(e,t,r)}function x(e,t,r){n.stat(e,(e,n)=>e?r(e):o(t,n.atime,n.mtime,r))}function S(e,t,n,r,i,a){return t?w(n,r,i,a):C(e.mode,n,r,i,a)}function C(e,t,r,i,a){n.mkdir(r,n=>{if(n)return a(n);w(t,r,i,t=>t?a(t):b(r,e,a))})}function w(e,t,r,i){n.readdir(e,(n,a)=>n?i(n):T(a,e,t,r,i))}function T(e,t,n,r,i){let a=e.pop();return a?E(e,a,t,n,r,i):i()}function E(e,t,n,i,a,o){let c=r.join(n,t),l=r.join(i,t);s.checkPaths(c,l,`copy`,a,(t,r)=>{if(t)return o(t);let{destStat:s}=r;d(s,c,l,a,t=>t?o(t):T(e,n,i,a,o))})}function D(e,t,i,a,o){n.readlink(t,(t,c)=>{if(t)return o(t);if(a.dereference&&(c=r.resolve(process.cwd(),c)),e)n.readlink(i,(t,l)=>t?t.code===`EINVAL`||t.code===`UNKNOWN`?n.symlink(c,i,o):o(t):(a.dereference&&(l=r.resolve(process.cwd(),l)),s.isSrcSubdir(c,l)?o(Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)):e.isDirectory()&&s.isSrcSubdir(l,c)?o(Error(`Cannot overwrite '${l}' with '${c}'.`)):O(c,i,o)));else return n.symlink(c,i,o)})}function O(e,t,r){n.unlink(t,i=>i?r(i):n.symlink(e,t,r))}t.exports=c}),Zl=o((exports,t)=>{let n=K(),r=require(`path`),i=Kl().mkdirsSync,a=Jl().utimesMillisSync,o=Yl();function s(e,t,n){typeof n==`function`&&(n={filter:n}),n||={},n.clobber=`clobber`in n?!!n.clobber:!0,n.overwrite=`overwrite`in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch===`ia32`&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
44
44
|
|
|
45
45
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0002`);let{srcStat:r,destStat:i}=o.checkPathsSync(e,t,`copy`,n);return o.checkParentPathsSync(e,r,t,`copy`),c(i,e,t,n)}function c(e,t,a,o){if(o.filter&&!o.filter(t,a))return;let s=r.dirname(a);return n.existsSync(s)||i(s),u(e,t,a,o)}function l(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return u(e,t,n,r)}function u(e,t,r,i){let a=i.dereference?n.statSync:n.lstatSync,o=a(t);if(o.isDirectory())return y(o,e,t,r,i);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return d(o,e,t,r,i);if(o.isSymbolicLink())return C(e,t,r,i);throw o.isSocket()?Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?Error(`Cannot copy a FIFO pipe: ${t}`):Error(`Unknown file: ${t}`)}function d(e,t,n,r,i){return t?f(e,n,r,i):p(e,n,r,i)}function f(e,t,r,i){if(i.overwrite)return n.unlinkSync(r),p(e,t,r,i);if(i.errorOnExist)throw Error(`'${r}' already exists`)}function p(e,t,r,i){return n.copyFileSync(t,r),i.preserveTimestamps&&m(e.mode,t,r),_(r,e.mode)}function m(e,t,n){return h(e)&&g(n,e),v(t,n)}function h(e){return(e&128)==0}function g(e,t){return _(e,t|128)}function _(e,t){return n.chmodSync(e,t)}function v(e,t){let r=n.statSync(e);return a(t,r.atime,r.mtime)}function y(e,t,n,r,i){return t?x(n,r,i):b(e.mode,n,r,i)}function b(e,t,r,i){return n.mkdirSync(r),x(t,r,i),_(r,e)}function x(e,t,r){n.readdirSync(e).forEach(n=>S(n,e,t,r))}function S(e,t,n,i){let a=r.join(t,e),s=r.join(n,e),{destStat:c}=o.checkPathsSync(a,s,`copy`,i);return l(c,a,s,i)}function C(e,t,i,a){let s=n.readlinkSync(t);if(a.dereference&&(s=r.resolve(process.cwd(),s)),e){let e;try{e=n.readlinkSync(i)}catch(e){if(e.code===`EINVAL`||e.code===`UNKNOWN`)return n.symlinkSync(s,i);throw e}if(a.dereference&&(e=r.resolve(process.cwd(),e)),o.isSrcSubdir(s,e))throw Error(`Cannot copy '${s}' to a subdirectory of itself, '${e}'.`);if(n.statSync(i).isDirectory()&&o.isSrcSubdir(e,s))throw Error(`Cannot overwrite '${e}' with '${s}'.`);return w(s,i)}else return n.symlinkSync(s,i)}function w(e,t){return n.unlinkSync(t),n.symlinkSync(e,t)}t.exports=s}),Ql=o((exports,t)=>{let n=Nt().fromCallback;t.exports={copy:n(Xl()),copySync:Zl()}}),$l=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}),eu=o((exports,t)=>{let n=K(),r=Nt().fromCallback,i=$l();function a(e,t){if(n.rm)return n.rm(e,{recursive:!0,force:!0},t);i(e,t)}function o(e){if(n.rmSync)return n.rmSync(e,{recursive:!0,force:!0});i.sync(e)}t.exports={remove:r(a),removeSync:o}}),tu=o((exports,t)=>{let n=Nt().fromPromise,r=Ul(),i=require(`path`),a=Kl(),o=eu(),s=n(async function(e){let t;try{t=await r.readdir(e)}catch{return a.mkdirs(e)}return Promise.all(t.map(t=>o.remove(i.join(e,t))))});function c(e){let t;try{t=r.readdirSync(e)}catch{return a.mkdirsSync(e)}t.forEach(t=>{t=i.join(e,t),o.removeSync(t)})}t.exports={emptyDirSync:c,emptydirSync:c,emptyDir:s,emptydir:s}}),nu=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=K(),a=Kl();function o(e,t){function n(){i.writeFile(e,``,e=>{if(e)return t(e);t()})}i.stat(e,(o,s)=>{if(!o&&s.isFile())return t();let c=r.dirname(e);i.stat(c,(e,r)=>{if(e)return e.code===`ENOENT`?a.mkdirs(c,e=>{if(e)return t(e);n()}):t(e);r.isDirectory()?n():i.readdir(c,e=>{if(e)return t(e)})})})}function s(e){let t;try{t=i.statSync(e)}catch{}if(t&&t.isFile())return;let n=r.dirname(e);try{i.statSync(n).isDirectory()||i.readdirSync(n)}catch(e){if(e&&e.code===`ENOENT`)a.mkdirsSync(n);else throw e}i.writeFileSync(e,``)}t.exports={createFile:n(o),createFileSync:s}}),ru=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=K(),a=Kl(),o=ql().pathExists,{areIdentical:s}=Yl();function c(e,t,n){function c(e,t){i.link(e,t,e=>{if(e)return n(e);n(null)})}i.lstat(t,(l,u)=>{i.lstat(e,(i,l)=>{if(i)return i.message=i.message.replace(`lstat`,`ensureLink`),n(i);if(u&&s(l,u))return n(null);let d=r.dirname(t);o(d,(r,i)=>{if(r)return n(r);if(i)return c(e,t);a.mkdirs(d,r=>{if(r)return n(r);c(e,t)})})})})}function l(e,t){let n;try{n=i.lstatSync(t)}catch{}try{let t=i.lstatSync(e);if(n&&s(t,n))return}catch(e){throw e.message=e.message.replace(`lstat`,`ensureLink`),e}let o=r.dirname(t),c=i.existsSync(o);return c||a.mkdirsSync(o),i.linkSync(e,t)}t.exports={createLink:n(c),createLinkSync:l}}),iu=o((exports,t)=>{let n=require(`path`),r=K(),i=ql().pathExists;function a(e,t,a){if(n.isAbsolute(e))return r.lstat(e,t=>t?(t.message=t.message.replace(`lstat`,`ensureSymlink`),a(t)):a(null,{toCwd:e,toDst:e}));{let o=n.dirname(t),s=n.join(o,e);return i(s,(t,i)=>t?a(t):i?a(null,{toCwd:s,toDst:e}):r.lstat(e,t=>t?(t.message=t.message.replace(`lstat`,`ensureSymlink`),a(t)):a(null,{toCwd:e,toDst:n.relative(o,e)})))}}function o(e,t){let i;if(n.isAbsolute(e)){if(i=r.existsSync(e),!i)throw Error(`absolute srcpath does not exist`);return{toCwd:e,toDst:e}}else{let a=n.dirname(t),o=n.join(a,e);if(i=r.existsSync(o),i)return{toCwd:o,toDst:e};if(i=r.existsSync(e),!i)throw Error(`relative srcpath does not exist`);return{toCwd:e,toDst:n.relative(a,e)}}}t.exports={symlinkPaths:a,symlinkPathsSync:o}}),au=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}}),ou=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=Ul(),a=Kl(),o=a.mkdirs,s=a.mkdirsSync,c=iu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=au(),f=d.symlinkType,p=d.symlinkTypeSync,m=ql().pathExists,{areIdentical:h}=Yl();function g(e,t,n,r){r=typeof n==`function`?n:r,n=typeof n==`function`?!1:n,i.lstat(t,(a,o)=>{!a&&o.isSymbolicLink()?Promise.all([i.stat(e),i.stat(t)]).then(([i,a])=>{if(h(i,a))return r(null);_(e,t,n,r)}):_(e,t,n,r)})}function _(e,t,n,a){l(e,t,(s,c)=>{if(s)return a(s);e=c.toDst,f(c.toCwd,n,(n,s)=>{if(n)return a(n);let c=r.dirname(t);m(c,(n,r)=>{if(n)return a(n);if(r)return i.symlink(e,t,s,a);o(c,n=>{if(n)return a(n);i.symlink(e,t,s,a)})})})})}function v(e,t,n){let a;try{a=i.lstatSync(t)}catch{}if(a&&a.isSymbolicLink()){let n=i.statSync(e),r=i.statSync(t);if(h(n,r))return}let o=u(e,t);e=o.toDst,n=p(o.toCwd,n);let c=r.dirname(t),l=i.existsSync(c);return l||s(c),i.symlinkSync(e,t,n)}t.exports={createSymlink:n(g),createSymlinkSync:v}}),su=o((exports,t)=>{let{createFile:n,createFileSync:r}=nu(),{createLink:i,createLinkSync:a}=ru(),{createSymlink:o,createSymlinkSync:s}=ou();t.exports={createFile:n,createFileSync:r,ensureFile:n,ensureFileSync:r,createLink:i,createLinkSync:a,ensureLink:i,ensureLinkSync:a,createSymlink:o,createSymlinkSync:s,ensureSymlink:o,ensureSymlinkSync:s}}),cu=o((exports,t)=>{let n=Ft();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),lu=o((exports,t)=>{let n=Nt().fromCallback,r=K(),i=require(`path`),a=Kl(),o=ql().pathExists;function s(e,t,n,s){typeof n==`function`&&(s=n,n=`utf8`);let c=i.dirname(e);o(c,(i,o)=>{if(i)return s(i);if(o)return r.writeFile(e,t,n,s);a.mkdirs(c,i=>{if(i)return s(i);r.writeFile(e,t,n,s)})})}function c(e,...t){let n=i.dirname(e);if(r.existsSync(n))return r.writeFileSync(e,...t);a.mkdirsSync(n),r.writeFileSync(e,...t)}t.exports={outputFile:n(s),outputFileSync:c}}),uu=o((exports,t)=>{let{stringify:n}=Pt(),{outputFile:r}=lu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),du=o((exports,t)=>{let{stringify:n}=Pt(),{outputFileSync:r}=lu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),fu=o((exports,t)=>{let n=Nt().fromPromise,r=cu();r.outputJson=n(uu()),r.outputJsonSync=du(),r.outputJSON=r.outputJson,r.outputJSONSync=r.outputJsonSync,r.writeJSON=r.writeJson,r.writeJSONSync=r.writeJsonSync,r.readJSON=r.readJson,r.readJSONSync=r.readJsonSync,t.exports=r}),pu=o((exports,t)=>{let n=K(),r=require(`path`),i=Ql().copy,a=eu().remove,o=Kl().mkdirp,s=ql().pathExists,c=Yl();function l(e,t,n,i){typeof n==`function`&&(i=n,n={}),n||={};let a=n.overwrite||n.clobber||!1;c.checkPaths(e,t,`move`,n,(n,s)=>{if(n)return i(n);let{srcStat:l,isChangingCase:f=!1}=s;c.checkParentPaths(e,l,t,`move`,n=>{if(n)return i(n);if(u(t))return d(e,t,a,f,i);o(r.dirname(t),n=>n?i(n):d(e,t,a,f,i))})})}function u(e){let t=r.dirname(e),n=r.parse(t);return n.root===t}function d(e,t,n,r,i){if(r)return f(e,t,n,i);if(n)return a(t,r=>r?i(r):f(e,t,n,i));s(t,(r,a)=>r?i(r):a?i(Error(`dest already exists.`)):f(e,t,n,i))}function f(e,t,r,i){n.rename(e,t,n=>n?n.code===`EXDEV`?p(e,t,r,i):i(n):i())}function p(e,t,n,r){let o={overwrite:n,errorOnExist:!0};i(e,t,o,t=>t?r(t):a(e,r))}t.exports=l}),mu=o((exports,t)=>{let n=K(),r=require(`path`),i=Ql().copySync,a=eu().removeSync,o=Kl().mkdirpSync,s=Yl();function c(e,t,n){n||={};let i=n.overwrite||n.clobber||!1,{srcStat:a,isChangingCase:c=!1}=s.checkPathsSync(e,t,`move`,n);return s.checkParentPathsSync(e,a,t,`move`),l(t)||o(r.dirname(t)),u(e,t,i,c)}function l(e){let t=r.dirname(e),n=r.parse(t);return n.root===t}function u(e,t,r,i){if(i)return d(e,t,r);if(r)return a(t),d(e,t,r);if(n.existsSync(t))throw Error(`dest already exists.`);return d(e,t,r)}function d(e,t,r){try{n.renameSync(e,t)}catch(n){if(n.code!==`EXDEV`)throw n;return f(e,t,r)}}function f(e,t,n){let r={overwrite:n,errorOnExist:!0};return i(e,t,r),a(e)}t.exports=c}),hu=o((exports,t)=>{let n=Nt().fromCallback;t.exports={move:n(pu()),moveSync:mu()}}),gu=o((exports,t)=>{t.exports={...Ul(),...Ql(),...tu(),...su(),...fu(),...Kl(),...hu(),...lu(),...ql(),...eu()}}),$=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},_u=c(gu());const vu=/^(?!_)(?<manager>.+)@(?<version>.+)$/,yu=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`,`aube`]),bu=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function xu({workspaceRoot:e}){let t=d.default.join(e,`package.json`);try{return(0,_u.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new $(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new $(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function Su({workspaceRoot:e}){let t=xu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=vu.exec(n);if(e){let t=e.groups?.manager;return Cu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw wu("`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 wu("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw wu('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw wu("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw wu("`devEngines.packageManager.name` must be a string");if(o.length===0)throw wu("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw wu("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Cu(o))throw wu("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, `nub`, or `aube`");if(!(`version`in a))throw wu("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw wu("`devEngines.packageManager.version` must be a string");if(s.length===0)throw wu("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw wu("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!bu.test(s)||j.default.valid(s)===null)throw wu("`devEngines.packageManager.version` must be an exact semantic version");return o}function Cu(e){return typeof e==`string`&&yu.has(e)}function wu(e){return new $(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Tu(e){if(!e)return;let t=vu.exec(e),n=t?.groups?.manager;return Cu(n)?n:void 0}function Eu({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 Du({packageJson:e,packageManager:t}){Tu(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Ou(n)&&n.name===t&&delete e.devEngines?.packageManager}function Ou(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Cu(e.name)&&`version`in e&&typeof e.version==`string`}function ku({workspaceRoot:e}){let t=xu({workspaceRoot:e}),n=d.default.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Au({workspaceRoot:e}){return Mu({workspaceRoot:e,workspaceFileName:`pnpm-workspace.yaml`})}function ju({workspaceRoot:e}){return Mu({workspaceRoot:e,workspaceFileName:`aube-workspace.yaml`})}function Mu({workspaceRoot:e,workspaceFileName:t}){let n=d.default.join(e,t);if((0,_u.existsSync)(n))try{let e=h.default.load((0,_u.readFileSync)(n,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new $(`failed to parse ${n}`,{type:`pnpm-workspace_parse_error`})}return[]}function Nu({root:e,lockFile:t,workspaceConfig:n}){let r=t=>d.default.join(e,t),i={root:e,lockfile:r(t),packageJson:r(`package.json`),nodeModules:r(`node_modules`)};return n&&(i.workspaceConfig=r(n)),i}function Pu({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function Fu({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}=ku({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:d.default.join(t,`node_modules`)}}})}const Iu=[{manager:`bun`,lockfiles:[`bun.lock`,`bun.lockb`]},{manager:`pnpm`,lockfiles:[`aube-lock.yaml`,`pnpm-lock.yaml`]},{manager:`yarn`,lockfiles:[`yarn.lock`]},{manager:`npm`,lockfiles:[`package-lock.json`]}];function Lu({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Iu)if(n.some(t=>(0,_u.existsSync)(d.default.join(e,t))))return t;return`npm`}function Ru({workspaceRoot:e}){let t=Lu({workspaceRoot:e});switch(t){case`bun`:return(0,_u.existsSync)(d.default.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return(0,_u.existsSync)(d.default.join(e,`aube-lock.yaml`))?`aube-lock.yaml`:`pnpm-lock.yaml`;case`yarn`:return`yarn.lock`;case`npm`:return`package-lock.json`}}function zu({directory:e}){let t=d.default.resolve(process.cwd(),e);return{exists:(0,_u.existsSync)(t),absolute:t}}function Bu({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 Vu({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 Hu({project:e,options:t}){t?.dry||(0,_u.rmSync)(e.paths.lockfile,{force:!0})}async function Uu({project:e,options:t}){if(!t?.dry&&(0,_u.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,_u.writeFile)(d.default.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,_u.rmSync)(e.paths.lockfile,{force:!0})}}var Wu=c(gu());function Gu({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 Ku({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=xu({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}=Gu({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||Wu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2})}var qu=c(gu());const Ju={name:`npm`,lock:`package-lock.json`};async function Yu(e){let t=d.default.join(e.workspaceRoot,Ju.lock),n=Su({workspaceRoot:e.workspaceRoot});return qu.default.existsSync(t)||n===Ju.name}async function Xu(e){let t=await Yu(e);if(!t)throw new $(`Not an npm project`,{type:`package_manager-unexpected`});let n=xu(e),{name:r,description:i}=ku(e),a=Pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Ju.name,paths:Nu({root:e.workspaceRoot,lockFile:Ju.lock}),workspaceData:{globs:a,workspaces:Fu({workspaceGlobs:a,...e})}}}async function Zu(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Bu({packageManager:Ju.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||qu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||qu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Qu(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({packageManager:Ju.name,action:`remove`,project:t}));let a=xu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Ju.name} package manager declarations in ${t.name} root "package.json"`),Du({packageJson:a,packageManager:Ju.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 $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function $u(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 ed(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Hu({project:t,options:n});break;case`bun`:Hu({project:t,options:n});break;case`npm`:break;case`yarn`:Hu({project:t,options:n});break;case`nub`:Hu({project:t,options:n});break;case`aube`:Hu({project:t,options:n});break}}const td={detect:Yu,read:Xu,create:Zu,remove:Qu,clean:$u,convertLock:ed};var nd=c(gu());const rd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function id(e){let t=d.default.join(e.workspaceRoot,rd.lock),n=d.default.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=Su({workspaceRoot:e.workspaceRoot});return nd.default.existsSync(t)||nd.default.existsSync(n)||r===rd.name}async function ad(e){let t=await id(e);if(!t)throw new $(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=ku(e);return{name:n,description:r,packageManager:rd.name,paths:Nu({root:e.workspaceRoot,lockFile:rd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Au(e),workspaces:Fu({workspaceGlobs:Au(e),...e})}}}async function od(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Bu({action:`create`,packageManager:rd.name,project:t}));let o=xu({workspaceRoot:t.paths.root});if(r.rootHeader(),Eu({packageJson:o,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(nd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),a&&(r.rootStep(`adding "pnpm-workspace.yaml"`),nd.default.writeFileSync(d.default.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
|
|
46
|
-
`)}`))),a){Ku({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:n,logger:r,options:i})}}async function sd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({action:`remove`,packageManager:rd.name,project:t}));let a=xu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||nd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${rd.name} package manager declarations in ${t.name} root "package.json"`),Du({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 $(`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 ${d.default.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,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${rd.lock}`)},a=async()=>{if(!n?.dry&&nd.default.existsSync(t.paths.lockfile))try{await(0,b.default)(rd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{Hu({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await Uu({project:t,options:n}),await a(),nd.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`:Hu({project:t,options:n});break;case`aube`:Hu({project:t,options:n});break}}const ud={detect:id,read:ad,create:od,remove:sd,clean:cd,convertLock:ld};var dd=c(gu());const fd={name:`yarn`,lock:`yarn.lock`};async function pd(e){let t=d.default.join(e.workspaceRoot,fd.lock),n=Su({workspaceRoot:e.workspaceRoot});return dd.default.existsSync(t)||n===fd.name}async function md(e){let t=await pd(e);if(!t)throw new $(`Not a yarn project`,{type:`package_manager-unexpected`});let n=xu(e),{name:r,description:i}=ku(e),a=Pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:fd.name,paths:Nu({root:e.workspaceRoot,lockFile:fd.lock}),workspaceData:{globs:a,workspaces:Fu({workspaceGlobs:a,...e})}}}async function hd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Bu({packageManager:fd.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||dd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||dd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function gd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({packageManager:fd.name,action:`remove`,project:t}));let a=xu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${fd.name} package manager declarations in ${t.name} root "package.json"`),Du({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 $(`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 ${d.default.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 ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${fd.lock}`)};switch(t.packageManager){case`pnpm`:Hu({project:t,options:n});break;case`bun`:i(),await Uu({project:t,options:n});break;case`npm`:Hu({project:t,options:n});break;case`yarn`:break;case`nub`:Hu({project:t,options:n});break;case`aube`:Hu({project:t,options:n});break}}const yd={detect:pd,read:md,create:hd,remove:gd,clean:_d,convertLock:vd};var bd=c(gu());const xd={name:`bun`,lock:`bun.lockb`};async function Sd(e){let t=d.default.join(e.workspaceRoot,xd.lock),n=Su({workspaceRoot:e.workspaceRoot});return bd.default.existsSync(t)||n===xd.name}async function Cd(e){let t=await Sd(e);if(!t)throw new $(`Not a bun project`,{type:`package_manager-unexpected`});let n=xu(e),{name:r,description:i}=ku(e),a=Pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:xd.name,paths:Nu({root:e.workspaceRoot,lockFile:xd.lock}),workspaceData:{globs:a,workspaces:Fu({workspaceGlobs:a,...e})}}}async function wd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;if(!Vu({project:t}))throw new $(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Bu({packageManager:xd.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||bd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||bd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Td(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({packageManager:xd.name,action:`remove`,project:t}));let a=xu({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"`),Du({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 $(`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 ${d.default.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}=e;switch(t.packageManager){case`pnpm`:Hu({project:t,options:n});break;case`bun`:break;case`npm`:Hu({project:t,options:n});break;case`yarn`:Hu({project:t,options:n});break;case`nub`:Hu({project:t,options:n});break;case`aube`:Hu({project:t,options:n});break}}const Od={detect:Sd,read:Cd,create:wd,remove:Td,clean:Ed,convertLock:Dd};var kd=c(gu());const Ad={name:`aube`,lock:`package-lock.json`},jd={npm:td,pnpm:ud,yarn:yd,bun:Od};async function Md(e){return Su({workspaceRoot:e.workspaceRoot})===Ad.name}async function Nd(e){if(!await Md(e))throw new $(`Not an aube project`,{type:`package_manager-unexpected`});let t=Lu({workspaceRoot:e.workspaceRoot}),n=jd[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:Ad.name}}let r=xu(e),{name:i,description:a}=ku(e),o=Ru({workspaceRoot:e.workspaceRoot}),s=ju(e),c,l=Pu({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:Ad.name,paths:Nu({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:Fu({workspaceGlobs:l,...e})}}}async function Pd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Bu({packageManager:Ad.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||kd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||kd.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(Bu({packageManager:Ad.name,action:`remove`,project:t}));let a=xu({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"`),Du({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)];await Promise.all(e.map(e=>kd.default.rm(e,{recursive:!0,force:!0})))}}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||kd.default.rmSync(t.paths.lockfile,{force:!0})}async function Ld(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Hu({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const Rd={detect:Md,read:Nd,create:Pd,remove:Fd,clean:Id,convertLock:Ld};var zd=c(gu());const Bd={name:`nub`,lock:`package-lock.json`},Vd={npm:td,pnpm:ud,yarn:yd,bun:Od};async function Hd(e){let t=Su({workspaceRoot:e.workspaceRoot});return t===Bd.name}async function Ud(e){let t=await Hd(e);if(!t)throw new $(`Not a nub project`,{type:`package_manager-unexpected`});let n=Lu({workspaceRoot:e.workspaceRoot}),r=Vd[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:Bd.name}}let i=xu(e),{name:a,description:o}=ku(e),s=Ru({workspaceRoot:e.workspaceRoot}),c=Au(e),l=n===`pnpm`&&c.length>0?c:Pu({workspaces:i.workspaces});return{name:a,description:o,packageManager:Bd.name,paths:Nu({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:Fu({workspaceGlobs:l,...e})}}}async function Wd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Bu({packageManager:Bd.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||zd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||zd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Gd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({packageManager:Bd.name,action:`remove`,project:t}));let a=xu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Bd.name} package manager declarations in ${t.name} root "package.json"`),Du({packageJson:a,packageManager:Bd.name}),!r?.dry){zd.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=>zd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Kd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||zd.default.rmSync(t.paths.lockfile,{force:!0})}async function qd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Hu({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const Jd={detect:Hd,read:Ud,create:Wd,remove:Gd,clean:Kd,convertLock:qd},Yd={aube:Rd,nub:Jd,pnpm:ud,yarn:yd,npm:td,bun:Od};async function Xd({root:e}){let{exists:t,absolute:n}=zu({directory:e});if(!t)throw new $(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(Yd))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new $("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 Zd={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}],aube:[{name:`aube`,template:`aube`,command:`aube`,installArgs:[`install`],version:`latest`,executable:`aube`,semver:`*`,default:!0}]};function Qd(e){let{version:t,name:n}=e;return t?Zd[n].find(e=>(0,j.satisfies)(t,e.semver)):Zd[n].find(e=>e.default)}async function $d(e){let{to:t,logger:n,options:r}=e,i=n??new Hl(r),a=Qd(t);if(!a)throw new $(`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 ef({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 $(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!t.version)throw new $(`${t.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let i=t;r?.ignoreUnchangedPackageManager||await Yd[e.packageManager].remove({project:e,to:i,logger:n,options:r}),await Yd[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 Yd[i.name].convertLock({project:e,to:i,logger:n,options:r}),await $d({project:e,to:i,logger:n,options:r})),n.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==t.name&&await Yd[e.packageManager].clean({project:e,logger:n,options:r})}Object.defineProperty(exports,`ConvertError`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`Logger`,{enumerable:!0,get:function(){return Hl}}),Object.defineProperty(exports,`MANAGERS`,{enumerable:!0,get:function(){return Yd}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`convertProject`,{enumerable:!0,get:function(){return ef}}),Object.defineProperty(exports,`createNotifyUpdate`,{enumerable:!0,get:function(){return Bl}}),Object.defineProperty(exports,`directoryInfo`,{enumerable:!0,get:function(){return zu}}),Object.defineProperty(exports,`getAvailablePackageManagers`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`getPackageManagerMeta`,{enumerable:!0,get:function(){return Qd}}),Object.defineProperty(exports,`getWorkspaceDetails`,{enumerable:!0,get:function(){return Xd}}),Object.defineProperty(exports,`install`,{enumerable:!0,get:function(){return $d}}),Object.defineProperty(exports,`log`,{enumerable:!0,get:function(){return ht}});
|
|
46
|
+
`)}`))),a){Ku({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:n,logger:r,options:i})}}async function sd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({action:`remove`,packageManager:rd.name,project:t}));let a=xu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||nd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${rd.name} package manager declarations in ${t.name} root "package.json"`),Du({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 $(`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 ${d.default.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,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${rd.lock}`)},a=async()=>{if(!n?.dry&&nd.default.existsSync(t.paths.lockfile))try{await(0,b.default)(rd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{Hu({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await Uu({project:t,options:n}),await a(),nd.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`:Hu({project:t,options:n});break;case`aube`:Hu({project:t,options:n});break}}const ud={detect:id,read:ad,create:od,remove:sd,clean:cd,convertLock:ld};var dd=c(gu());const fd={name:`yarn`,lock:`yarn.lock`};async function pd(e){let t=d.default.join(e.workspaceRoot,fd.lock),n=Su({workspaceRoot:e.workspaceRoot});return dd.default.existsSync(t)||n===fd.name}async function md(e){let t=await pd(e);if(!t)throw new $(`Not a yarn project`,{type:`package_manager-unexpected`});let n=xu(e),{name:r,description:i}=ku(e),a=Pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:fd.name,paths:Nu({root:e.workspaceRoot,lockFile:fd.lock}),workspaceData:{globs:a,workspaces:Fu({workspaceGlobs:a,...e})}}}async function hd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Bu({packageManager:fd.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||dd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||dd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function gd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({packageManager:fd.name,action:`remove`,project:t}));let a=xu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${fd.name} package manager declarations in ${t.name} root "package.json"`),Du({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 $(`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 ${d.default.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 ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${fd.lock}`)};switch(t.packageManager){case`pnpm`:Hu({project:t,options:n});break;case`bun`:i(),await Uu({project:t,options:n});break;case`npm`:Hu({project:t,options:n});break;case`yarn`:break;case`nub`:Hu({project:t,options:n});break;case`aube`:Hu({project:t,options:n});break}}const yd={detect:pd,read:md,create:hd,remove:gd,clean:_d,convertLock:vd};var bd=c(gu());const xd={name:`bun`,lock:`bun.lockb`};async function Sd(e){let t=d.default.join(e.workspaceRoot,xd.lock),n=Su({workspaceRoot:e.workspaceRoot});return bd.default.existsSync(t)||n===xd.name}async function Cd(e){let t=await Sd(e);if(!t)throw new $(`Not a bun project`,{type:`package_manager-unexpected`});let n=xu(e),{name:r,description:i}=ku(e),a=Pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:xd.name,paths:Nu({root:e.workspaceRoot,lockFile:xd.lock}),workspaceData:{globs:a,workspaces:Fu({workspaceGlobs:a,...e})}}}async function wd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;if(!Vu({project:t}))throw new $(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Bu({packageManager:xd.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||bd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||bd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Td(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({packageManager:xd.name,action:`remove`,project:t}));let a=xu({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"`),Du({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 $(`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 ${d.default.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}=e;switch(t.packageManager){case`pnpm`:Hu({project:t,options:n});break;case`bun`:break;case`npm`:Hu({project:t,options:n});break;case`yarn`:Hu({project:t,options:n});break;case`nub`:Hu({project:t,options:n});break;case`aube`:Hu({project:t,options:n});break}}const Od={detect:Sd,read:Cd,create:wd,remove:Td,clean:Ed,convertLock:Dd};var kd=c(gu());const Ad={name:`aube`,lock:`package-lock.json`},jd={npm:td,pnpm:ud,yarn:yd,bun:Od};async function Md(e){return Su({workspaceRoot:e.workspaceRoot})===Ad.name}async function Nd(e){if(!await Md(e))throw new $(`Not an aube project`,{type:`package_manager-unexpected`});let t=Lu({workspaceRoot:e.workspaceRoot}),n=jd[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:Ad.name}}let r=xu(e),{name:i,description:a}=ku(e),o=Ru({workspaceRoot:e.workspaceRoot}),s=ju(e),c,l=Pu({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:Ad.name,paths:Nu({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:Fu({workspaceGlobs:l,...e})}}}async function Pd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Bu({packageManager:Ad.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||kd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||kd.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(Bu({packageManager:Ad.name,action:`remove`,project:t}));let a=xu({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"`),Du({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)];await Promise.all(e.map(e=>kd.default.rm(e,{recursive:!0,force:!0})))}}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||kd.default.rmSync(t.paths.lockfile,{force:!0})}async function Ld(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Hu({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const Rd={detect:Md,read:Nd,create:Pd,remove:Fd,clean:Id,convertLock:Ld};var zd=c(gu());const Bd={name:`nub`,lock:`package-lock.json`},Vd={npm:td,pnpm:ud,yarn:yd,bun:Od};async function Hd(e){let t=Su({workspaceRoot:e.workspaceRoot});return t===Bd.name}async function Ud(e){let t=await Hd(e);if(!t)throw new $(`Not a nub project`,{type:`package_manager-unexpected`});let n=Lu({workspaceRoot:e.workspaceRoot}),r=Vd[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:Bd.name}}let i=xu(e),{name:a,description:o}=ku(e),s=Ru({workspaceRoot:e.workspaceRoot}),c=Au(e),l=n===`pnpm`&&c.length>0?c:Pu({workspaces:i.workspaces});return{name:a,description:o,packageManager:Bd.name,paths:Nu({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:Fu({workspaceGlobs:l,...e})}}}async function Wd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Bu({packageManager:Bd.name,action:`create`,project:t}));let o=xu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Eu({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||zd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Ku({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Ku({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||zd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Gd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Bu({packageManager:Bd.name,action:`remove`,project:t}));let a=xu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Bd.name} package manager declarations in ${t.name} root "package.json"`),Du({packageJson:a,packageManager:Bd.name}),!r?.dry){zd.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=>zd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Kd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||zd.default.rmSync(t.paths.lockfile,{force:!0})}async function qd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Hu({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const Jd={detect:Hd,read:Ud,create:Wd,remove:Gd,clean:Kd,convertLock:qd},Yd={aube:Rd,nub:Jd,pnpm:ud,yarn:yd,npm:td,bun:Od};async function Xd({root:e}){let{exists:t,absolute:n}=zu({directory:e});if(!t)throw new $(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(Yd))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new $("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 Zd={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 exec`,semver:`*`,default:!0}],aube:[{name:`aube`,template:`aube`,command:`aube`,installArgs:[`install`],version:`latest`,executable:`aube`,semver:`*`,default:!0}]};function Qd(e){let{version:t,name:n}=e;return t?Zd[n].find(e=>(0,j.satisfies)(t,e.semver)):Zd[n].find(e=>e.default)}async function $d(e){let{to:t,logger:n,options:r}=e,i=n??new Hl(r),a=Qd(t);if(!a)throw new $(`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 ef({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 $(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!t.version)throw new $(`${t.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let i=t;r?.ignoreUnchangedPackageManager||await Yd[e.packageManager].remove({project:e,to:i,logger:n,options:r}),await Yd[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 Yd[i.name].convertLock({project:e,to:i,logger:n,options:r}),await $d({project:e,to:i,logger:n,options:r})),n.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==t.name&&await Yd[e.packageManager].clean({project:e,logger:n,options:r})}Object.defineProperty(exports,`ConvertError`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`Logger`,{enumerable:!0,get:function(){return Hl}}),Object.defineProperty(exports,`MANAGERS`,{enumerable:!0,get:function(){return Yd}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`convertProject`,{enumerable:!0,get:function(){return ef}}),Object.defineProperty(exports,`createNotifyUpdate`,{enumerable:!0,get:function(){return Bl}}),Object.defineProperty(exports,`directoryInfo`,{enumerable:!0,get:function(){return zu}}),Object.defineProperty(exports,`getAvailablePackageManagers`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`getPackageManagerMeta`,{enumerable:!0,get:function(){return Qd}}),Object.defineProperty(exports,`getWorkspaceDetails`,{enumerable:!0,get:function(){return Xd}}),Object.defineProperty(exports,`install`,{enumerable:!0,get:function(){return $d}}),Object.defineProperty(exports,`log`,{enumerable:!0,get:function(){return ht}});
|
|
@@ -43,4 +43,4 @@ ${e.format(t)}
|
|
|
43
43
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0001`),s.checkPaths(e,t,`copy`,n,(i,a)=>{if(i)return r(i);let{srcStat:o,destStat:c}=a;s.checkParentPaths(e,o,t,`copy`,i=>i?r(i):n.filter?u(l,c,e,t,n,r):l(c,e,t,n,r))})}function l(e,t,n,o,s){let c=r.dirname(n);a(c,(r,a)=>{if(r)return s(r);if(a)return f(e,t,n,o,s);i(c,r=>r?s(r):f(e,t,n,o,s))})}function u(e,t,n,r,i,a){Promise.resolve(i.filter(n,r)).then(o=>o?e(t,n,r,i,a):a(),e=>a(e))}function d(e,t,n,r,i){return r.filter?u(f,e,t,n,r,i):f(e,t,n,r,i)}function f(e,t,r,i,a){let o=i.dereference?n.stat:n.lstat;o(t,(n,o)=>n?a(n):o.isDirectory()?S(o,e,t,r,i,a):o.isFile()||o.isCharacterDevice()||o.isBlockDevice()?p(o,e,t,r,i,a):o.isSymbolicLink()?D(e,t,r,i,a):o.isSocket()?a(Error(`Cannot copy a socket file: ${t}`)):o.isFIFO()?a(Error(`Cannot copy a FIFO pipe: ${t}`)):a(Error(`Unknown file: ${t}`)))}function p(e,t,n,r,i,a){return t?m(e,n,r,i,a):h(e,n,r,i,a)}function m(e,t,r,i,a){if(i.overwrite)n.unlink(r,n=>n?a(n):h(e,t,r,i,a));else if(i.errorOnExist)return a(Error(`'${r}' already exists`));else return a()}function h(e,t,r,i,a){n.copyFile(t,r,n=>n?a(n):i.preserveTimestamps?g(e.mode,t,r,a):b(r,e.mode,a))}function g(e,t,n,r){return _(e)?v(n,e,i=>i?r(i):y(e,t,n,r)):y(e,t,n,r)}function _(e){return(e&128)==0}function v(e,t,n){return b(e,t|128,n)}function y(e,t,n,r){x(t,n,t=>t?r(t):b(n,e,r))}function b(e,t,r){return n.chmod(e,t,r)}function x(e,t,r){n.stat(e,(e,n)=>e?r(e):o(t,n.atime,n.mtime,r))}function S(e,t,n,r,i,a){return t?w(n,r,i,a):C(e.mode,n,r,i,a)}function C(e,t,r,i,a){n.mkdir(r,n=>{if(n)return a(n);w(t,r,i,t=>t?a(t):b(r,e,a))})}function w(e,t,r,i){n.readdir(e,(n,a)=>n?i(n):T(a,e,t,r,i))}function T(e,t,n,r,i){let a=e.pop();return a?E(e,a,t,n,r,i):i()}function E(e,t,n,i,a,o){let c=r.join(n,t),l=r.join(i,t);s.checkPaths(c,l,`copy`,a,(t,r)=>{if(t)return o(t);let{destStat:s}=r;d(s,c,l,a,t=>t?o(t):T(e,n,i,a,o))})}function D(e,t,i,a,o){n.readlink(t,(t,c)=>{if(t)return o(t);if(a.dereference&&(c=r.resolve(process.cwd(),c)),e)n.readlink(i,(t,l)=>t?t.code===`EINVAL`||t.code===`UNKNOWN`?n.symlink(c,i,o):o(t):(a.dereference&&(l=r.resolve(process.cwd(),l)),s.isSrcSubdir(c,l)?o(Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)):e.isDirectory()&&s.isSrcSubdir(l,c)?o(Error(`Cannot overwrite '${l}' with '${c}'.`)):O(c,i,o)));else return n.symlink(c,i,o)})}function O(e,t,r){n.unlink(t,i=>i?r(i):n.symlink(e,t,r))}t.exports=c}),lu=z((exports,t)=>{let n=J(),r=V(`path`),i=iu().mkdirsSync,a=ou().utimesMillisSync,o=su();function s(e,t,n){typeof n==`function`&&(n={filter:n}),n||={},n.clobber=`clobber`in n?!!n.clobber:!0,n.overwrite=`overwrite`in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch===`ia32`&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
44
44
|
|
|
45
45
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0002`);let{srcStat:r,destStat:i}=o.checkPathsSync(e,t,`copy`,n);return o.checkParentPathsSync(e,r,t,`copy`),c(i,e,t,n)}function c(e,t,a,o){if(o.filter&&!o.filter(t,a))return;let s=r.dirname(a);return n.existsSync(s)||i(s),u(e,t,a,o)}function l(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return u(e,t,n,r)}function u(e,t,r,i){let a=i.dereference?n.statSync:n.lstatSync,o=a(t);if(o.isDirectory())return y(o,e,t,r,i);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return d(o,e,t,r,i);if(o.isSymbolicLink())return C(e,t,r,i);throw o.isSocket()?Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?Error(`Cannot copy a FIFO pipe: ${t}`):Error(`Unknown file: ${t}`)}function d(e,t,n,r,i){return t?f(e,n,r,i):p(e,n,r,i)}function f(e,t,r,i){if(i.overwrite)return n.unlinkSync(r),p(e,t,r,i);if(i.errorOnExist)throw Error(`'${r}' already exists`)}function p(e,t,r,i){return n.copyFileSync(t,r),i.preserveTimestamps&&m(e.mode,t,r),_(r,e.mode)}function m(e,t,n){return h(e)&&g(n,e),v(t,n)}function h(e){return(e&128)==0}function g(e,t){return _(e,t|128)}function _(e,t){return n.chmodSync(e,t)}function v(e,t){let r=n.statSync(e);return a(t,r.atime,r.mtime)}function y(e,t,n,r,i){return t?x(n,r,i):b(e.mode,n,r,i)}function b(e,t,r,i){return n.mkdirSync(r),x(t,r,i),_(r,e)}function x(e,t,r){n.readdirSync(e).forEach(n=>S(n,e,t,r))}function S(e,t,n,i){let a=r.join(t,e),s=r.join(n,e),{destStat:c}=o.checkPathsSync(a,s,`copy`,i);return l(c,a,s,i)}function C(e,t,i,a){let s=n.readlinkSync(t);if(a.dereference&&(s=r.resolve(process.cwd(),s)),e){let e;try{e=n.readlinkSync(i)}catch(e){if(e.code===`EINVAL`||e.code===`UNKNOWN`)return n.symlinkSync(s,i);throw e}if(a.dereference&&(e=r.resolve(process.cwd(),e)),o.isSrcSubdir(s,e))throw Error(`Cannot copy '${s}' to a subdirectory of itself, '${e}'.`);if(n.statSync(i).isDirectory()&&o.isSrcSubdir(e,s))throw Error(`Cannot overwrite '${e}' with '${s}'.`);return w(s,i)}else return n.symlinkSync(s,i)}function w(e,t){return n.unlinkSync(t),n.symlinkSync(e,t)}t.exports=s}),uu=z((exports,t)=>{let n=Wt().fromCallback;t.exports={copy:n(cu()),copySync:lu()}}),du=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}),fu=z((exports,t)=>{let n=J(),r=Wt().fromCallback,i=du();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}}),pu=z((exports,t)=>{let n=Wt().fromPromise,r=tu(),i=V(`path`),a=iu(),o=fu(),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}}),mu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=J(),a=iu();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}}),hu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=J(),a=iu(),o=au().pathExists,{areIdentical:s}=su();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}}),gu=z((exports,t)=>{let n=V(`path`),r=J(),i=au().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}}),_u=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}}),vu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=tu(),a=iu(),o=a.mkdirs,s=a.mkdirsSync,c=gu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=_u(),f=d.symlinkType,p=d.symlinkTypeSync,m=au().pathExists,{areIdentical:h}=su();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}}),yu=z((exports,t)=>{let{createFile:n,createFileSync:r}=mu(),{createLink:i,createLinkSync:a}=hu(),{createSymlink:o,createSymlinkSync:s}=vu();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}}),bu=z((exports,t)=>{let n=Kt();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),xu=z((exports,t)=>{let n=Wt().fromCallback,r=J(),i=V(`path`),a=iu(),o=au().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=z((exports,t)=>{let{stringify:n}=Gt(),{outputFile:r}=xu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),Cu=z((exports,t)=>{let{stringify:n}=Gt(),{outputFileSync:r}=xu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),wu=z((exports,t)=>{let n=Wt().fromPromise,r=bu();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}),Tu=z((exports,t)=>{let n=J(),r=V(`path`),i=uu().copy,a=fu().remove,o=iu().mkdirp,s=au().pathExists,c=su();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}),Eu=z((exports,t)=>{let n=J(),r=V(`path`),i=uu().copySync,a=fu().removeSync,o=iu().mkdirpSync,s=su();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}),Du=z((exports,t)=>{let n=Wt().fromCallback;t.exports={move:n(Tu()),moveSync:Eu()}}),Ou=z((exports,t)=>{t.exports={...tu(),...uu(),...pu(),...yu(),...wu(),...iu(),...Du(),...xu(),...au(),...fu()}}),ku=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},Au=B(Ou());const ju=/^(?!_)(?<manager>.+)@(?<version>.+)$/,Mu=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`,`aube`]),Nu=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function Pu({workspaceRoot:e}){let t=a.join(e,`package.json`);try{return(0,Au.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new ku(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new ku(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function Fu({workspaceRoot:e}){let t=Pu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=ju.exec(n);if(e){let t=e.groups?.manager;return Iu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Lu("`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 Lu("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Lu('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Lu("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Lu("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Lu("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Lu("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Iu(o))throw Lu("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, `nub`, or `aube`");if(!(`version`in a))throw Lu("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Lu("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Lu("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Lu("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!Nu.test(s)||N.valid(s)===null)throw Lu("`devEngines.packageManager.version` must be an exact semantic version");return o}function Iu(e){return typeof e==`string`&&Mu.has(e)}function Lu(e){return new ku(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Ru(e){if(!e)return;let t=ju.exec(e),n=t?.groups?.manager;return Iu(n)?n:void 0}function zu({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 Bu({packageJson:e,packageManager:t}){Ru(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Vu(n)&&n.name===t&&delete e.devEngines?.packageManager}function Vu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Iu(e.name)&&`version`in e&&typeof e.version==`string`}function Hu({workspaceRoot:e}){let t=Pu({workspaceRoot:e}),n=a.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Uu({workspaceRoot:e}){return Gu({workspaceRoot:e,workspaceFileName:`pnpm-workspace.yaml`})}function Wu({workspaceRoot:e}){return Gu({workspaceRoot:e,workspaceFileName:`aube-workspace.yaml`})}function Gu({workspaceRoot:e,workspaceFileName:t}){let n=a.join(e,t);if((0,Au.existsSync)(n))try{let e=h.load((0,Au.readFileSync)(n,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new ku(`failed to parse ${n}`,{type:`pnpm-workspace_parse_error`})}return[]}function Ku({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 qu({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 g(r,{onlyFiles:!0,absolute:!0,cwd:e,ignore:[`**/node_modules/**`,...n]})}).map(e=>{let t=a.dirname(e),{name:n,description:r}=Hu({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:a.join(t,`node_modules`)}}})}const Yu=[{manager:`bun`,lockfiles:[`bun.lock`,`bun.lockb`]},{manager:`pnpm`,lockfiles:[`aube-lock.yaml`,`pnpm-lock.yaml`]},{manager:`yarn`,lockfiles:[`yarn.lock`]},{manager:`npm`,lockfiles:[`package-lock.json`]}];function Xu({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Yu)if(n.some(t=>(0,Au.existsSync)(a.join(e,t))))return t;return`npm`}function Zu({workspaceRoot:e}){let t=Xu({workspaceRoot:e});switch(t){case`bun`:return(0,Au.existsSync)(a.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return(0,Au.existsSync)(a.join(e,`aube-lock.yaml`))?`aube-lock.yaml`:`pnpm-lock.yaml`;case`yarn`:return`yarn.lock`;case`npm`:return`package-lock.json`}}function Qu({directory:e}){let t=a.resolve(process.cwd(),e);return{exists:(0,Au.existsSync)(t),absolute:t}}function $u({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 ed({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 td({project:e,options:t}){t?.dry||(0,Au.rmSync)(e.paths.lockfile,{force:!0})}async function nd({project:e,options:t}){if(!t?.dry&&(0,Au.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,Au.writeFile)(a.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,Au.rmSync)(e.paths.lockfile,{force:!0})}}var rd=B(Ou());function id({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 ad({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=Pu({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}=id({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||rd.default.writeJSONSync(n.paths.packageJson,s,{spaces:2})}var od=B(Ou());const sd={name:`npm`,lock:`package-lock.json`};async function cd(e){let t=a.join(e.workspaceRoot,sd.lock),n=Fu({workspaceRoot:e.workspaceRoot});return od.default.existsSync(t)||n===sd.name}async function ld(e){let t=await cd(e);if(!t)throw new ku(`Not an npm project`,{type:`package_manager-unexpected`});let n=Pu(e),{name:r,description:i}=Hu(e),a=qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:sd.name,paths:Ku({root:e.workspaceRoot,lockFile:sd.lock}),workspaceData:{globs:a,workspaces:Ju({workspaceGlobs:a,...e})}}}async function ud(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep($u({packageManager:sd.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||od.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||od.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function dd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:sd.name,action:`remove`,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${sd.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:sd.name}),!r?.dry){od.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=>od.default.rm(e,{recursive:!0,force:!0})))}catch{throw new ku(`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||od.default.rmSync(t.paths.lockfile,{force:!0})}async function pd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:td({project:t,options:n});break;case`bun`:td({project:t,options:n});break;case`npm`:break;case`yarn`:td({project:t,options:n});break;case`nub`:td({project:t,options:n});break;case`aube`:td({project:t,options:n});break}}const md={detect:cd,read:ld,create:ud,remove:dd,clean:fd,convertLock:pd};var hd=B(Ou());const gd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function _d(e){let t=a.join(e.workspaceRoot,gd.lock),n=a.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=Fu({workspaceRoot:e.workspaceRoot});return hd.default.existsSync(t)||hd.default.existsSync(n)||r===gd.name}async function vd(e){let t=await _d(e);if(!t)throw new ku(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Hu(e);return{name:n,description:r,packageManager:gd.name,paths:Ku({root:e.workspaceRoot,lockFile:gd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Uu(e),workspaces:Ju({workspaceGlobs:Uu(e),...e})}}}async function yd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep($u({action:`create`,packageManager:gd.name,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(r.rootHeader(),zu({packageJson:s,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(hd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),o&&(r.rootStep(`adding "pnpm-workspace.yaml"`),hd.default.writeFileSync(a.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
|
|
46
|
-
`)}`))),o){ad({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:n,logger:r,options:i})}}async function bd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({action:`remove`,packageManager:gd.name,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||hd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${gd.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:gd.name}),!r?.dry){hd.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=>hd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function xd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||hd.default.rmSync(t.paths.lockfile,{force:!0})}async function Sd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${gd.lock}`)},o=async()=>{if(!n?.dry&&hd.default.existsSync(t.paths.lockfile))try{await b(gd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{td({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await nd({project:t,options:n}),await o(),hd.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`:td({project:t,options:n});break;case`aube`:td({project:t,options:n});break}}const Cd={detect:_d,read:vd,create:yd,remove:bd,clean:xd,convertLock:Sd};var wd=B(Ou());const Td={name:`yarn`,lock:`yarn.lock`};async function Ed(e){let t=a.join(e.workspaceRoot,Td.lock),n=Fu({workspaceRoot:e.workspaceRoot});return wd.default.existsSync(t)||n===Td.name}async function Dd(e){let t=await Ed(e);if(!t)throw new ku(`Not a yarn project`,{type:`package_manager-unexpected`});let n=Pu(e),{name:r,description:i}=Hu(e),a=qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Td.name,paths:Ku({root:e.workspaceRoot,lockFile:Td.lock}),workspaceData:{globs:a,workspaces:Ju({workspaceGlobs:a,...e})}}}async function Od(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep($u({packageManager:Td.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||wd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||wd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function kd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:Td.name,action:`remove`,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Td.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:Td.name}),!r?.dry){wd.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=>wd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Ad(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||wd.default.rmSync(t.paths.lockfile,{force:!0})}async function jd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${Td.lock}`)};switch(t.packageManager){case`pnpm`:td({project:t,options:n});break;case`bun`:i(),await nd({project:t,options:n});break;case`npm`:td({project:t,options:n});break;case`yarn`:break;case`nub`:td({project:t,options:n});break;case`aube`:td({project:t,options:n});break}}const Md={detect:Ed,read:Dd,create:Od,remove:kd,clean:Ad,convertLock:jd};var Nd=B(Ou());const Pd={name:`bun`,lock:`bun.lockb`};async function Fd(e){let t=a.join(e.workspaceRoot,Pd.lock),n=Fu({workspaceRoot:e.workspaceRoot});return Nd.default.existsSync(t)||n===Pd.name}async function Id(e){let t=await Fd(e);if(!t)throw new ku(`Not a bun project`,{type:`package_manager-unexpected`});let n=Pu(e),{name:r,description:i}=Hu(e),a=qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Pd.name,paths:Ku({root:e.workspaceRoot,lockFile:Pd.lock}),workspaceData:{globs:a,workspaces:Ju({workspaceGlobs:a,...e})}}}async function Ld(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;if(!ed({project:t}))throw new ku(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep($u({packageManager:Pd.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||Nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Rd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:Pd.name,action:`remove`,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Pd.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:Pd.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 ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function zd(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 Bd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:td({project:t,options:n});break;case`bun`:break;case`npm`:td({project:t,options:n});break;case`yarn`:td({project:t,options:n});break;case`nub`:td({project:t,options:n});break;case`aube`:td({project:t,options:n});break}}const Vd={detect:Fd,read:Id,create:Ld,remove:Rd,clean:zd,convertLock:Bd};var Hd=B(Ou());const Ud={name:`aube`,lock:`package-lock.json`},Wd={npm:md,pnpm:Cd,yarn:Md,bun:Vd};async function Gd(e){return Fu({workspaceRoot:e.workspaceRoot})===Ud.name}async function Kd(e){if(!await Gd(e))throw new ku(`Not an aube project`,{type:`package_manager-unexpected`});let t=Xu({workspaceRoot:e.workspaceRoot}),n=Wd[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:Ud.name}}let r=Pu(e),{name:i,description:a}=Hu(e),o=Zu({workspaceRoot:e.workspaceRoot}),s=Wu(e),c,l=qu({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:Ud.name,paths:Ku({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:Ju({workspaceGlobs:l,...e})}}}async function qd(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep($u({packageManager:Ud.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||Hd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Hd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Jd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:Ud.name,action:`remove`,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Ud.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:Ud.name}),!r?.dry){Hd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];await Promise.all(e.map(e=>Hd.default.rm(e,{recursive:!0,force:!0})))}}async function Yd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Hd.default.rmSync(t.paths.lockfile,{force:!0})}async function Xd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:td({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const Zd={detect:Gd,read:Kd,create:qd,remove:Jd,clean:Yd,convertLock:Xd};var Qd=B(Ou());const $d={name:`nub`,lock:`package-lock.json`},ef={npm:md,pnpm:Cd,yarn:Md,bun:Vd};async function tf(e){let t=Fu({workspaceRoot:e.workspaceRoot});return t===$d.name}async function nf(e){let t=await tf(e);if(!t)throw new ku(`Not a nub project`,{type:`package_manager-unexpected`});let n=Xu({workspaceRoot:e.workspaceRoot}),r=ef[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:$d.name}}let i=Pu(e),{name:a,description:o}=Hu(e),s=Zu({workspaceRoot:e.workspaceRoot}),c=Uu(e),l=n===`pnpm`&&c.length>0?c:qu({workspaces:i.workspaces});return{name:a,description:o,packageManager:$d.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 rf(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep($u({packageManager:$d.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||Qd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Qd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function af(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:$d.name,action:`remove`,project:t}));let a=Pu({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"`),Bu({packageJson:a,packageManager:$d.name}),!r?.dry){Qd.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=>Qd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function sf(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Qd.default.rmSync(t.paths.lockfile,{force:!0})}async function cf(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:td({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const lf={detect:tf,read:nf,create:rf,remove:af,clean:sf,convertLock:cf},uf={aube:Zd,nub:lf,pnpm:Cd,yarn:Md,npm:md,bun:Vd};async function df({root:e}){let{exists:t,absolute:n}=Qu({directory:e});if(!t)throw new ku(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(uf))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new ku("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 ff={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}],aube:[{name:`aube`,template:`aube`,command:`aube`,installArgs:[`install`],version:`latest`,executable:`aube`,semver:`*`,default:!0}]};function pf(e){let{version:t,name:n}=e;return t?ff[n].find(e=>P(t,e.semver)):ff[n].find(e=>e.default)}async function mf(e){let{to:t,logger:n,options:r}=e,i=n??new eu(r),a=pf(t);if(!a)throw new ku(`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 hf({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 ku(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!n.version)throw new ku(`${n.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let a=n;i?.ignoreUnchangedPackageManager||await uf[e.packageManager].remove({project:e,to:a,logger:r,options:i}),await uf[a.name].create({project:e,to:a,logger:r,options:i}),r.mainStep(`Installing dependencies`),i?.skipInstall?r.subStep(t.yellow(`Skipping install`)):(await uf[a.name].convertLock({project:e,to:a,logger:r,options:i}),await mf({project:e,to:a,logger:r,options:i})),r.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==n.name&&await uf[e.packageManager].clean({project:e,logger:r,options:i})}export{ku as ConvertError,eu as Logger,uf as MANAGERS,hf as convertProject,Ql as createNotifyUpdate,Qu as directoryInfo,Ut as getAvailablePackageManagers,pf as getPackageManagerMeta,df as getWorkspaceDetails,mf as install,Et as log};
|
|
46
|
+
`)}`))),o){ad({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:n,logger:r,options:i})}}async function bd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({action:`remove`,packageManager:gd.name,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||hd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${gd.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:gd.name}),!r?.dry){hd.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=>hd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function xd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||hd.default.rmSync(t.paths.lockfile,{force:!0})}async function Sd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${gd.lock}`)},o=async()=>{if(!n?.dry&&hd.default.existsSync(t.paths.lockfile))try{await b(gd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{td({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await nd({project:t,options:n}),await o(),hd.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`:td({project:t,options:n});break;case`aube`:td({project:t,options:n});break}}const Cd={detect:_d,read:vd,create:yd,remove:bd,clean:xd,convertLock:Sd};var wd=B(Ou());const Td={name:`yarn`,lock:`yarn.lock`};async function Ed(e){let t=a.join(e.workspaceRoot,Td.lock),n=Fu({workspaceRoot:e.workspaceRoot});return wd.default.existsSync(t)||n===Td.name}async function Dd(e){let t=await Ed(e);if(!t)throw new ku(`Not a yarn project`,{type:`package_manager-unexpected`});let n=Pu(e),{name:r,description:i}=Hu(e),a=qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Td.name,paths:Ku({root:e.workspaceRoot,lockFile:Td.lock}),workspaceData:{globs:a,workspaces:Ju({workspaceGlobs:a,...e})}}}async function Od(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep($u({packageManager:Td.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||wd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||wd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function kd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:Td.name,action:`remove`,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Td.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:Td.name}),!r?.dry){wd.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=>wd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Ad(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||wd.default.rmSync(t.paths.lockfile,{force:!0})}async function jd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${Td.lock}`)};switch(t.packageManager){case`pnpm`:td({project:t,options:n});break;case`bun`:i(),await nd({project:t,options:n});break;case`npm`:td({project:t,options:n});break;case`yarn`:break;case`nub`:td({project:t,options:n});break;case`aube`:td({project:t,options:n});break}}const Md={detect:Ed,read:Dd,create:Od,remove:kd,clean:Ad,convertLock:jd};var Nd=B(Ou());const Pd={name:`bun`,lock:`bun.lockb`};async function Fd(e){let t=a.join(e.workspaceRoot,Pd.lock),n=Fu({workspaceRoot:e.workspaceRoot});return Nd.default.existsSync(t)||n===Pd.name}async function Id(e){let t=await Fd(e);if(!t)throw new ku(`Not a bun project`,{type:`package_manager-unexpected`});let n=Pu(e),{name:r,description:i}=Hu(e),a=qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Pd.name,paths:Ku({root:e.workspaceRoot,lockFile:Pd.lock}),workspaceData:{globs:a,workspaces:Ju({workspaceGlobs:a,...e})}}}async function Ld(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;if(!ed({project:t}))throw new ku(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep($u({packageManager:Pd.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||Nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Rd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:Pd.name,action:`remove`,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Pd.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:Pd.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 ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function zd(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 Bd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:td({project:t,options:n});break;case`bun`:break;case`npm`:td({project:t,options:n});break;case`yarn`:td({project:t,options:n});break;case`nub`:td({project:t,options:n});break;case`aube`:td({project:t,options:n});break}}const Vd={detect:Fd,read:Id,create:Ld,remove:Rd,clean:zd,convertLock:Bd};var Hd=B(Ou());const Ud={name:`aube`,lock:`package-lock.json`},Wd={npm:md,pnpm:Cd,yarn:Md,bun:Vd};async function Gd(e){return Fu({workspaceRoot:e.workspaceRoot})===Ud.name}async function Kd(e){if(!await Gd(e))throw new ku(`Not an aube project`,{type:`package_manager-unexpected`});let t=Xu({workspaceRoot:e.workspaceRoot}),n=Wd[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:Ud.name}}let r=Pu(e),{name:i,description:a}=Hu(e),o=Zu({workspaceRoot:e.workspaceRoot}),s=Wu(e),c,l=qu({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:Ud.name,paths:Ku({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:Ju({workspaceGlobs:l,...e})}}}async function qd(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep($u({packageManager:Ud.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||Hd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Hd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Jd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:Ud.name,action:`remove`,project:t}));let a=Pu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Ud.name} package manager declarations in ${t.name} root "package.json"`),Bu({packageJson:a,packageManager:Ud.name}),!r?.dry){Hd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];await Promise.all(e.map(e=>Hd.default.rm(e,{recursive:!0,force:!0})))}}async function Yd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Hd.default.rmSync(t.paths.lockfile,{force:!0})}async function Xd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:td({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const Zd={detect:Gd,read:Kd,create:qd,remove:Jd,clean:Yd,convertLock:Xd};var Qd=B(Ou());const $d={name:`nub`,lock:`package-lock.json`},ef={npm:md,pnpm:Cd,yarn:Md,bun:Vd};async function tf(e){let t=Fu({workspaceRoot:e.workspaceRoot});return t===$d.name}async function nf(e){let t=await tf(e);if(!t)throw new ku(`Not a nub project`,{type:`package_manager-unexpected`});let n=Xu({workspaceRoot:e.workspaceRoot}),r=ef[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:$d.name}}let i=Pu(e),{name:a,description:o}=Hu(e),s=Zu({workspaceRoot:e.workspaceRoot}),c=Uu(e),l=n===`pnpm`&&c.length>0?c:qu({workspaces:i.workspaces});return{name:a,description:o,packageManager:$d.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 rf(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep($u({packageManager:$d.name,action:`create`,project:t}));let s=Pu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),zu({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||Qd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ad({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ad({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Qd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function af(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep($u({packageManager:$d.name,action:`remove`,project:t}));let a=Pu({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"`),Bu({packageJson:a,packageManager:$d.name}),!r?.dry){Qd.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=>Qd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new ku(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function sf(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Qd.default.rmSync(t.paths.lockfile,{force:!0})}async function cf(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:td({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const lf={detect:tf,read:nf,create:rf,remove:af,clean:sf,convertLock:cf},uf={aube:Zd,nub:lf,pnpm:Cd,yarn:Md,npm:md,bun:Vd};async function df({root:e}){let{exists:t,absolute:n}=Qu({directory:e});if(!t)throw new ku(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(uf))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new ku("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 ff={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 exec`,semver:`*`,default:!0}],aube:[{name:`aube`,template:`aube`,command:`aube`,installArgs:[`install`],version:`latest`,executable:`aube`,semver:`*`,default:!0}]};function pf(e){let{version:t,name:n}=e;return t?ff[n].find(e=>P(t,e.semver)):ff[n].find(e=>e.default)}async function mf(e){let{to:t,logger:n,options:r}=e,i=n??new eu(r),a=pf(t);if(!a)throw new ku(`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 hf({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 ku(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!n.version)throw new ku(`${n.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let a=n;i?.ignoreUnchangedPackageManager||await uf[e.packageManager].remove({project:e,to:a,logger:r,options:i}),await uf[a.name].create({project:e,to:a,logger:r,options:i}),r.mainStep(`Installing dependencies`),i?.skipInstall?r.subStep(t.yellow(`Skipping install`)):(await uf[a.name].convertLock({project:e,to:a,logger:r,options:i}),await mf({project:e,to:a,logger:r,options:i})),r.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==n.name&&await uf[e.packageManager].clean({project:e,logger:r,options:i})}export{ku as ConvertError,eu as Logger,uf as MANAGERS,hf as convertProject,Ql as createNotifyUpdate,Qu as directoryInfo,Ut as getAvailablePackageManagers,pf as getPackageManagerMeta,df as getWorkspaceDetails,mf as install,Et as log};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./convert-
|
|
1
|
+
const e=require(`./convert-B_I_N-ag.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-
|
|
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-B_VMdyOZ.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};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turbo/workspaces",
|
|
3
|
-
"version": "2.10.3-canary.
|
|
3
|
+
"version": "2.10.3-canary.7",
|
|
4
4
|
"description": "Tools for working with package managers",
|
|
5
5
|
"homepage": "https://turborepo.dev",
|
|
6
6
|
"bugs": {
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"ts-jest": "29.4.9",
|
|
47
47
|
"tsdown": "0.12.0",
|
|
48
48
|
"typescript": "5.5.4",
|
|
49
|
+
"@turbo/utils": "0.0.0",
|
|
49
50
|
"@turbo/test-utils": "0.0.0",
|
|
50
|
-
"@turbo/tsconfig": "0.0.0"
|
|
51
|
-
"@turbo/utils": "0.0.0"
|
|
51
|
+
"@turbo/tsconfig": "0.0.0"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "tsdown && tsc -p tsconfig.build.json",
|