@turbo/workspaces 2.10.8 → 2.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const e=require(`./convert-
|
|
2
|
+
const e=require(`./convert-CgFnDjaG.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.9`,s=`Tools for working with package managers`,c=`https://turborepo.dev`,l={url:`https://github.com/vercel/turborepo/issues`},u=`MIT`,d={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-workspaces`},f=`dist/cli.js`,p=[`dist`],m=`dist/index.js`,h=`dist/index.mjs`,g=`dist/index.d.ts`,_={access:`public`},v={"@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.3.0`,ora:`4.1.1`,picocolors:`1.0.1`,semver:`7.6.2`,"update-check":`1.5.4`},y={"@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`,tsdown:`0.12.0`,typescript:`npm:@typescript/typescript6@^6.0.1`,"typescript-7":`npm:typescript@7.0.1-rc`},b={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:_,dependencies:v,devDependencies:y};async function x(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 S({packageManager:e,currentWorkspaceManger:t,availablePackageManagers:n}){return t===e?`already in use`:n[e]?!1:`not installed`}async function C(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:S({packageManager:e,currentWorkspaceManger:u.packageManager,availablePackageManagers:d})}))}),await e.convertProject({project:u,convertTo:{name:f,version:d[f]},logger:o,options:a})}const w=e.createNotifyUpdate({packageInfo:b}),T=new n.Command;T.name(`@turbo/workspaces`).description(`Tools for working with package manager workspaces`).version(b.version,`-v, --version`,`output the current version`),T.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(C),T.command(`summary`).description(`Display a summary of the specified project`).argument(`[path]`,`Project root`).action(x),T.parseAsync().then(()=>w()).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 w(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-B8oz6oBt.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.9`,h=`Tools for working with package managers`,g=`https://turborepo.dev`,_={url:`https://github.com/vercel/turborepo/issues`},v=`MIT`,y={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-workspaces`},b=`dist/cli.js`,x=[`dist`],S=`dist/index.js`,C=`dist/index.mjs`,w=`dist/index.d.ts`,T={access:`public`},E={"@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.3.0`,ora:`4.1.1`,picocolors:`1.0.1`,semver:`7.6.2`,"update-check":`1.5.4`},D={"@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`,tsdown:`0.12.0`,typescript:`npm:@typescript/typescript6@^6.0.1`,"typescript-7":`npm:typescript@7.0.1-rc`},O={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,dependencies:E,devDependencies:D};async function k(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 A({packageManager:e,currentWorkspaceManger:t,availablePackageManagers:n}){return t===e?`already in use`:n[e]?!1:`not installed`}async function j(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:A({packageManager:e,currentWorkspaceManger:h.packageManager,availablePackageManagers:g})}))}),await n({project:h,convertTo:{name:_,version:g[_]},logger:l,options:s})}const M=r({packageInfo:O}),N=new l;N.name(`@turbo/workspaces`).description(`Tools for working with package manager workspaces`).version(O.version,`-v, --version`,`output the current version`),N.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(j),N.command(`summary`).description(`Display a summary of the specified project`).argument(`[path]`,`Project root`).action(k),N.parseAsync().then(()=>M()).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 M(1)});
|
|
@@ -42,5 +42,5 @@ ${e.format(t)}
|
|
|
42
42
|
|
|
43
43
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0001`),s.checkPaths(e,t,`copy`,n,(i,a)=>{if(i)return r(i);let{srcStat:o,destStat:c}=a;s.checkParentPaths(e,o,t,`copy`,i=>i?r(i):n.filter?u(l,c,e,t,n,r):l(c,e,t,n,r))})}function l(e,t,n,o,s){let c=r.dirname(n);a(c,(r,a)=>{if(r)return s(r);if(a)return f(e,t,n,o,s);i(c,r=>r?s(r):f(e,t,n,o,s))})}function u(e,t,n,r,i,a){Promise.resolve(i.filter(n,r)).then(o=>o?e(t,n,r,i,a):a(),e=>a(e))}function d(e,t,n,r,i){return r.filter?u(f,e,t,n,r,i):f(e,t,n,r,i)}function f(e,t,r,i,a){let o=i.dereference?n.stat:n.lstat;o(t,(n,o)=>n?a(n):o.isDirectory()?S(o,e,t,r,i,a):o.isFile()||o.isCharacterDevice()||o.isBlockDevice()?p(o,e,t,r,i,a):o.isSymbolicLink()?D(e,t,r,i,a):o.isSocket()?a(Error(`Cannot copy a socket file: ${t}`)):o.isFIFO()?a(Error(`Cannot copy a FIFO pipe: ${t}`)):a(Error(`Unknown file: ${t}`)))}function p(e,t,n,r,i,a){return t?m(e,n,r,i,a):h(e,n,r,i,a)}function m(e,t,r,i,a){if(i.overwrite)n.unlink(r,n=>n?a(n):h(e,t,r,i,a));else if(i.errorOnExist)return a(Error(`'${r}' already exists`));else return a()}function h(e,t,r,i,a){n.copyFile(t,r,n=>n?a(n):i.preserveTimestamps?g(e.mode,t,r,a):b(r,e.mode,a))}function g(e,t,n,r){return _(e)?v(n,e,i=>i?r(i):y(e,t,n,r)):y(e,t,n,r)}function _(e){return(e&128)==0}function v(e,t,n){return b(e,t|128,n)}function y(e,t,n,r){x(t,n,t=>t?r(t):b(n,e,r))}function b(e,t,r){return n.chmod(e,t,r)}function x(e,t,r){n.stat(e,(e,n)=>e?r(e):o(t,n.atime,n.mtime,r))}function S(e,t,n,r,i,a){return t?w(n,r,i,a):C(e.mode,n,r,i,a)}function C(e,t,r,i,a){n.mkdir(r,n=>{if(n)return a(n);w(t,r,i,t=>t?a(t):b(r,e,a))})}function w(e,t,r,i){n.readdir(e,(n,a)=>n?i(n):T(a,e,t,r,i))}function T(e,t,n,r,i){let a=e.pop();return a?E(e,a,t,n,r,i):i()}function E(e,t,n,i,a,o){let c=r.join(n,t),l=r.join(i,t);s.checkPaths(c,l,`copy`,a,(t,r)=>{if(t)return o(t);let{destStat:s}=r;d(s,c,l,a,t=>t?o(t):T(e,n,i,a,o))})}function D(e,t,i,a,o){n.readlink(t,(t,c)=>{if(t)return o(t);if(a.dereference&&(c=r.resolve(process.cwd(),c)),e)n.readlink(i,(t,l)=>t?t.code===`EINVAL`||t.code===`UNKNOWN`?n.symlink(c,i,o):o(t):(a.dereference&&(l=r.resolve(process.cwd(),l)),s.isSrcSubdir(c,l)?o(Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)):e.isDirectory()&&s.isSrcSubdir(l,c)?o(Error(`Cannot overwrite '${l}' with '${c}'.`)):O(c,i,o)));else return n.symlink(c,i,o)})}function O(e,t,r){n.unlink(t,i=>i?r(i):n.symlink(e,t,r))}t.exports=c}),mu=z((exports,t)=>{let n=J(),r=V(`path`),i=lu().mkdirsSync,a=du().utimesMillisSync,o=fu();function s(e,t,n){typeof n==`function`&&(n={filter:n}),n||={},n.clobber=`clobber`in n?!!n.clobber:!0,n.overwrite=`overwrite`in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch===`ia32`&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
44
44
|
|
|
45
|
-
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0002`);let{srcStat:r,destStat:i}=o.checkPathsSync(e,t,`copy`,n);return o.checkParentPathsSync(e,r,t,`copy`),c(i,e,t,n)}function c(e,t,a,o){if(o.filter&&!o.filter(t,a))return;let s=r.dirname(a);return n.existsSync(s)||i(s),u(e,t,a,o)}function l(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return u(e,t,n,r)}function u(e,t,r,i){let a=i.dereference?n.statSync:n.lstatSync,o=a(t);if(o.isDirectory())return y(o,e,t,r,i);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return d(o,e,t,r,i);if(o.isSymbolicLink())return C(e,t,r,i);throw o.isSocket()?Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?Error(`Cannot copy a FIFO pipe: ${t}`):Error(`Unknown file: ${t}`)}function d(e,t,n,r,i){return t?f(e,n,r,i):p(e,n,r,i)}function f(e,t,r,i){if(i.overwrite)return n.unlinkSync(r),p(e,t,r,i);if(i.errorOnExist)throw Error(`'${r}' already exists`)}function p(e,t,r,i){return n.copyFileSync(t,r),i.preserveTimestamps&&m(e.mode,t,r),_(r,e.mode)}function m(e,t,n){return h(e)&&g(n,e),v(t,n)}function h(e){return(e&128)==0}function g(e,t){return _(e,t|128)}function _(e,t){return n.chmodSync(e,t)}function v(e,t){let r=n.statSync(e);return a(t,r.atime,r.mtime)}function y(e,t,n,r,i){return t?x(n,r,i):b(e.mode,n,r,i)}function b(e,t,r,i){return n.mkdirSync(r),x(t,r,i),_(r,e)}function x(e,t,r){n.readdirSync(e).forEach(n=>S(n,e,t,r))}function S(e,t,n,i){let a=r.join(t,e),s=r.join(n,e),{destStat:c}=o.checkPathsSync(a,s,`copy`,i);return l(c,a,s,i)}function C(e,t,i,a){let s=n.readlinkSync(t);if(a.dereference&&(s=r.resolve(process.cwd(),s)),e){let e;try{e=n.readlinkSync(i)}catch(e){if(e.code===`EINVAL`||e.code===`UNKNOWN`)return n.symlinkSync(s,i);throw e}if(a.dereference&&(e=r.resolve(process.cwd(),e)),o.isSrcSubdir(s,e))throw Error(`Cannot copy '${s}' to a subdirectory of itself, '${e}'.`);if(n.statSync(i).isDirectory()&&o.isSrcSubdir(e,s))throw Error(`Cannot overwrite '${e}' with '${s}'.`);return w(s,i)}else return n.symlinkSync(s,i)}function w(e,t){return n.unlinkSync(t),n.symlinkSync(e,t)}t.exports=s}),hu=z((exports,t)=>{let n=Wt().fromCallback;t.exports={copy:n(pu()),copySync:mu()}}),gu=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}),_u=z((exports,t)=>{let n=J(),r=Wt().fromCallback,i=gu();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}}),vu=z((exports,t)=>{let n=Wt().fromPromise,r=ou(),i=V(`path`),a=lu(),o=_u(),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}}),yu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=J(),a=lu();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}}),bu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=J(),a=lu(),o=uu().pathExists,{areIdentical:s}=fu();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}}),xu=z((exports,t)=>{let n=V(`path`),r=J(),i=uu().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}}),Su=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}}),Cu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=ou(),a=lu(),o=a.mkdirs,s=a.mkdirsSync,c=xu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=Su(),f=d.symlinkType,p=d.symlinkTypeSync,m=uu().pathExists,{areIdentical:h}=fu();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}}),wu=z((exports,t)=>{let{createFile:n,createFileSync:r}=yu(),{createLink:i,createLinkSync:a}=bu(),{createSymlink:o,createSymlinkSync:s}=Cu();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}}),Tu=z((exports,t)=>{let n=Kt();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),Eu=z((exports,t)=>{let n=Wt().fromCallback,r=J(),i=V(`path`),a=lu(),o=uu().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}}),Du=z((exports,t)=>{let{stringify:n}=Gt(),{outputFile:r}=Eu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),Ou=z((exports,t)=>{let{stringify:n}=Gt(),{outputFileSync:r}=Eu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),ku=z((exports,t)=>{let n=Wt().fromPromise,r=Tu();r.outputJson=n(Du()),r.outputJsonSync=Ou(),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}),Au=z((exports,t)=>{let n=J(),r=V(`path`),i=hu().copy,a=_u().remove,o=lu().mkdirp,s=uu().pathExists,c=fu();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}),ju=z((exports,t)=>{let n=J(),r=V(`path`),i=hu().copySync,a=_u().removeSync,o=lu().mkdirpSync,s=fu();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}),Mu=z((exports,t)=>{let n=Wt().fromCallback;t.exports={move:n(Au()),moveSync:ju()}}),Nu=z((exports,t)=>{t.exports={...ou(),...hu(),...vu(),...wu(),...ku(),...lu(),...Mu(),...Eu(),...uu(),..._u()}}),Pu=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},Fu=B(Nu());const Iu=/^(?!_)(?<manager>.+)@(?<version>.+)$/,Lu=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`,`aube`]),Ru=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function zu({workspaceRoot:e}){let t=a.join(e,`package.json`);try{return(0,Fu.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new Pu(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new Pu(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function Bu({workspaceRoot:e}){let t=zu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=Iu.exec(n);if(e){let t=e.groups?.manager;return Vu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Hu("`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 Hu("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Hu('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Hu("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Hu("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Hu("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Hu("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Vu(o))throw Hu("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, `nub`, or `aube`");if(!(`version`in a))throw Hu("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Hu("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Hu("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Hu("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!Ru.test(s)||N.valid(s)===null)throw Hu("`devEngines.packageManager.version` must be an exact semantic version");return o}function Vu(e){return typeof e==`string`&&Lu.has(e)}function Hu(e){return new Pu(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Uu(e){if(!e)return;let t=Iu.exec(e),n=t?.groups?.manager;return Vu(n)?n:void 0}function Wu({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 Gu({packageJson:e,packageManager:t}){Uu(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Ku(n)&&n.name===t&&delete e.devEngines?.packageManager}function Ku(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Vu(e.name)&&`version`in e&&typeof e.version==`string`}function qu({workspaceRoot:e}){let t=zu({workspaceRoot:e}),n=a.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Ju({workspaceRoot:e}){return Xu({workspaceRoot:e,workspaceFileName:`pnpm-workspace.yaml`})}function Yu({workspaceRoot:e}){return Xu({workspaceRoot:e,workspaceFileName:`aube-workspace.yaml`})}function Xu({workspaceRoot:e,workspaceFileName:t}){let n=a.join(e,t);if((0,Fu.existsSync)(n))try{let e=h.load((0,Fu.readFileSync)(n,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new Pu(`failed to parse ${n}`,{type:`pnpm-workspace_parse_error`})}return[]}function Zu({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 $u({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}=qu({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:a.join(t,`node_modules`)}}})}const ed=[{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 td({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of ed)if(n.some(t=>(0,Fu.existsSync)(a.join(e,t))))return t;return`npm`}function nd({workspaceRoot:e}){let t=td({workspaceRoot:e});switch(t){case`bun`:return(0,Fu.existsSync)(a.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return(0,Fu.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 rd({directory:e}){let t=a.resolve(process.cwd(),e);return{exists:(0,Fu.existsSync)(t),absolute:t}}function id({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 ad({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 od({project:e,options:t}){t?.dry||(0,Fu.rmSync)(e.paths.lockfile,{force:!0})}async function sd({project:e,options:t}){if(!t?.dry&&(0,Fu.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,Fu.writeFile)(a.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,Fu.rmSync)(e.paths.lockfile,{force:!0})}}var cd=B(Nu());function ld({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 ud({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=zu({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}=ld({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||cd.default.writeJSONSync(n.paths.packageJson,s,{spaces:2})}var dd=B(Nu());const fd={name:`npm`,lock:`package-lock.json`};async function pd(e){let t=a.join(e.workspaceRoot,fd.lock),n=Bu({workspaceRoot:e.workspaceRoot});return dd.default.existsSync(t)||n===fd.name}async function md(e){let t=await pd(e);if(!t)throw new Pu(`Not an npm project`,{type:`package_manager-unexpected`});let n=zu(e),{name:r,description:i}=qu(e),a=Qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:fd.name,paths:Zu({root:e.workspaceRoot,lockFile:fd.lock}),workspaceData:{globs:a,workspaces:$u({workspaceGlobs:a,...e})}}}async function hd(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(id({packageManager:fd.name,action:`create`,project:t}));let s=zu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Wu({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||dd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ud({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ud({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||dd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function gd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(id({packageManager:fd.name,action:`remove`,project:t}));let a=zu({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"`),Gu({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 Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function _d(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||dd.default.rmSync(t.paths.lockfile,{force:!0})}async function vd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:od({project:t,options:n});break;case`bun`:od({project:t,options:n});break;case`npm`:break;case`yarn`:od({project:t,options:n});break;case`nub`:od({project:t,options:n});break;case`aube`:od({project:t,options:n});break}}const yd={detect:pd,read:md,create:hd,remove:gd,clean:_d,convertLock:vd};var bd=B(Nu());const xd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function Sd(e){let t=a.join(e.workspaceRoot,xd.lock),n=a.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=Bu({workspaceRoot:e.workspaceRoot});return bd.default.existsSync(t)||bd.default.existsSync(n)||r===xd.name}async function Cd(e){let t=await Sd(e);if(!t)throw new Pu(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=qu(e);return{name:n,description:r,packageManager:xd.name,paths:Zu({root:e.workspaceRoot,lockFile:xd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Ju(e),workspaces:$u({workspaceGlobs:Ju(e),...e})}}}async function wd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(id({action:`create`,packageManager:xd.name,project:t}));let s=zu({workspaceRoot:t.paths.root});if(r.rootHeader(),Wu({packageJson:s,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(bd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),o&&(r.rootStep(`adding "pnpm-workspace.yaml"`),bd.default.writeFileSync(a.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
|
|
46
|
-
`)}`))),o){ud({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ud({workspace:e,project:t,to:n,logger:r,options:i})}}async function Td(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(id({action:`remove`,packageManager:xd.name,project:t}));let a=zu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||bd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${xd.name} package manager declarations in ${t.name} root "package.json"`),Gu({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 Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Ed(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||bd.default.rmSync(t.paths.lockfile,{force:!0})}async function Dd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${xd.lock}`)},o=async()=>{if(!n?.dry&&bd.default.existsSync(t.paths.lockfile))try{await b(xd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{od({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await sd({project:t,options:n}),await o(),bd.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`:od({project:t,options:n});break;case`aube`:od({project:t,options:n});break}}const Od={detect:Sd,read:Cd,create:wd,remove:Td,clean:Ed,convertLock:Dd};var kd=B(Nu());const Ad={name:`yarn`,lock:`yarn.lock`};async function jd(e){let t=a.join(e.workspaceRoot,Ad.lock),n=Bu({workspaceRoot:e.workspaceRoot});return kd.default.existsSync(t)||n===Ad.name}async function Md(e){let t=await jd(e);if(!t)throw new Pu(`Not a yarn project`,{type:`package_manager-unexpected`});let n=zu(e),{name:r,description:i}=qu(e),a=Qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Ad.name,paths:Zu({root:e.workspaceRoot,lockFile:Ad.lock}),workspaceData:{globs:a,workspaces:$u({workspaceGlobs:a,...e})}}}async function Nd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(id({packageManager:Ad.name,action:`create`,project:t}));let s=zu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Wu({packageJson:s,packageManager:n.name,version:n.version}),o){r.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,i?.dry||kd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ud({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ud({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||kd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Pd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(id({packageManager:Ad.name,action:`remove`,project:t}));let a=zu({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"`),Gu({packageJson:a,packageManager:Ad.name}),!r?.dry){kd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>kd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Fd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||kd.default.rmSync(t.paths.lockfile,{force:!0})}async function Id(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${Ad.lock}`)};switch(t.packageManager){case`pnpm`:od({project:t,options:n});break;case`bun`:i(),await sd({project:t,options:n});break;case`npm`:od({project:t,options:n});break;case`yarn`:break;case`nub`:od({project:t,options:n});break;case`aube`:od({project:t,options:n});break}}const Ld={detect:jd,read:Md,create:Nd,remove:Pd,clean:Fd,convertLock:Id};var Rd=B(Nu());const zd={name:`bun`,lock:`bun.lockb`};async function Bd(e){let t=a.join(e.workspaceRoot,zd.lock),n=Bu({workspaceRoot:e.workspaceRoot});return Rd.default.existsSync(t)||n===zd.name}async function Vd(e){let t=await Bd(e);if(!t)throw new Pu(`Not a bun project`,{type:`package_manager-unexpected`});let n=zu(e),{name:r,description:i}=qu(e),a=Qu({workspaces:n.workspaces});return{name:r,description:i,packageManager:zd.name,paths:Zu({root:e.workspaceRoot,lockFile:zd.lock}),workspaceData:{globs:a,workspaces:$u({workspaceGlobs:a,...e})}}}async function Hd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;if(!ad({project:t}))throw new Pu(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(id({packageManager:zd.name,action:`create`,project:t}));let s=zu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Wu({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||Rd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ud({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ud({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Rd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Ud(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(id({packageManager:zd.name,action:`remove`,project:t}));let a=zu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${zd.name} package manager declarations in ${t.name} root "package.json"`),Gu({packageJson:a,packageManager:zd.name}),!r?.dry){Rd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Rd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Wd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Rd.default.rmSync(t.paths.lockfile,{force:!0})}async function Gd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:od({project:t,options:n});break;case`bun`:break;case`npm`:od({project:t,options:n});break;case`yarn`:od({project:t,options:n});break;case`nub`:od({project:t,options:n});break;case`aube`:od({project:t,options:n});break}}const Kd={detect:Bd,read:Vd,create:Hd,remove:Ud,clean:Wd,convertLock:Gd};var qd=B(Nu());const Jd={name:`aube`,lock:`package-lock.json`},Yd={npm:yd,pnpm:Od,yarn:Ld,bun:Kd};async function Xd(e){return Bu({workspaceRoot:e.workspaceRoot})===Jd.name}async function Zd(e){if(!await Xd(e))throw new Pu(`Not an aube project`,{type:`package_manager-unexpected`});let t=td({workspaceRoot:e.workspaceRoot}),n=Yd[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:Jd.name}}let r=zu(e),{name:i,description:a}=qu(e),o=nd({workspaceRoot:e.workspaceRoot}),s=Yu(e),c,l=Qu({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:Jd.name,paths:Zu({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:$u({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(id({packageManager:Jd.name,action:`create`,project:t}));let s=zu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Wu({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}),ud({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ud({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||qd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function $d(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(id({packageManager:Jd.name,action:`remove`,project:t}));let a=zu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Jd.name} package manager declarations in ${t.name} root "package.json"`),Gu({packageJson:a,packageManager:Jd.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)];await Promise.all(e.map(e=>qd.default.rm(e,{recursive:!0,force:!0})))}}async function ef(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 tf(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:od({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const nf={detect:Xd,read:Zd,create:Qd,remove:$d,clean:ef,convertLock:tf};var rf=B(Nu());const af={name:`nub`,lock:`package-lock.json`},sf={npm:yd,pnpm:Od,yarn:Ld,bun:Kd};async function cf(e){let t=Bu({workspaceRoot:e.workspaceRoot});return t===af.name}async function lf(e){let t=await cf(e);if(!t)throw new Pu(`Not a nub project`,{type:`package_manager-unexpected`});let n=td({workspaceRoot:e.workspaceRoot}),r=sf[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:af.name}}let i=zu(e),{name:a,description:o}=qu(e),s=nd({workspaceRoot:e.workspaceRoot}),c=Ju(e),l=n===`pnpm`&&c.length>0?c:Qu({workspaces:i.workspaces});return{name:a,description:o,packageManager:af.name,paths:Zu({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:$u({workspaceGlobs:l,...e})}}}async function uf(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(id({packageManager:af.name,action:`create`,project:t}));let s=zu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Wu({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||rf.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ud({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ud({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||rf.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function df(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(id({packageManager:af.name,action:`remove`,project:t}));let a=zu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${af.name} package manager declarations in ${t.name} root "package.json"`),Gu({packageJson:a,packageManager:af.name}),!r?.dry){rf.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=>rf.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function ff(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||rf.default.rmSync(t.paths.lockfile,{force:!0})}async function pf(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:od({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const mf={detect:cf,read:lf,create:uf,remove:df,clean:ff,convertLock:pf},hf={aube:nf,nub:mf,pnpm:Od,yarn:Ld,npm:yd,bun:Kd};async function gf({root:e}){let{exists:t,absolute:n}=rd({directory:e});if(!t)throw new Pu(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(hf))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new Pu("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 _f={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 vf(e){let{version:t,name:n}=e;return t?_f[n].find(e=>P(t,e.semver)):_f[n].find(e=>e.default)}async function yf(e){let{to:t,logger:n,options:r}=e,i=n??new au(r),a=vf(t);if(!a)throw new Pu(`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 bf({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 Pu(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!n.version)throw new Pu(`${n.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let a=n;i?.ignoreUnchangedPackageManager||await hf[e.packageManager].remove({project:e,to:a,logger:r,options:i}),await hf[a.name].create({project:e,to:a,logger:r,options:i}),r.mainStep(`Installing dependencies`),i?.skipInstall?r.subStep(t.yellow(`Skipping install`)):(await hf[a.name].convertLock({project:e,to:a,logger:r,options:i}),await yf({project:e,to:a,logger:r,options:i})),r.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==n.name&&await hf[e.packageManager].clean({project:e,logger:r,options:i})}export{Pu as ConvertError,au as Logger,hf as MANAGERS,bf as convertProject,ru as createNotifyUpdate,rd as directoryInfo,Ut as getAvailablePackageManagers,vf as getPackageManagerMeta,gf as getWorkspaceDetails,yf as install,Et as log};
|
|
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}),hu=z((exports,t)=>{let n=Wt().fromCallback;t.exports={copy:n(pu()),copySync:mu()}}),gu=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}),_u=z((exports,t)=>{let n=J(),r=Wt().fromCallback,i=gu();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}}),vu=z((exports,t)=>{let n=Wt().fromPromise,r=ou(),i=V(`path`),a=lu(),o=_u(),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}}),yu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=J(),a=lu();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}}),bu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=J(),a=lu(),o=uu().pathExists,{areIdentical:s}=fu();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}}),xu=z((exports,t)=>{let n=V(`path`),r=J(),i=uu().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}}),Su=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}}),Cu=z((exports,t)=>{let n=Wt().fromCallback,r=V(`path`),i=ou(),a=lu(),o=a.mkdirs,s=a.mkdirsSync,c=xu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=Su(),f=d.symlinkType,p=d.symlinkTypeSync,m=uu().pathExists,{areIdentical:h}=fu();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}}),wu=z((exports,t)=>{let{createFile:n,createFileSync:r}=yu(),{createLink:i,createLinkSync:a}=bu(),{createSymlink:o,createSymlinkSync:s}=Cu();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}}),Tu=z((exports,t)=>{let n=Kt();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),Eu=z((exports,t)=>{let n=Wt().fromCallback,r=J(),i=V(`path`),a=lu(),o=uu().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}}),Du=z((exports,t)=>{let{stringify:n}=Gt(),{outputFile:r}=Eu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),Ou=z((exports,t)=>{let{stringify:n}=Gt(),{outputFileSync:r}=Eu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),ku=z((exports,t)=>{let n=Wt().fromPromise,r=Tu();r.outputJson=n(Du()),r.outputJsonSync=Ou(),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}),Au=z((exports,t)=>{let n=J(),r=V(`path`),i=hu().copy,a=_u().remove,o=lu().mkdirp,s=uu().pathExists,c=fu();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}),ju=z((exports,t)=>{let n=J(),r=V(`path`),i=hu().copySync,a=_u().removeSync,o=lu().mkdirpSync,s=fu();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}),Mu=z((exports,t)=>{let n=Wt().fromCallback;t.exports={move:n(Au()),moveSync:ju()}}),Nu=z((exports,t)=>{t.exports={...ou(),...hu(),...vu(),...wu(),...ku(),...lu(),...Mu(),...Eu(),...uu(),..._u()}}),Pu=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},Fu=B(Nu());const Iu=/^(?!_)(?<manager>.+)@(?<version>.+)$/,Lu=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`,`aube`]);function Ru({workspaceRoot:e}){let t=a.join(e,`package.json`);try{return(0,Fu.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new Pu(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new Pu(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function zu({workspaceRoot:e}){let t=Ru({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=Iu.exec(n);if(e){let t=e.groups?.manager;return Bu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Vu("`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 Vu("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Vu('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Vu("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Vu("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Vu("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Vu("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Bu(o))throw Vu("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, `nub`, or `aube`");if(!(`version`in a))throw Vu("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Vu("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Vu("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Vu("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(N.validRange(s)===null)throw Vu("`devEngines.packageManager.version` must be a valid semantic version range");let c=N.minVersion(s);if(c===null)throw Vu("`devEngines.packageManager.version` must admit at least one version");for(let e of s.split(`||`)){let t=N.minVersion(e.trim());if(t===null)throw Vu("`devEngines.packageManager.version` must admit at least one version");if(t.major!==c.major||N.satisfies(`${t.major+1}.0.0`,e.trim()))throw Vu("`devEngines.packageManager.version` must only allow versions within one major version")}return o}function Bu(e){return typeof e==`string`&&Lu.has(e)}function Vu(e){return new Pu(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Hu(e){if(!e)return;let t=Iu.exec(e),n=t?.groups?.manager;return Bu(n)?n:void 0}function Uu({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 Wu({packageJson:e,packageManager:t}){Hu(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Gu(n)&&n.name===t&&delete e.devEngines?.packageManager}function Gu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Bu(e.name)&&`version`in e&&typeof e.version==`string`}function Ku({workspaceRoot:e}){let t=Ru({workspaceRoot:e}),n=a.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function qu({workspaceRoot:e}){return Yu({workspaceRoot:e,workspaceFileName:`pnpm-workspace.yaml`})}function Ju({workspaceRoot:e}){return Yu({workspaceRoot:e,workspaceFileName:`aube-workspace.yaml`})}function Yu({workspaceRoot:e,workspaceFileName:t}){let n=a.join(e,t);if((0,Fu.existsSync)(n))try{let e=h.load((0,Fu.readFileSync)(n,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new Pu(`failed to parse ${n}`,{type:`pnpm-workspace_parse_error`})}return[]}function Xu({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 Zu({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function Qu({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}=Ku({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:a.join(t,`node_modules`)}}})}const $u=[{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 ed({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of $u)if(n.some(t=>(0,Fu.existsSync)(a.join(e,t))))return t;return`npm`}function td({workspaceRoot:e}){let t=ed({workspaceRoot:e});switch(t){case`bun`:return(0,Fu.existsSync)(a.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return(0,Fu.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 nd({directory:e}){let t=a.resolve(process.cwd(),e);return{exists:(0,Fu.existsSync)(t),absolute:t}}function rd({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 id({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 ad({project:e,options:t}){t?.dry||(0,Fu.rmSync)(e.paths.lockfile,{force:!0})}async function od({project:e,options:t}){if(!t?.dry&&(0,Fu.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,Fu.writeFile)(a.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,Fu.rmSync)(e.paths.lockfile,{force:!0})}}var sd=B(Nu());function cd({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 ld({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=Ru({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}=cd({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||sd.default.writeJSONSync(n.paths.packageJson,s,{spaces:2})}var ud=B(Nu());const dd={name:`npm`,lock:`package-lock.json`};async function fd(e){let t=a.join(e.workspaceRoot,dd.lock),n=zu({workspaceRoot:e.workspaceRoot});return ud.default.existsSync(t)||n===dd.name}async function pd(e){let t=await fd(e);if(!t)throw new Pu(`Not an npm project`,{type:`package_manager-unexpected`});let n=Ru(e),{name:r,description:i}=Ku(e),a=Zu({workspaces:n.workspaces});return{name:r,description:i,packageManager:dd.name,paths:Xu({root:e.workspaceRoot,lockFile:dd.lock}),workspaceData:{globs:a,workspaces:Qu({workspaceGlobs:a,...e})}}}async function md(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(rd({packageManager:dd.name,action:`create`,project:t}));let s=Ru({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Uu({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||ud.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ld({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ld({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||ud.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function hd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(rd({packageManager:dd.name,action:`remove`,project:t}));let a=Ru({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${dd.name} package manager declarations in ${t.name} root "package.json"`),Wu({packageJson:a,packageManager:dd.name}),!r?.dry){ud.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=>ud.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function gd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||ud.default.rmSync(t.paths.lockfile,{force:!0})}async function _d(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:ad({project:t,options:n});break;case`bun`:ad({project:t,options:n});break;case`npm`:break;case`yarn`:ad({project:t,options:n});break;case`nub`:ad({project:t,options:n});break;case`aube`:ad({project:t,options:n});break}}const vd={detect:fd,read:pd,create:md,remove:hd,clean:gd,convertLock:_d};var yd=B(Nu());const bd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function xd(e){let t=a.join(e.workspaceRoot,bd.lock),n=a.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=zu({workspaceRoot:e.workspaceRoot});return yd.default.existsSync(t)||yd.default.existsSync(n)||r===bd.name}async function Sd(e){let t=await xd(e);if(!t)throw new Pu(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Ku(e);return{name:n,description:r,packageManager:bd.name,paths:Xu({root:e.workspaceRoot,lockFile:bd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:qu(e),workspaces:Qu({workspaceGlobs:qu(e),...e})}}}async function Cd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(rd({action:`create`,packageManager:bd.name,project:t}));let s=Ru({workspaceRoot:t.paths.root});if(r.rootHeader(),Uu({packageJson:s,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(yd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),o&&(r.rootStep(`adding "pnpm-workspace.yaml"`),yd.default.writeFileSync(a.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
|
|
46
|
+
`)}`))),o){ld({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ld({workspace:e,project:t,to:n,logger:r,options:i})}}async function wd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(rd({action:`remove`,packageManager:bd.name,project:t}));let a=Ru({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||yd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${bd.name} package manager declarations in ${t.name} root "package.json"`),Wu({packageJson:a,packageManager:bd.name}),!r?.dry){yd.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=>yd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Td(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||yd.default.rmSync(t.paths.lockfile,{force:!0})}async function Ed(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${bd.lock}`)},o=async()=>{if(!n?.dry&&yd.default.existsSync(t.paths.lockfile))try{await b(bd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{ad({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await od({project:t,options:n}),await o(),yd.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`:ad({project:t,options:n});break;case`aube`:ad({project:t,options:n});break}}const Dd={detect:xd,read:Sd,create:Cd,remove:wd,clean:Td,convertLock:Ed};var Od=B(Nu());const kd={name:`yarn`,lock:`yarn.lock`};async function Ad(e){let t=a.join(e.workspaceRoot,kd.lock),n=zu({workspaceRoot:e.workspaceRoot});return Od.default.existsSync(t)||n===kd.name}async function jd(e){let t=await Ad(e);if(!t)throw new Pu(`Not a yarn project`,{type:`package_manager-unexpected`});let n=Ru(e),{name:r,description:i}=Ku(e),a=Zu({workspaces:n.workspaces});return{name:r,description:i,packageManager:kd.name,paths:Xu({root:e.workspaceRoot,lockFile:kd.lock}),workspaceData:{globs:a,workspaces:Qu({workspaceGlobs:a,...e})}}}async function Md(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(rd({packageManager:kd.name,action:`create`,project:t}));let s=Ru({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Uu({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||Od.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ld({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ld({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Od.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Nd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(rd({packageManager:kd.name,action:`remove`,project:t}));let a=Ru({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${kd.name} package manager declarations in ${t.name} root "package.json"`),Wu({packageJson:a,packageManager:kd.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 Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Pd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Od.default.rmSync(t.paths.lockfile,{force:!0})}async function Fd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${kd.lock}`)};switch(t.packageManager){case`pnpm`:ad({project:t,options:n});break;case`bun`:i(),await od({project:t,options:n});break;case`npm`:ad({project:t,options:n});break;case`yarn`:break;case`nub`:ad({project:t,options:n});break;case`aube`:ad({project:t,options:n});break}}const Id={detect:Ad,read:jd,create:Md,remove:Nd,clean:Pd,convertLock:Fd};var Ld=B(Nu());const Rd={name:`bun`,lock:`bun.lockb`};async function zd(e){let t=a.join(e.workspaceRoot,Rd.lock),n=zu({workspaceRoot:e.workspaceRoot});return Ld.default.existsSync(t)||n===Rd.name}async function Bd(e){let t=await zd(e);if(!t)throw new Pu(`Not a bun project`,{type:`package_manager-unexpected`});let n=Ru(e),{name:r,description:i}=Ku(e),a=Zu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Rd.name,paths:Xu({root:e.workspaceRoot,lockFile:Rd.lock}),workspaceData:{globs:a,workspaces:Qu({workspaceGlobs:a,...e})}}}async function Vd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;if(!id({project:t}))throw new Pu(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(rd({packageManager:Rd.name,action:`create`,project:t}));let s=Ru({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Uu({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||Ld.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ld({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)ld({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Ld.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Hd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(rd({packageManager:Rd.name,action:`remove`,project:t}));let a=Ru({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Rd.name} package manager declarations in ${t.name} root "package.json"`),Wu({packageJson:a,packageManager:Rd.name}),!r?.dry){Ld.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=>Ld.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Ud(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Ld.default.rmSync(t.paths.lockfile,{force:!0})}async function Wd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:ad({project:t,options:n});break;case`bun`:break;case`npm`:ad({project:t,options:n});break;case`yarn`:ad({project:t,options:n});break;case`nub`:ad({project:t,options:n});break;case`aube`:ad({project:t,options:n});break}}const Gd={detect:zd,read:Bd,create:Vd,remove:Hd,clean:Ud,convertLock:Wd};var Kd=B(Nu());const qd={name:`aube`,lock:`package-lock.json`},Jd={npm:vd,pnpm:Dd,yarn:Id,bun:Gd};async function Yd(e){return zu({workspaceRoot:e.workspaceRoot})===qd.name}async function Xd(e){if(!await Yd(e))throw new Pu(`Not an aube project`,{type:`package_manager-unexpected`});let t=ed({workspaceRoot:e.workspaceRoot}),n=Jd[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:qd.name}}let r=Ru(e),{name:i,description:a}=Ku(e),o=td({workspaceRoot:e.workspaceRoot}),s=Ju(e),c,l=Zu({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:qd.name,paths:Xu({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:Qu({workspaceGlobs:l,...e})}}}async function Zd(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(rd({packageManager:qd.name,action:`create`,project:t}));let s=Ru({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Uu({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||Kd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ld({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ld({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Kd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Qd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(rd({packageManager:qd.name,action:`remove`,project:t}));let a=Ru({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${qd.name} package manager declarations in ${t.name} root "package.json"`),Wu({packageJson:a,packageManager:qd.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 $d(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Kd.default.rmSync(t.paths.lockfile,{force:!0})}async function ef(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:ad({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const tf={detect:Yd,read:Xd,create:Zd,remove:Qd,clean:$d,convertLock:ef};var nf=B(Nu());const rf={name:`nub`,lock:`package-lock.json`},af={npm:vd,pnpm:Dd,yarn:Id,bun:Gd};async function sf(e){let t=zu({workspaceRoot:e.workspaceRoot});return t===rf.name}async function cf(e){let t=await sf(e);if(!t)throw new Pu(`Not a nub project`,{type:`package_manager-unexpected`});let n=ed({workspaceRoot:e.workspaceRoot}),r=af[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:rf.name}}let i=Ru(e),{name:a,description:o}=Ku(e),s=td({workspaceRoot:e.workspaceRoot}),c=qu(e),l=n===`pnpm`&&c.length>0?c:Zu({workspaces:i.workspaces});return{name:a,description:o,packageManager:rf.name,paths:Xu({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:Qu({workspaceGlobs:l,...e})}}}async function lf(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(rd({packageManager:rf.name,action:`create`,project:t}));let s=Ru({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Uu({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||nf.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),ld({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)ld({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||nf.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function uf(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(rd({packageManager:rf.name,action:`remove`,project:t}));let a=Ru({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${rf.name} package manager declarations in ${t.name} root "package.json"`),Wu({packageJson:a,packageManager:rf.name}),!r?.dry){nf.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=>nf.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Pu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function df(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||nf.default.rmSync(t.paths.lockfile,{force:!0})}async function ff(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:ad({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const pf={detect:sf,read:cf,create:lf,remove:uf,clean:df,convertLock:ff},mf={aube:tf,nub:pf,pnpm:Dd,yarn:Id,npm:vd,bun:Gd};async function hf({root:e}){let{exists:t,absolute:n}=nd({directory:e});if(!t)throw new Pu(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(mf))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new Pu("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 gf={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 _f(e){let{version:t,name:n}=e;return t?gf[n].find(e=>P(t,e.semver)):gf[n].find(e=>e.default)}async function vf(e){let{to:t,logger:n,options:r}=e,i=n??new au(r),a=_f(t);if(!a)throw new Pu(`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 yf({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 Pu(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!n.version)throw new Pu(`${n.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let a=n;i?.ignoreUnchangedPackageManager||await mf[e.packageManager].remove({project:e,to:a,logger:r,options:i}),await mf[a.name].create({project:e,to:a,logger:r,options:i}),r.mainStep(`Installing dependencies`),i?.skipInstall?r.subStep(t.yellow(`Skipping install`)):(await mf[a.name].convertLock({project:e,to:a,logger:r,options:i}),await vf({project:e,to:a,logger:r,options:i})),r.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==n.name&&await mf[e.packageManager].clean({project:e,logger:r,options:i})}export{Pu as ConvertError,au as Logger,mf as MANAGERS,yf as convertProject,ru as createNotifyUpdate,nd as directoryInfo,Ut as getAvailablePackageManagers,_f as getPackageManagerMeta,hf as getWorkspaceDetails,vf as install,Et as log};
|
|
@@ -42,5 +42,5 @@ ${e.format(t)}
|
|
|
42
42
|
|
|
43
43
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0001`),s.checkPaths(e,t,`copy`,n,(i,a)=>{if(i)return r(i);let{srcStat:o,destStat:c}=a;s.checkParentPaths(e,o,t,`copy`,i=>i?r(i):n.filter?u(l,c,e,t,n,r):l(c,e,t,n,r))})}function l(e,t,n,o,s){let c=r.dirname(n);a(c,(r,a)=>{if(r)return s(r);if(a)return f(e,t,n,o,s);i(c,r=>r?s(r):f(e,t,n,o,s))})}function u(e,t,n,r,i,a){Promise.resolve(i.filter(n,r)).then(o=>o?e(t,n,r,i,a):a(),e=>a(e))}function d(e,t,n,r,i){return r.filter?u(f,e,t,n,r,i):f(e,t,n,r,i)}function f(e,t,r,i,a){let o=i.dereference?n.stat:n.lstat;o(t,(n,o)=>n?a(n):o.isDirectory()?S(o,e,t,r,i,a):o.isFile()||o.isCharacterDevice()||o.isBlockDevice()?p(o,e,t,r,i,a):o.isSymbolicLink()?D(e,t,r,i,a):o.isSocket()?a(Error(`Cannot copy a socket file: ${t}`)):o.isFIFO()?a(Error(`Cannot copy a FIFO pipe: ${t}`)):a(Error(`Unknown file: ${t}`)))}function p(e,t,n,r,i,a){return t?m(e,n,r,i,a):h(e,n,r,i,a)}function m(e,t,r,i,a){if(i.overwrite)n.unlink(r,n=>n?a(n):h(e,t,r,i,a));else if(i.errorOnExist)return a(Error(`'${r}' already exists`));else return a()}function h(e,t,r,i,a){n.copyFile(t,r,n=>n?a(n):i.preserveTimestamps?g(e.mode,t,r,a):b(r,e.mode,a))}function g(e,t,n,r){return _(e)?v(n,e,i=>i?r(i):y(e,t,n,r)):y(e,t,n,r)}function _(e){return(e&128)==0}function v(e,t,n){return b(e,t|128,n)}function y(e,t,n,r){x(t,n,t=>t?r(t):b(n,e,r))}function b(e,t,r){return n.chmod(e,t,r)}function x(e,t,r){n.stat(e,(e,n)=>e?r(e):o(t,n.atime,n.mtime,r))}function S(e,t,n,r,i,a){return t?w(n,r,i,a):C(e.mode,n,r,i,a)}function C(e,t,r,i,a){n.mkdir(r,n=>{if(n)return a(n);w(t,r,i,t=>t?a(t):b(r,e,a))})}function w(e,t,r,i){n.readdir(e,(n,a)=>n?i(n):T(a,e,t,r,i))}function T(e,t,n,r,i){let a=e.pop();return a?E(e,a,t,n,r,i):i()}function E(e,t,n,i,a,o){let c=r.join(n,t),l=r.join(i,t);s.checkPaths(c,l,`copy`,a,(t,r)=>{if(t)return o(t);let{destStat:s}=r;d(s,c,l,a,t=>t?o(t):T(e,n,i,a,o))})}function D(e,t,i,a,o){n.readlink(t,(t,c)=>{if(t)return o(t);if(a.dereference&&(c=r.resolve(process.cwd(),c)),e)n.readlink(i,(t,l)=>t?t.code===`EINVAL`||t.code===`UNKNOWN`?n.symlink(c,i,o):o(t):(a.dereference&&(l=r.resolve(process.cwd(),l)),s.isSrcSubdir(c,l)?o(Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)):e.isDirectory()&&s.isSrcSubdir(l,c)?o(Error(`Cannot overwrite '${l}' with '${c}'.`)):O(c,i,o)));else return n.symlink(c,i,o)})}function O(e,t,r){n.unlink(t,i=>i?r(i):n.symlink(e,t,r))}t.exports=c}),nu=o((exports,t)=>{let n=K(),r=require(`path`),i=Zl().mkdirsSync,a=$l().utimesMillisSync,o=eu();function s(e,t,n){typeof n==`function`&&(n={filter:n}),n||={},n.clobber=`clobber`in n?!!n.clobber:!0,n.overwrite=`overwrite`in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch===`ia32`&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
44
44
|
|
|
45
|
-
see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0002`);let{srcStat:r,destStat:i}=o.checkPathsSync(e,t,`copy`,n);return o.checkParentPathsSync(e,r,t,`copy`),c(i,e,t,n)}function c(e,t,a,o){if(o.filter&&!o.filter(t,a))return;let s=r.dirname(a);return n.existsSync(s)||i(s),u(e,t,a,o)}function l(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return u(e,t,n,r)}function u(e,t,r,i){let a=i.dereference?n.statSync:n.lstatSync,o=a(t);if(o.isDirectory())return y(o,e,t,r,i);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return d(o,e,t,r,i);if(o.isSymbolicLink())return C(e,t,r,i);throw o.isSocket()?Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?Error(`Cannot copy a FIFO pipe: ${t}`):Error(`Unknown file: ${t}`)}function d(e,t,n,r,i){return t?f(e,n,r,i):p(e,n,r,i)}function f(e,t,r,i){if(i.overwrite)return n.unlinkSync(r),p(e,t,r,i);if(i.errorOnExist)throw Error(`'${r}' already exists`)}function p(e,t,r,i){return n.copyFileSync(t,r),i.preserveTimestamps&&m(e.mode,t,r),_(r,e.mode)}function m(e,t,n){return h(e)&&g(n,e),v(t,n)}function h(e){return(e&128)==0}function g(e,t){return _(e,t|128)}function _(e,t){return n.chmodSync(e,t)}function v(e,t){let r=n.statSync(e);return a(t,r.atime,r.mtime)}function y(e,t,n,r,i){return t?x(n,r,i):b(e.mode,n,r,i)}function b(e,t,r,i){return n.mkdirSync(r),x(t,r,i),_(r,e)}function x(e,t,r){n.readdirSync(e).forEach(n=>S(n,e,t,r))}function S(e,t,n,i){let a=r.join(t,e),s=r.join(n,e),{destStat:c}=o.checkPathsSync(a,s,`copy`,i);return l(c,a,s,i)}function C(e,t,i,a){let s=n.readlinkSync(t);if(a.dereference&&(s=r.resolve(process.cwd(),s)),e){let e;try{e=n.readlinkSync(i)}catch(e){if(e.code===`EINVAL`||e.code===`UNKNOWN`)return n.symlinkSync(s,i);throw e}if(a.dereference&&(e=r.resolve(process.cwd(),e)),o.isSrcSubdir(s,e))throw Error(`Cannot copy '${s}' to a subdirectory of itself, '${e}'.`);if(n.statSync(i).isDirectory()&&o.isSrcSubdir(e,s))throw Error(`Cannot overwrite '${e}' with '${s}'.`);return w(s,i)}else return n.symlinkSync(s,i)}function w(e,t){return n.unlinkSync(t),n.symlinkSync(e,t)}t.exports=s}),ru=o((exports,t)=>{let n=Nt().fromCallback;t.exports={copy:n(tu()),copySync:nu()}}),iu=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}),au=o((exports,t)=>{let n=K(),r=Nt().fromCallback,i=iu();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}}),ou=o((exports,t)=>{let n=Nt().fromPromise,r=Jl(),i=require(`path`),a=Zl(),o=au(),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}}),su=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=K(),a=Zl();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}}),cu=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=K(),a=Zl(),o=Ql().pathExists,{areIdentical:s}=eu();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}}),lu=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}}),uu=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}}),du=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=Jl(),a=Zl(),o=a.mkdirs,s=a.mkdirsSync,c=lu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=uu(),f=d.symlinkType,p=d.symlinkTypeSync,m=Ql().pathExists,{areIdentical:h}=eu();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}}),fu=o((exports,t)=>{let{createFile:n,createFileSync:r}=su(),{createLink:i,createLinkSync:a}=cu(),{createSymlink:o,createSymlinkSync:s}=du();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}}),pu=o((exports,t)=>{let n=Ft();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),mu=o((exports,t)=>{let n=Nt().fromCallback,r=K(),i=require(`path`),a=Zl(),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}}),hu=o((exports,t)=>{let{stringify:n}=Pt(),{outputFile:r}=mu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),gu=o((exports,t)=>{let{stringify:n}=Pt(),{outputFileSync:r}=mu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),_u=o((exports,t)=>{let n=Nt().fromPromise,r=pu();r.outputJson=n(hu()),r.outputJsonSync=gu(),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}),vu=o((exports,t)=>{let n=K(),r=require(`path`),i=ru().copy,a=au().remove,o=Zl().mkdirp,s=Ql().pathExists,c=eu();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}),yu=o((exports,t)=>{let n=K(),r=require(`path`),i=ru().copySync,a=au().removeSync,o=Zl().mkdirpSync,s=eu();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}),bu=o((exports,t)=>{let n=Nt().fromCallback;t.exports={move:n(vu()),moveSync:yu()}}),xu=o((exports,t)=>{t.exports={...Jl(),...ru(),...ou(),...fu(),..._u(),...Zl(),...bu(),...mu(),...Ql(),...au()}}),$=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},Su=c(xu());const Cu=/^(?!_)(?<manager>.+)@(?<version>.+)$/,wu=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`,`aube`]),Tu=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function Eu({workspaceRoot:e}){let t=d.default.join(e,`package.json`);try{return(0,Su.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 Du({workspaceRoot:e}){let t=Eu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=Cu.exec(n);if(e){let t=e.groups?.manager;return Ou(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw ku("`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 ku("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw ku('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw ku("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw ku("`devEngines.packageManager.name` must be a string");if(o.length===0)throw ku("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw ku("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Ou(o))throw ku("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, `nub`, or `aube`");if(!(`version`in a))throw ku("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw ku("`devEngines.packageManager.version` must be a string");if(s.length===0)throw ku("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw ku("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!Tu.test(s)||j.default.valid(s)===null)throw ku("`devEngines.packageManager.version` must be an exact semantic version");return o}function Ou(e){return typeof e==`string`&&wu.has(e)}function ku(e){return new $(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Au(e){if(!e)return;let t=Cu.exec(e),n=t?.groups?.manager;return Ou(n)?n:void 0}function ju({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 Mu({packageJson:e,packageManager:t}){Au(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Nu(n)&&n.name===t&&delete e.devEngines?.packageManager}function Nu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Ou(e.name)&&`version`in e&&typeof e.version==`string`}function Pu({workspaceRoot:e}){let t=Eu({workspaceRoot:e}),n=d.default.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Fu({workspaceRoot:e}){return Lu({workspaceRoot:e,workspaceFileName:`pnpm-workspace.yaml`})}function Iu({workspaceRoot:e}){return Lu({workspaceRoot:e,workspaceFileName:`aube-workspace.yaml`})}function Lu({workspaceRoot:e,workspaceFileName:t}){let n=d.default.join(e,t);if((0,Su.existsSync)(n))try{let e=h.default.load((0,Su.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 Ru({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 zu({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function Bu({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}=Pu({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:d.default.join(t,`node_modules`)}}})}const Vu=[{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 Hu({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Vu)if(n.some(t=>(0,Su.existsSync)(d.default.join(e,t))))return t;return`npm`}function Uu({workspaceRoot:e}){let t=Hu({workspaceRoot:e});switch(t){case`bun`:return(0,Su.existsSync)(d.default.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return(0,Su.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 Wu({directory:e}){let t=d.default.resolve(process.cwd(),e);return{exists:(0,Su.existsSync)(t),absolute:t}}function Gu({packageManager:e,action:t,project:n}){let r=n.workspaceData.globs.length>0;return`${t===`remove`?`Removing`:`Adding`} ${e} ${r?`workspaces`:``} ${t===`remove`?`from`:`to`} ${n.name}`}function Ku({project:e}){let t=e=>{if(e.includes(`*`)){if(e.includes(`**`))return!1;let t=e.split(`/`).slice(0,-1).join(`/`);if(t.includes(`*`))return!1}return![`!`,`[`,`]`,`{`,`}`].some(t=>e.includes(t))};return e.workspaceData.globs.every(t)}function qu({project:e,options:t}){t?.dry||(0,Su.rmSync)(e.paths.lockfile,{force:!0})}async function Ju({project:e,options:t}){if(!t?.dry&&(0,Su.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,Su.writeFile)(d.default.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,Su.rmSync)(e.paths.lockfile,{force:!0})}}var Yu=c(xu());function Xu({dependencyList:e,project:t,to:n}){let r=[];for(let i of t.workspaceData.workspaces){let{name:t}=i;if(e[t]){let i=e[t],a=i.startsWith(`workspace:`)?i.slice(10):i;e[t]=n.name===`pnpm`?`workspace:${a}`:a,r.push(t)}}return{dependencyList:e,updated:r}}function Zu({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=Eu({workspaceRoot:t.paths.root}),o={dependencies:[],devDependencies:[],peerDependencies:[],optionalDependencies:[]},s=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`];for(let t of s){let r=a[t];if(r){let{updated:i,dependencyList:s}=Xu({dependencyList:r,project:e,to:n});a[t]=s,o[t]=i}}let c=e=>{let t=o[e].length;if(t>0)return`${l.default.green(t.toString())} ${e}`},u=s.map(c).filter(Boolean),f=`./${d.default.relative(e.paths.root,t.paths.packageJson)}`;if(u.length>=1){let e=`updating`;for(let[t,n]of u.entries())u.length===1?e+=` ${n} in ${f}`:t===u.length-1?e+=`and ${n} in ${f}`:e+=` ${n}, `;r.workspaceStep(e)}else r.workspaceStep(`no workspace dependencies found in ${f}`);i?.dry||Yu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2})}var Qu=c(xu());const $u={name:`npm`,lock:`package-lock.json`};async function ed(e){let t=d.default.join(e.workspaceRoot,$u.lock),n=Du({workspaceRoot:e.workspaceRoot});return Qu.default.existsSync(t)||n===$u.name}async function td(e){let t=await ed(e);if(!t)throw new $(`Not an npm project`,{type:`package_manager-unexpected`});let n=Eu(e),{name:r,description:i}=Pu(e),a=zu({workspaces:n.workspaces});return{name:r,description:i,packageManager:$u.name,paths:Ru({root:e.workspaceRoot,lockFile:$u.lock}),workspaceData:{globs:a,workspaces:Bu({workspaceGlobs:a,...e})}}}async function nd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Gu({packageManager:$u.name,action:`create`,project:t}));let o=Eu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),ju({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}),Zu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Zu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Qu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function rd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Gu({packageManager:$u.name,action:`remove`,project:t}));let a=Eu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${$u.name} package manager declarations in ${t.name} root "package.json"`),Mu({packageJson:a,packageManager:$u.name}),!r?.dry){Qu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Qu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function id(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Qu.default.rmSync(t.paths.lockfile,{force:!0})}async function ad(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:qu({project:t,options:n});break;case`bun`:qu({project:t,options:n});break;case`npm`:break;case`yarn`:qu({project:t,options:n});break;case`nub`:qu({project:t,options:n});break;case`aube`:qu({project:t,options:n});break}}const od={detect:ed,read:td,create:nd,remove:rd,clean:id,convertLock:ad};var sd=c(xu());const cd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function ld(e){let t=d.default.join(e.workspaceRoot,cd.lock),n=d.default.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=Du({workspaceRoot:e.workspaceRoot});return sd.default.existsSync(t)||sd.default.existsSync(n)||r===cd.name}async function ud(e){let t=await ld(e);if(!t)throw new $(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Pu(e);return{name:n,description:r,packageManager:cd.name,paths:Ru({root:e.workspaceRoot,lockFile:cd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Fu(e),workspaces:Bu({workspaceGlobs:Fu(e),...e})}}}async function dd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Gu({action:`create`,packageManager:cd.name,project:t}));let o=Eu({workspaceRoot:t.paths.root});if(r.rootHeader(),ju({packageJson:o,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(sd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),a&&(r.rootStep(`adding "pnpm-workspace.yaml"`),sd.default.writeFileSync(d.default.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
|
|
46
|
-
`)}`))),a){Zu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Zu({workspace:e,project:t,to:n,logger:r,options:i})}}async function fd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Gu({action:`remove`,packageManager:cd.name,project:t}));let a=Eu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||sd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${cd.name} package manager declarations in ${t.name} root "package.json"`),Mu({packageJson:a,packageManager:cd.name}),!r?.dry){sd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>sd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function pd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||sd.default.rmSync(t.paths.lockfile,{force:!0})}async function md(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${cd.lock}`)},a=async()=>{if(!n?.dry&&sd.default.existsSync(t.paths.lockfile))try{await(0,b.default)(cd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{qu({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await Ju({project:t,options:n}),await a(),sd.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`:qu({project:t,options:n});break;case`aube`:qu({project:t,options:n});break}}const hd={detect:ld,read:ud,create:dd,remove:fd,clean:pd,convertLock:md};var gd=c(xu());const _d={name:`yarn`,lock:`yarn.lock`};async function vd(e){let t=d.default.join(e.workspaceRoot,_d.lock),n=Du({workspaceRoot:e.workspaceRoot});return gd.default.existsSync(t)||n===_d.name}async function yd(e){let t=await vd(e);if(!t)throw new $(`Not a yarn project`,{type:`package_manager-unexpected`});let n=Eu(e),{name:r,description:i}=Pu(e),a=zu({workspaces:n.workspaces});return{name:r,description:i,packageManager:_d.name,paths:Ru({root:e.workspaceRoot,lockFile:_d.lock}),workspaceData:{globs:a,workspaces:Bu({workspaceGlobs:a,...e})}}}async function bd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Gu({packageManager:_d.name,action:`create`,project:t}));let o=Eu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),ju({packageJson:o,packageManager:n.name,version:n.version}),a){r.rootStep(`adding "workspaces" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.workspaces=t.workspaceData.globs,i?.dry||gd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Zu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Zu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||gd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function xd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Gu({packageManager:_d.name,action:`remove`,project:t}));let a=Eu({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"`),Mu({packageJson:a,packageManager:_d.name}),!r?.dry){gd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>gd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Sd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||gd.default.rmSync(t.paths.lockfile,{force:!0})}async function Cd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${_d.lock}`)};switch(t.packageManager){case`pnpm`:qu({project:t,options:n});break;case`bun`:i(),await Ju({project:t,options:n});break;case`npm`:qu({project:t,options:n});break;case`yarn`:break;case`nub`:qu({project:t,options:n});break;case`aube`:qu({project:t,options:n});break}}const wd={detect:vd,read:yd,create:bd,remove:xd,clean:Sd,convertLock:Cd};var Td=c(xu());const Ed={name:`bun`,lock:`bun.lockb`};async function Dd(e){let t=d.default.join(e.workspaceRoot,Ed.lock),n=Du({workspaceRoot:e.workspaceRoot});return Td.default.existsSync(t)||n===Ed.name}async function Od(e){let t=await Dd(e);if(!t)throw new $(`Not a bun project`,{type:`package_manager-unexpected`});let n=Eu(e),{name:r,description:i}=Pu(e),a=zu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Ed.name,paths:Ru({root:e.workspaceRoot,lockFile:Ed.lock}),workspaceData:{globs:a,workspaces:Bu({workspaceGlobs:a,...e})}}}async function kd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;if(!Ku({project:t}))throw new $(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Gu({packageManager:Ed.name,action:`create`,project:t}));let o=Eu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),ju({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||Td.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Zu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Zu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Td.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Ad(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Gu({packageManager:Ed.name,action:`remove`,project:t}));let a=Eu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Ed.name} package manager declarations in ${t.name} root "package.json"`),Mu({packageJson:a,packageManager:Ed.name}),!r?.dry){Td.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Td.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function jd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Td.default.rmSync(t.paths.lockfile,{force:!0})}async function Md(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:qu({project:t,options:n});break;case`bun`:break;case`npm`:qu({project:t,options:n});break;case`yarn`:qu({project:t,options:n});break;case`nub`:qu({project:t,options:n});break;case`aube`:qu({project:t,options:n});break}}const Nd={detect:Dd,read:Od,create:kd,remove:Ad,clean:jd,convertLock:Md};var Pd=c(xu());const Fd={name:`aube`,lock:`package-lock.json`},Id={npm:od,pnpm:hd,yarn:wd,bun:Nd};async function Ld(e){return Du({workspaceRoot:e.workspaceRoot})===Fd.name}async function Rd(e){if(!await Ld(e))throw new $(`Not an aube project`,{type:`package_manager-unexpected`});let t=Hu({workspaceRoot:e.workspaceRoot}),n=Id[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:Fd.name}}let r=Eu(e),{name:i,description:a}=Pu(e),o=Uu({workspaceRoot:e.workspaceRoot}),s=Iu(e),c,l=zu({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:Fd.name,paths:Ru({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:Bu({workspaceGlobs:l,...e})}}}async function zd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Gu({packageManager:Fd.name,action:`create`,project:t}));let o=Eu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),ju({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||Pd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Zu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Zu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Pd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Bd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Gu({packageManager:Fd.name,action:`remove`,project:t}));let a=Eu({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"`),Mu({packageJson:a,packageManager:Fd.name}),!r?.dry){Pd.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=>Pd.default.rm(e,{recursive:!0,force:!0})))}}async function Vd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Pd.default.rmSync(t.paths.lockfile,{force:!0})}async function Hd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:qu({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const Ud={detect:Ld,read:Rd,create:zd,remove:Bd,clean:Vd,convertLock:Hd};var Wd=c(xu());const Gd={name:`nub`,lock:`package-lock.json`},Kd={npm:od,pnpm:hd,yarn:wd,bun:Nd};async function qd(e){let t=Du({workspaceRoot:e.workspaceRoot});return t===Gd.name}async function Jd(e){let t=await qd(e);if(!t)throw new $(`Not a nub project`,{type:`package_manager-unexpected`});let n=Hu({workspaceRoot:e.workspaceRoot}),r=Kd[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:Gd.name}}let i=Eu(e),{name:a,description:o}=Pu(e),s=Uu({workspaceRoot:e.workspaceRoot}),c=Fu(e),l=n===`pnpm`&&c.length>0?c:zu({workspaces:i.workspaces});return{name:a,description:o,packageManager:Gd.name,paths:Ru({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:Bu({workspaceGlobs:l,...e})}}}async function Yd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Gu({packageManager:Gd.name,action:`create`,project:t}));let o=Eu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),ju({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||Wd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Zu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Zu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Wd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Xd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Gu({packageManager:Gd.name,action:`remove`,project:t}));let a=Eu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Gd.name} package manager declarations in ${t.name} root "package.json"`),Mu({packageJson:a,packageManager:Gd.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 $(`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 ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Wd.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`:qu({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const $d={detect:qd,read:Jd,create:Yd,remove:Xd,clean:Zd,convertLock:Qd},ef={aube:Ud,nub:$d,pnpm:hd,yarn:wd,npm:od,bun:Nd};async function tf({root:e}){let{exists:t,absolute:n}=Wu({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(ef))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 nf={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 rf(e){let{version:t,name:n}=e;return t?nf[n].find(e=>(0,j.satisfies)(t,e.semver)):nf[n].find(e=>e.default)}async function af(e){let{to:t,logger:n,options:r}=e,i=n??new ql(r),a=rf(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 sf({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 ef[e.packageManager].remove({project:e,to:i,logger:n,options:r}),await ef[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 ef[i.name].convertLock({project:e,to:i,logger:n,options:r}),await af({project:e,to:i,logger:n,options:r})),n.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==t.name&&await ef[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 ql}}),Object.defineProperty(exports,`MANAGERS`,{enumerable:!0,get:function(){return ef}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`convertProject`,{enumerable:!0,get:function(){return sf}}),Object.defineProperty(exports,`createNotifyUpdate`,{enumerable:!0,get:function(){return Gl}}),Object.defineProperty(exports,`directoryInfo`,{enumerable:!0,get:function(){return Wu}}),Object.defineProperty(exports,`getAvailablePackageManagers`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`getPackageManagerMeta`,{enumerable:!0,get:function(){return rf}}),Object.defineProperty(exports,`getWorkspaceDetails`,{enumerable:!0,get:function(){return tf}}),Object.defineProperty(exports,`install`,{enumerable:!0,get:function(){return af}}),Object.defineProperty(exports,`log`,{enumerable:!0,get:function(){return ht}});
|
|
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}),ru=o((exports,t)=>{let n=Nt().fromCallback;t.exports={copy:n(tu()),copySync:nu()}}),iu=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}),au=o((exports,t)=>{let n=K(),r=Nt().fromCallback,i=iu();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}}),ou=o((exports,t)=>{let n=Nt().fromPromise,r=Jl(),i=require(`path`),a=Zl(),o=au(),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}}),su=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=K(),a=Zl();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}}),cu=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=K(),a=Zl(),o=Ql().pathExists,{areIdentical:s}=eu();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}}),lu=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}}),uu=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}}),du=o((exports,t)=>{let n=Nt().fromCallback,r=require(`path`),i=Jl(),a=Zl(),o=a.mkdirs,s=a.mkdirsSync,c=lu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=uu(),f=d.symlinkType,p=d.symlinkTypeSync,m=Ql().pathExists,{areIdentical:h}=eu();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}}),fu=o((exports,t)=>{let{createFile:n,createFileSync:r}=su(),{createLink:i,createLinkSync:a}=cu(),{createSymlink:o,createSymlinkSync:s}=du();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}}),pu=o((exports,t)=>{let n=Ft();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),mu=o((exports,t)=>{let n=Nt().fromCallback,r=K(),i=require(`path`),a=Zl(),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}}),hu=o((exports,t)=>{let{stringify:n}=Pt(),{outputFile:r}=mu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),gu=o((exports,t)=>{let{stringify:n}=Pt(),{outputFileSync:r}=mu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),_u=o((exports,t)=>{let n=Nt().fromPromise,r=pu();r.outputJson=n(hu()),r.outputJsonSync=gu(),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}),vu=o((exports,t)=>{let n=K(),r=require(`path`),i=ru().copy,a=au().remove,o=Zl().mkdirp,s=Ql().pathExists,c=eu();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}),yu=o((exports,t)=>{let n=K(),r=require(`path`),i=ru().copySync,a=au().removeSync,o=Zl().mkdirpSync,s=eu();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}),bu=o((exports,t)=>{let n=Nt().fromCallback;t.exports={move:n(vu()),moveSync:yu()}}),xu=o((exports,t)=>{t.exports={...Jl(),...ru(),...ou(),...fu(),..._u(),...Zl(),...bu(),...mu(),...Ql(),...au()}}),$=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},Su=c(xu());const Cu=/^(?!_)(?<manager>.+)@(?<version>.+)$/,wu=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`,`aube`]);function Tu({workspaceRoot:e}){let t=d.default.join(e,`package.json`);try{return(0,Su.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 Eu({workspaceRoot:e}){let t=Tu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=Cu.exec(n);if(e){let t=e.groups?.manager;return Du(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Ou("`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 Ou("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Ou('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Ou("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Ou("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Ou("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Ou("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Du(o))throw Ou("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, `nub`, or `aube`");if(!(`version`in a))throw Ou("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Ou("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Ou("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Ou("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(j.default.validRange(s)===null)throw Ou("`devEngines.packageManager.version` must be a valid semantic version range");let c=j.default.minVersion(s);if(c===null)throw Ou("`devEngines.packageManager.version` must admit at least one version");for(let e of s.split(`||`)){let t=j.default.minVersion(e.trim());if(t===null)throw Ou("`devEngines.packageManager.version` must admit at least one version");if(t.major!==c.major||j.default.satisfies(`${t.major+1}.0.0`,e.trim()))throw Ou("`devEngines.packageManager.version` must only allow versions within one major version")}return o}function Du(e){return typeof e==`string`&&wu.has(e)}function Ou(e){return new $(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function ku(e){if(!e)return;let t=Cu.exec(e),n=t?.groups?.manager;return Du(n)?n:void 0}function Au({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 ju({packageJson:e,packageManager:t}){ku(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Mu(n)&&n.name===t&&delete e.devEngines?.packageManager}function Mu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Du(e.name)&&`version`in e&&typeof e.version==`string`}function Nu({workspaceRoot:e}){let t=Tu({workspaceRoot:e}),n=d.default.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Pu({workspaceRoot:e}){return Iu({workspaceRoot:e,workspaceFileName:`pnpm-workspace.yaml`})}function Fu({workspaceRoot:e}){return Iu({workspaceRoot:e,workspaceFileName:`aube-workspace.yaml`})}function Iu({workspaceRoot:e,workspaceFileName:t}){let n=d.default.join(e,t);if((0,Su.existsSync)(n))try{let e=h.default.load((0,Su.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 Lu({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 Ru({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function zu({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}=Nu({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:d.default.join(t,`node_modules`)}}})}const Bu=[{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 Vu({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Bu)if(n.some(t=>(0,Su.existsSync)(d.default.join(e,t))))return t;return`npm`}function Hu({workspaceRoot:e}){let t=Vu({workspaceRoot:e});switch(t){case`bun`:return(0,Su.existsSync)(d.default.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return(0,Su.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 Uu({directory:e}){let t=d.default.resolve(process.cwd(),e);return{exists:(0,Su.existsSync)(t),absolute:t}}function Wu({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 Gu({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 Ku({project:e,options:t}){t?.dry||(0,Su.rmSync)(e.paths.lockfile,{force:!0})}async function qu({project:e,options:t}){if(!t?.dry&&(0,Su.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,Su.writeFile)(d.default.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,Su.rmSync)(e.paths.lockfile,{force:!0})}}var Ju=c(xu());function Yu({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 Xu({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=Tu({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}=Yu({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||Ju.default.writeJSONSync(t.paths.packageJson,a,{spaces:2})}var Zu=c(xu());const Qu={name:`npm`,lock:`package-lock.json`};async function $u(e){let t=d.default.join(e.workspaceRoot,Qu.lock),n=Eu({workspaceRoot:e.workspaceRoot});return Zu.default.existsSync(t)||n===Qu.name}async function ed(e){let t=await $u(e);if(!t)throw new $(`Not an npm project`,{type:`package_manager-unexpected`});let n=Tu(e),{name:r,description:i}=Nu(e),a=Ru({workspaces:n.workspaces});return{name:r,description:i,packageManager:Qu.name,paths:Lu({root:e.workspaceRoot,lockFile:Qu.lock}),workspaceData:{globs:a,workspaces:zu({workspaceGlobs:a,...e})}}}async function td(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Wu({packageManager:Qu.name,action:`create`,project:t}));let o=Tu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Au({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||Zu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Xu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Xu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Zu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function nd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Wu({packageManager:Qu.name,action:`remove`,project:t}));let a=Tu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Qu.name} package manager declarations in ${t.name} root "package.json"`),ju({packageJson:a,packageManager:Qu.name}),!r?.dry){Zu.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=>Zu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function rd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Zu.default.rmSync(t.paths.lockfile,{force:!0})}async function id(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Ku({project:t,options:n});break;case`bun`:Ku({project:t,options:n});break;case`npm`:break;case`yarn`:Ku({project:t,options:n});break;case`nub`:Ku({project:t,options:n});break;case`aube`:Ku({project:t,options:n});break}}const ad={detect:$u,read:ed,create:td,remove:nd,clean:rd,convertLock:id};var od=c(xu());const sd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function cd(e){let t=d.default.join(e.workspaceRoot,sd.lock),n=d.default.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=Eu({workspaceRoot:e.workspaceRoot});return od.default.existsSync(t)||od.default.existsSync(n)||r===sd.name}async function ld(e){let t=await cd(e);if(!t)throw new $(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Nu(e);return{name:n,description:r,packageManager:sd.name,paths:Lu({root:e.workspaceRoot,lockFile:sd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Pu(e),workspaces:zu({workspaceGlobs:Pu(e),...e})}}}async function ud(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Wu({action:`create`,packageManager:sd.name,project:t}));let o=Tu({workspaceRoot:t.paths.root});if(r.rootHeader(),Au({packageJson:o,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(od.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),a&&(r.rootStep(`adding "pnpm-workspace.yaml"`),od.default.writeFileSync(d.default.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
|
|
46
|
+
`)}`))),a){Xu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Xu({workspace:e,project:t,to:n,logger:r,options:i})}}async function dd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Wu({action:`remove`,packageManager:sd.name,project:t}));let a=Tu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||od.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${sd.name} package manager declarations in ${t.name} root "package.json"`),ju({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 $(`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 ${d.default.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,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${sd.lock}`)},a=async()=>{if(!n?.dry&&od.default.existsSync(t.paths.lockfile))try{await(0,b.default)(sd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{Ku({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await qu({project:t,options:n}),await a(),od.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`:Ku({project:t,options:n});break;case`aube`:Ku({project:t,options:n});break}}const md={detect:cd,read:ld,create:ud,remove:dd,clean:fd,convertLock:pd};var hd=c(xu());const gd={name:`yarn`,lock:`yarn.lock`};async function _d(e){let t=d.default.join(e.workspaceRoot,gd.lock),n=Eu({workspaceRoot:e.workspaceRoot});return hd.default.existsSync(t)||n===gd.name}async function vd(e){let t=await _d(e);if(!t)throw new $(`Not a yarn project`,{type:`package_manager-unexpected`});let n=Tu(e),{name:r,description:i}=Nu(e),a=Ru({workspaces:n.workspaces});return{name:r,description:i,packageManager:gd.name,paths:Lu({root:e.workspaceRoot,lockFile:gd.lock}),workspaceData:{globs:a,workspaces:zu({workspaceGlobs:a,...e})}}}async function yd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Wu({packageManager:gd.name,action:`create`,project:t}));let o=Tu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Au({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||hd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Xu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Xu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||hd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function bd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Wu({packageManager:gd.name,action:`remove`,project:t}));let a=Tu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${gd.name} package manager declarations in ${t.name} root "package.json"`),ju({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 $(`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 ${d.default.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 ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${gd.lock}`)};switch(t.packageManager){case`pnpm`:Ku({project:t,options:n});break;case`bun`:i(),await qu({project:t,options:n});break;case`npm`:Ku({project:t,options:n});break;case`yarn`:break;case`nub`:Ku({project:t,options:n});break;case`aube`:Ku({project:t,options:n});break}}const Cd={detect:_d,read:vd,create:yd,remove:bd,clean:xd,convertLock:Sd};var wd=c(xu());const Td={name:`bun`,lock:`bun.lockb`};async function Ed(e){let t=d.default.join(e.workspaceRoot,Td.lock),n=Eu({workspaceRoot:e.workspaceRoot});return wd.default.existsSync(t)||n===Td.name}async function Dd(e){let t=await Ed(e);if(!t)throw new $(`Not a bun project`,{type:`package_manager-unexpected`});let n=Tu(e),{name:r,description:i}=Nu(e),a=Ru({workspaces:n.workspaces});return{name:r,description:i,packageManager:Td.name,paths:Lu({root:e.workspaceRoot,lockFile:Td.lock}),workspaceData:{globs:a,workspaces:zu({workspaceGlobs:a,...e})}}}async function Od(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;if(!Gu({project:t}))throw new $(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Wu({packageManager:Td.name,action:`create`,project:t}));let o=Tu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Au({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||wd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Xu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Xu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||wd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function kd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Wu({packageManager:Td.name,action:`remove`,project:t}));let a=Tu({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"`),ju({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 $(`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 ${d.default.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}=e;switch(t.packageManager){case`pnpm`:Ku({project:t,options:n});break;case`bun`:break;case`npm`:Ku({project:t,options:n});break;case`yarn`:Ku({project:t,options:n});break;case`nub`:Ku({project:t,options:n});break;case`aube`:Ku({project:t,options:n});break}}const Md={detect:Ed,read:Dd,create:Od,remove:kd,clean:Ad,convertLock:jd};var Nd=c(xu());const Pd={name:`aube`,lock:`package-lock.json`},Fd={npm:ad,pnpm:md,yarn:Cd,bun:Md};async function Id(e){return Eu({workspaceRoot:e.workspaceRoot})===Pd.name}async function Ld(e){if(!await Id(e))throw new $(`Not an aube project`,{type:`package_manager-unexpected`});let t=Vu({workspaceRoot:e.workspaceRoot}),n=Fd[t];if(await n.detect(e)){let t=await n.read(e);return{...t,packageManager:Pd.name}}let r=Tu(e),{name:i,description:a}=Nu(e),o=Hu({workspaceRoot:e.workspaceRoot}),s=Fu(e),c,l=Ru({workspaces:r.workspaces});return s.length>0&&(c=`aube-workspace.yaml`,l=s),{name:i,description:a,packageManager:Pd.name,paths:Lu({root:e.workspaceRoot,lockFile:o,workspaceConfig:c}),workspaceData:{globs:l,workspaces:zu({workspaceGlobs:l,...e})}}}async function Rd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Wu({packageManager:Pd.name,action:`create`,project:t}));let o=Tu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Au({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||Nd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Xu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Xu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Nd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function zd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Wu({packageManager:Pd.name,action:`remove`,project:t}));let a=Tu({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"`),ju({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)];await Promise.all(e.map(e=>Nd.default.rm(e,{recursive:!0,force:!0})))}}async function Bd(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 Vd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Ku({project:t,options:n});break;case`npm`:case`nub`:case`aube`:break}}const Hd={detect:Id,read:Ld,create:Rd,remove:zd,clean:Bd,convertLock:Vd};var Ud=c(xu());const Wd={name:`nub`,lock:`package-lock.json`},Gd={npm:ad,pnpm:md,yarn:Cd,bun:Md};async function Kd(e){let t=Eu({workspaceRoot:e.workspaceRoot});return t===Wd.name}async function qd(e){let t=await Kd(e);if(!t)throw new $(`Not a nub project`,{type:`package_manager-unexpected`});let n=Vu({workspaceRoot:e.workspaceRoot}),r=Gd[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:Wd.name}}let i=Tu(e),{name:a,description:o}=Nu(e),s=Hu({workspaceRoot:e.workspaceRoot}),c=Pu(e),l=n===`pnpm`&&c.length>0?c:Ru({workspaces:i.workspaces});return{name:a,description:o,packageManager:Wd.name,paths:Lu({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:zu({workspaceGlobs:l,...e})}}}async function Jd(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Wu({packageManager:Wd.name,action:`create`,project:t}));let o=Tu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),Au({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||Ud.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Xu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Xu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Ud.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Yd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Wu({packageManager:Wd.name,action:`remove`,project:t}));let a=Tu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Wd.name} package manager declarations in ${t.name} root "package.json"`),ju({packageJson:a,packageManager:Wd.name}),!r?.dry){Ud.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=>Ud.default.rm(e,{recursive:!0,force:!0})))}catch{throw new $(`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 ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Ud.default.rmSync(t.paths.lockfile,{force:!0})}async function Zd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Ku({project:t,options:n});break;case`npm`:case`nub`:break;case`aube`:break}}const Qd={detect:Kd,read:qd,create:Jd,remove:Yd,clean:Xd,convertLock:Zd},$d={aube:Hd,nub:Qd,pnpm:md,yarn:Cd,npm:ad,bun:Md};async function ef({root:e}){let{exists:t,absolute:n}=Uu({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($d))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 tf={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 nf(e){let{version:t,name:n}=e;return t?tf[n].find(e=>(0,j.satisfies)(t,e.semver)):tf[n].find(e=>e.default)}async function rf(e){let{to:t,logger:n,options:r}=e,i=n??new ql(r),a=nf(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 af({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 $d[e.packageManager].remove({project:e,to:i,logger:n,options:r}),await $d[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 $d[i.name].convertLock({project:e,to:i,logger:n,options:r}),await rf({project:e,to:i,logger:n,options:r})),n.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==t.name&&await $d[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 ql}}),Object.defineProperty(exports,`MANAGERS`,{enumerable:!0,get:function(){return $d}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`convertProject`,{enumerable:!0,get:function(){return af}}),Object.defineProperty(exports,`createNotifyUpdate`,{enumerable:!0,get:function(){return Gl}}),Object.defineProperty(exports,`directoryInfo`,{enumerable:!0,get:function(){return Uu}}),Object.defineProperty(exports,`getAvailablePackageManagers`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`getPackageManagerMeta`,{enumerable:!0,get:function(){return nf}}),Object.defineProperty(exports,`getWorkspaceDetails`,{enumerable:!0,get:function(){return ef}}),Object.defineProperty(exports,`install`,{enumerable:!0,get:function(){return rf}}),Object.defineProperty(exports,`log`,{enumerable:!0,get:function(){return ht}});
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./convert-
|
|
1
|
+
const e=require(`./convert-CgFnDjaG.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-B8oz6oBt.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/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAkBD,iBAAS,cAAc,CAAC,EACtB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,WAAW,CAwBd;AAED,iBAAS,0BAA0B,CAAC,EAClC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,cAAc,GAAG,SAAS,CAuI7B;AA8BD,iBAAS,4BAA4B,CAAC,EACpC,WAAW,EACX,cAAc,EACd,OAAO,EACR,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAgBP;AAED,iBAAS,+BAA+B,CAAC,EACvC,WAAW,EACX,cAAc,EACf,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,IAAI,CAeP;AAgBD,iBAAS,gBAAgB,CAAC,EACxB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,aAAa,CAUhB;AAED,iBAAS,iBAAiB,CAAC,EACzB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,KAAK,CAAC,MAAM,CAAC,CAKhB;AAED,iBAAS,iBAAiB,CAAC,EACzB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,KAAK,CAAC,MAAM,CAAC,CAKhB;AA+BD,iBAAS,WAAW,CAAC,EACnB,IAAI,EACJ,QAAQ,EACR,eAAe,EAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;;;;;;EAcA;AAED,iBAAS,sBAAsB,CAAC,EAC9B,UAAU,EACX,EAAE;IACD,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACvC,GAAG,KAAK,CAAC,MAAM,CAAC,CAchB;AAED,iBAAS,gBAAgB,CAAC,EACxB,aAAa,EACb,cAAc,EACf,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAChC,GAAG,KAAK,CAAC,SAAS,CAAC,CAgCnB;AAED,KAAK,sBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;AAYtE,iBAAS,4BAA4B,CAAC,EACpC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,sBAAsB,CAYzB;AAED,iBAAS,yBAAyB,CAAC,EACjC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAuBT;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;IAEhD,MAAM;IAAmB,QAAQ;EAC3C;AAED,iBAAS,WAAW,CAAC,EACnB,cAAc,EACd,MAAM,EACN,OAAO,EACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,UAKA;AAED;;;;;;;;GAQG;AACH,iBAAS,6BAA6B,CAAC,EACrC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAuBV;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,QAKA;AAED,iBAAe,iBAAiB,CAAC,EAC/B,OAAO,EACP,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,iBAkBA;AAED,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,EAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turbo/workspaces",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"description": "Tools for working with package managers",
|
|
5
5
|
"homepage": "https://turborepo.dev",
|
|
6
6
|
"bugs": {
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"tsdown": "0.12.0",
|
|
47
47
|
"typescript": "npm:@typescript/typescript6@^6.0.1",
|
|
48
48
|
"typescript-7": "npm:typescript@7.0.1-rc",
|
|
49
|
-
"@turbo/test-utils": "0.0.0",
|
|
50
49
|
"@turbo/tsconfig": "0.0.0",
|
|
50
|
+
"@turbo/test-utils": "0.0.0",
|
|
51
51
|
"@turbo/utils": "0.0.0"
|
|
52
52
|
}
|
|
53
53
|
}
|