@turbo/codemod 2.8.15 → 2.8.16

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.
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../dist-CKadySos.js`),n=require(`../get-transformer-helpers-C1Pfh9v0.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`));var a=e.__toESM(t.require_dist());const o=`add-package-manager`,s="Set the `packageManager` key in root `package.json` file",c=`1.1.0`;async function l({root:t,options:s}){let{log:c,runner:l}=n.getTransformerHelpers({transformer:o,rootPath:t,options:s}),u=i.default.join(t,`package.json`),d=r.default.readJsonSync(u);if(`packageManager`in d)return c.info(`"packageManager" already set in root "package.json"`),l.finish();c.info(`Set "packageManager" key in root "package.json" file...`);let f;try{f=await(0,a.getWorkspaceDetails)({root:t})}catch{return l.abortTransform({reason:`Unable to determine package manager for ${t}`})}let p=await e.getAvailablePackageManagers(),{packageManager:m}=f,h=p[m];if(!h)return l.abortTransform({reason:`Unable to determine package manager version for ${t}`});let g=`${m}@${h}`,_=[{name:`package.json`,path:t,packageJson:{...d,packageJsonPath:u}}];for(let e of _){let{packageJsonPath:t,...n}=e.packageJson,r={...n,packageManager:g};l.modifyFile({filePath:t,after:r})}return l.finish()}const u={name:o,description:s,introducedIn:c,transformer:l};var d=u;exports.default=d,exports.transformer=l;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../dist-CmRfU9w3.js`),n=require(`../get-transformer-helpers-HWTlxk8i.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`));var a=e.__toESM(t.require_dist());const o=`add-package-manager`,s="Set the `packageManager` key in root `package.json` file",c=`1.1.0`;async function l({root:t,options:s}){let{log:c,runner:l}=n.getTransformerHelpers({transformer:o,rootPath:t,options:s}),u=i.default.join(t,`package.json`),d=r.default.readJsonSync(u);if(`packageManager`in d)return c.info(`"packageManager" already set in root "package.json"`),l.finish();c.info(`Set "packageManager" key in root "package.json" file...`);let f;try{f=await(0,a.getWorkspaceDetails)({root:t})}catch{return l.abortTransform({reason:`Unable to determine package manager for ${t}`})}let p=await e.getAvailablePackageManagers(),{packageManager:m}=f,h=p[m];if(!h)return l.abortTransform({reason:`Unable to determine package manager version for ${t}`});let g=`${m}@${h}`,_=[{name:`package.json`,path:t,packageJson:{...d,packageJsonPath:u}}];for(let e of _){let{packageJsonPath:t,...n}=e.packageJson,r={...n,packageManager:g};l.modifyFile({filePath:t,after:r})}return l.finish()}const u={name:o,description:s,introducedIn:c,transformer:l};var d=u;exports.default=d,exports.transformer=l;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../dist-CKadySos.js`),n=require(`../get-transformer-helpers-C1Pfh9v0.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`));var a=e.__toESM(t.require_dist());const o=`add-package-names`,s=`Ensure all packages have a name in their package.json`,c=`2.0.0-canary.0`;async function l(e){try{return await r.default.readJson(e)}catch{return null}}function u({pkgPath:e,pkgName:t}){let n=``,r=t;if(t&&t.startsWith(`@`)&&t.includes(`/`)){let e=t.split(`/`);n=`${e[0]}/`,r=e[1]}let a=i.default.basename(i.default.dirname(e));return t?`${n}${a}-${r}`:`${n}${a}`}async function d({root:e,options:t}){let{log:r,runner:i}=n.getTransformerHelpers({transformer:o,rootPath:e,options:t});r.info(`Validating that each package has a unique "name"...`);let s;try{s=await(0,a.getWorkspaceDetails)({root:e})}catch{return i.abortTransform({reason:`Unable to determine package manager for ${e}`})}let c=[s.paths.packageJson],d=[l(s.paths.packageJson)];for(let e of s.workspaceData.workspaces){let t=e.paths.packageJson;c.push(t),d.push(l(t))}let f=await Promise.all(d),p=Object.fromEntries(c.map((e,t)=>[e,f[t]])),m=new Set;for(let[e,t]of Object.entries(p))if(t)if(!t.name||m.has(t.name)){let n=u({pkgPath:e,pkgName:t.name});i.modifyFile({filePath:e,after:{...t,name:n}}),m.add(n)}else m.add(t.name);return i.finish()}const f={name:o,description:s,introducedIn:c,transformer:d};var p=f;exports.default=p,exports.getNewPkgName=u,exports.transformer=d;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../dist-CmRfU9w3.js`),n=require(`../get-transformer-helpers-HWTlxk8i.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`));var a=e.__toESM(t.require_dist());const o=`add-package-names`,s=`Ensure all packages have a name in their package.json`,c=`2.0.0-canary.0`;async function l(e){try{return await r.default.readJson(e)}catch{return null}}function u({pkgPath:e,pkgName:t}){let n=``,r=t;if(t&&t.startsWith(`@`)&&t.includes(`/`)){let e=t.split(`/`);n=`${e[0]}/`,r=e[1]}let a=i.default.basename(i.default.dirname(e));return t?`${n}${a}-${r}`:`${n}${a}`}async function d({root:e,options:t}){let{log:r,runner:i}=n.getTransformerHelpers({transformer:o,rootPath:e,options:t});r.info(`Validating that each package has a unique "name"...`);let s;try{s=await(0,a.getWorkspaceDetails)({root:e})}catch{return i.abortTransform({reason:`Unable to determine package manager for ${e}`})}let c=[s.paths.packageJson],d=[l(s.paths.packageJson)];for(let e of s.workspaceData.workspaces){let t=e.paths.packageJson;c.push(t),d.push(l(t))}let f=await Promise.all(d),p=Object.fromEntries(c.map((e,t)=>[e,f[t]])),m=new Set;for(let[e,t]of Object.entries(p))if(t)if(!t.name||m.has(t.name)){let n=u({pkgPath:e,pkgName:t.name});i.modifyFile({filePath:e,after:{...t,name:n}}),m.add(n)}else m.add(t.name);return i.finish()}const f={name:o,description:s,introducedIn:c,transformer:d};var p=f;exports.default=p,exports.getNewPkgName=u,exports.transformer=d;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=e.__toESM(require(`node:path`)),i=`clean-globs`,a=`Automatically clean up invalid globs from your 'turbo.json' file`,o=`1.11.0`;function s({root:a,options:o}){let{runner:s}=t.getTransformerHelpers({transformer:i,rootPath:a,options:o}),l=r.default.join(a,`turbo.json`),u=n.loadTurboJson(l);s.modifyFile({filePath:l,after:c(u)});let d=e.getTurboConfigs(a);for(let e of d){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&s.modifyFile({filePath:n,after:c(t)})}return s.finish()}function c(e){let t=e=>l(e);for(let[n,r]of Object.entries(e.pipeline))r.inputs=r.inputs?.map(t),r.outputs=r.outputs?.map(t);return e}function l(e){let t=e,n=t.replace(/\*\*\/\*\*/g,`**`);for(;n!==t;)t=n,n=t.replace(/\*\*\/\*\*/g,`**`);return n=t.replace(/(\*\*)([^*/]+)/g,`$1/*$2`),n!==t&&(t=n),n=t.replace(/([^*/]+)(\*\*)/g,`$1*/$2`),n!==t&&(t=n),t}const u={name:i,description:a,introducedIn:o,transformer:s};var d=u;exports.default=d,exports.fixGlobPattern=l,exports.transformer=s;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`node:path`)),a=`clean-globs`,o=`Automatically clean up invalid globs from your 'turbo.json' file`,s=`1.11.0`;function c({root:r,options:o}){let{runner:s}=t.getTransformerHelpers({transformer:a,rootPath:r,options:o}),c=i.default.join(r,`turbo.json`),u=n.loadTurboJson(c);s.modifyFile({filePath:c,after:l(u)});let d=e.getTurboConfigs(r);for(let e of d){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&s.modifyFile({filePath:n,after:l(t)})}return s.finish()}function l(e){if(r.isPipelineKeyMissing(e))return e;let t=e=>u(e);for(let[n,r]of Object.entries(e.pipeline))r.inputs=r.inputs?.map(t),r.outputs=r.outputs?.map(t);return e}function u(e){let t=e,n=t.replace(/\*\*\/\*\*/g,`**`);for(;n!==t;)t=n,n=t.replace(/\*\*\/\*\*/g,`**`);return n=t.replace(/(\*\*)([^*/]+)/g,`$1/*$2`),n!==t&&(t=n),n=t.replace(/([^*/]+)(\*\*)/g,`$1*/$2`),n!==t&&(t=n),t}const d={name:a,description:o,introducedIn:s,transformer:c};var f=d;exports.default=f,exports.fixGlobPattern=u,exports.transformer=c;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=e.__toESM(require(`fs-extra`)),r=e.__toESM(require(`node:path`)),i=`create-turbo-config`,a='Create the `turbo.json` file from an existing "turbo" key in `package.json`',o=`1.1.0`;function s({root:e,options:a}){let{log:o,runner:s}=t.getTransformerHelpers({transformer:i,rootPath:e,options:a});o.info(`Migrating "package.json" "turbo" key to "turbo.json" file...`);let c=r.default.join(e,`turbo.json`),l=r.default.join(e,`package.json`);if(!n.default.existsSync(l))return s.abortTransform({reason:`No package.json found at ${e}. Is the path correct?`});let u=n.default.readJsonSync(l),d=null;try{d=n.default.readJsonSync(c)}catch{d=null}let f=u,p=d;if(!d&&u.turbo){let{turbo:e,...t}=u;p=e,f=t}return s.modifyFile({filePath:c,after:p}),s.modifyFile({filePath:l,after:f}),s.finish()}const c={name:i,description:a,introducedIn:o,transformer:s};var l=c;exports.default=l,exports.transformer=s;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=e.__toESM(require(`fs-extra`)),r=e.__toESM(require(`node:path`)),i=`create-turbo-config`,a='Create the `turbo.json` file from an existing "turbo" key in `package.json`',o=`1.1.0`;function s({root:e,options:a}){let{log:o,runner:s}=t.getTransformerHelpers({transformer:i,rootPath:e,options:a});o.info(`Migrating "package.json" "turbo" key to "turbo.json" file...`);let c=r.default.join(e,`turbo.json`),l=r.default.join(e,`package.json`);if(!n.default.existsSync(l))return s.abortTransform({reason:`No package.json found at ${e}. Is the path correct?`});let u=n.default.readJsonSync(l),d=null;try{d=n.default.readJsonSync(c)}catch{d=null}let f=u,p=d;if(!d&&u.turbo){let{turbo:e,...t}=u;p=e,f=t}return s.modifyFile({filePath:c,after:p}),s.modifyFile({filePath:l,after:f}),s.finish()}const c={name:i,description:a,introducedIn:o,transformer:s};var l=c;exports.default=l,exports.transformer=s;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`)),a=`migrate-dot-env`,o='Migrate the "dotEnv" entries to "inputs" in `turbo.json`',s=`2.0.0-canary.0`;function c(t){if(`globalDotEnv`in t){if(t.globalDotEnv){t.globalDependencies=t.globalDependencies??[];for(let e of t.globalDotEnv)t.globalDependencies.push(e)}delete t.globalDotEnv}return e.forEachTaskDef(t,([e,t])=>{if(`dotEnv`in t){if(t.dotEnv){t.inputs=t.inputs??[`$TURBO_DEFAULT$`];for(let e of t.dotEnv)t.inputs.push(e)}delete t.dotEnv}}),t}function l({root:o,options:s}){let{log:l,runner:u}=t.getTransformerHelpers({transformer:a,rootPath:o,options:s}),d=i.default.join(o,`package.json`),f={};try{f=r.default.readJsonSync(d)}catch{}if(`turbo`in f)return u.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});l.info("Moving entries in `dotEnv` key in task config to `inputs`");let p=i.default.join(o,`turbo.json`);if(!r.default.existsSync(p))return u.abortTransform({reason:`No turbo.json found at ${o}. Is the path correct?`});let m=n.loadTurboJson(p);u.modifyFile({filePath:p,after:c(m)});let h=e.getTurboConfigs(o);for(let e of h){let{config:t,turboConfigPath:n}=e;u.modifyFile({filePath:n,after:c(t)})}return u.finish()}const u={name:a,description:o,introducedIn:s,transformer:l};var d=u;exports.default=d,exports.transformer=l;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`)),a=`migrate-dot-env`,o='Migrate the "dotEnv" entries to "inputs" in `turbo.json`',s=`2.0.0-canary.0`;function c(t){if(`globalDotEnv`in t){if(t.globalDotEnv){t.globalDependencies=t.globalDependencies??[];for(let e of t.globalDotEnv)t.globalDependencies.push(e)}delete t.globalDotEnv}return e.forEachTaskDef(t,([e,t])=>{if(`dotEnv`in t){if(t.dotEnv){t.inputs=t.inputs??[`$TURBO_DEFAULT$`];for(let e of t.dotEnv)t.inputs.push(e)}delete t.dotEnv}}),t}function l({root:o,options:s}){let{log:l,runner:u}=t.getTransformerHelpers({transformer:a,rootPath:o,options:s}),d=i.default.join(o,`package.json`),f={};try{f=r.default.readJsonSync(d)}catch{}if(`turbo`in f)return u.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});l.info("Moving entries in `dotEnv` key in task config to `inputs`");let p=i.default.join(o,`turbo.json`);if(!r.default.existsSync(p))return u.abortTransform({reason:`No turbo.json found at ${o}. Is the path correct?`});let m=n.loadTurboJson(p);u.modifyFile({filePath:p,after:c(m)});let h=e.getTurboConfigs(o);for(let e of h){let{config:t,turboConfigPath:n}=e;(`pipeline`in t||`tasks`in t)&&u.modifyFile({filePath:n,after:c(t)})}return u.finish()}const u={name:a,description:o,introducedIn:s,transformer:l};var d=u;exports.default=d,exports.transformer=l;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`migrate-env-var-dependencies`,s='Migrate environment variable dependencies from "dependsOn" to "env" in `turbo.json`',c=`1.5.0`;function l(e){if(r.isPipelineKeyMissing(e))return{hasKeys:!1};let t=[`extends`in e?[]:e.globalDependencies,Object.values(e.pipeline).flatMap(e=>e.dependsOn??[])].flat(),n=t.filter(e=>e?.startsWith(`$`));return{hasKeys:!!n.length,envVars:n}}function u({env:e,deps:t}){let n=new Set(e),r=[];if(t)for(let e of t)e.startsWith(`$`)?n.add(e.slice(1)):r.push(e);return n.size?{deps:r,env:Array.from(n)}:{env:e,deps:t}}function d(e){let{deps:t,env:n}=u({env:e.env,deps:e.dependsOn}),r={...e};return t?r.dependsOn=t:delete r.dependsOn,n?.length?r.env=n:delete r.env,r}function f(e){if(`extends`in e)return e;let{deps:t,env:n}=u({env:e.globalEnv,deps:e.globalDependencies}),r={...e};return t?.length?r.globalDependencies=t:delete r.globalDependencies,n?.length?r.globalEnv=n:delete r.globalEnv,r}function p(e){if(r.isPipelineKeyMissing(e))return e;let t=f(e);for(let n of Object.keys(e.pipeline))if(n in e.pipeline){let e=t.pipeline[n];t.pipeline[n]={...e,...d(e)}}return t}function m({root:r,options:s}){let{log:c,runner:u}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s});c.info(`Migrating environment variable dependencies from "globalDependencies" and "dependsOn" to "env" in "turbo.json"...`);let d=a.default.join(r,`package.json`),f={};try{f=i.default.readJsonSync(d)}catch{}if(`turbo`in f)return u.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});let m=a.default.join(r,`turbo.json`);if(!i.default.existsSync(m))return u.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let h=n.loadTurboJson(m);l(h).hasKeys&&(h=p(h)),u.modifyFile({filePath:m,after:h});let g=e.getTurboConfigs(r);for(let e of g){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&l(t).hasKeys&&u.modifyFile({filePath:n,after:p(t)})}return u.finish()}const h={name:o,description:s,introducedIn:c,transformer:m};var g=h;exports.default=g,exports.hasLegacyEnvVarDependencies=l,exports.migrateConfig=p,exports.migrateDependencies=u,exports.migrateGlobal=f,exports.migratePipeline=d,exports.transformer=m;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`migrate-env-var-dependencies`,s='Migrate environment variable dependencies from "dependsOn" to "env" in `turbo.json`',c=`1.5.0`;function l(e){if(r.isPipelineKeyMissing(e))return{hasKeys:!1};let t=[`extends`in e?[]:e.globalDependencies,Object.values(e.pipeline).flatMap(e=>e.dependsOn??[])].flat(),n=t.filter(e=>e?.startsWith(`$`));return{hasKeys:!!n.length,envVars:n}}function u({env:e,deps:t}){let n=new Set(e),r=[];if(t)for(let e of t)e.startsWith(`$`)?n.add(e.slice(1)):r.push(e);return n.size?{deps:r,env:Array.from(n)}:{env:e,deps:t}}function d(e){let{deps:t,env:n}=u({env:e.env,deps:e.dependsOn}),r={...e};return t?r.dependsOn=t:delete r.dependsOn,n?.length?r.env=n:delete r.env,r}function f(e){if(`extends`in e)return e;let{deps:t,env:n}=u({env:e.globalEnv,deps:e.globalDependencies}),r={...e};return t?.length?r.globalDependencies=t:delete r.globalDependencies,n?.length?r.globalEnv=n:delete r.globalEnv,r}function p(e){if(r.isPipelineKeyMissing(e))return e;let t=f(e);for(let n of Object.keys(e.pipeline))if(n in e.pipeline){let e=t.pipeline[n];t.pipeline[n]={...e,...d(e)}}return t}function m({root:r,options:s}){let{log:c,runner:u}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s});c.info(`Migrating environment variable dependencies from "globalDependencies" and "dependsOn" to "env" in "turbo.json"...`);let d=a.default.join(r,`package.json`),f={};try{f=i.default.readJsonSync(d)}catch{}if(`turbo`in f)return u.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});let m=a.default.join(r,`turbo.json`);if(!i.default.existsSync(m))return u.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let h=n.loadTurboJson(m);l(h).hasKeys&&(h=p(h)),u.modifyFile({filePath:m,after:h});let g=e.getTurboConfigs(r);for(let e of g){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&l(t).hasKeys&&u.modifyFile({filePath:n,after:p(t)})}return u.finish()}const h={name:o,description:s,introducedIn:c,transformer:m};var g=h;exports.default=g,exports.hasLegacyEnvVarDependencies=l,exports.migrateConfig=p,exports.migrateDependencies=u,exports.migrateGlobal=f,exports.migratePipeline=d,exports.transformer=m;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`)),a=`rename-output-mode`,o='Rename the "outputMode" key to "outputLogs" in `turbo.json`',s=`2.0.0-canary.0`;function c(e){for(let[t,n]of Object.entries(e.pipeline))Object.hasOwn(n,`outputMode`)&&(n.outputLogs=n.outputMode,delete n.outputMode);return e}function l({root:o,options:s}){let{log:l,runner:u}=t.getTransformerHelpers({transformer:a,rootPath:o,options:s}),d=i.default.join(o,`package.json`),f={};try{f=r.default.readJsonSync(d)}catch{}if(`turbo`in f)return u.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});l.info("Renaming `outputMode` key in task config to `outputLogs`");let p=i.default.join(o,`turbo.json`);if(!r.default.existsSync(p))return u.abortTransform({reason:`No turbo.json found at ${o}. Is the path correct?`});let m=n.loadTurboJson(p);u.modifyFile({filePath:p,after:c(m)});let h=e.getTurboConfigs(o);for(let e of h){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&u.modifyFile({filePath:n,after:c(t)})}return u.finish()}const u={name:a,description:o,introducedIn:s,transformer:l};var d=u;exports.default=d,exports.transformer=l;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`rename-output-mode`,s='Rename the "outputMode" key to "outputLogs" in `turbo.json`',c=`2.0.0-canary.0`;function l(e){if(r.isPipelineKeyMissing(e))return e;for(let[t,n]of Object.entries(e.pipeline))Object.hasOwn(n,`outputMode`)&&(n.outputLogs=n.outputMode,delete n.outputMode);return e}function u({root:r,options:s}){let{log:c,runner:u}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s}),d=a.default.join(r,`package.json`),f={};try{f=i.default.readJsonSync(d)}catch{}if(`turbo`in f)return u.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});c.info("Renaming `outputMode` key in task config to `outputLogs`");let p=a.default.join(r,`turbo.json`);if(!i.default.existsSync(p))return u.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let m=n.loadTurboJson(p);u.modifyFile({filePath:p,after:l(m)});let h=e.getTurboConfigs(r);for(let e of h){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&u.modifyFile({filePath:n,after:l(t)})}return u.finish()}const d={name:o,description:s,introducedIn:c,transformer:u};var f=d;exports.default=f,exports.transformer=u;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`)),a=`rename-pipeline`,o='Rename the "pipeline" key to "tasks" in `turbo.json`',s=`2.0.0-canary.0`;function c(e){let{pipeline:t,...n}=e;return{...n,tasks:t}}function l({root:o,options:s}){let{log:l,runner:u}=t.getTransformerHelpers({transformer:a,rootPath:o,options:s});l.info("Renaming `pipeline` key in turbo.json to `tasks`");let d=i.default.join(o,`turbo.json`);if(!r.default.existsSync(d))return u.abortTransform({reason:`No turbo.json found at ${o}. Is the path correct?`});let f=n.loadTurboJson(d);if(`tasks`in f)return l.info(`turbo.json already has a tasks key, exiting`),u.finish();let p=f;u.modifyFile({filePath:d,after:c(p)});let m=e.getTurboConfigs(o);for(let e of m){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&u.modifyFile({filePath:n,after:c(t)})}return u.finish()}const u={name:a,description:o,introducedIn:s,transformer:l};var d=u;exports.default=d,exports.transformer=l;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`rename-pipeline`,s='Rename the "pipeline" key to "tasks" in `turbo.json`',c=`2.0.0-canary.0`;function l(e){if(r.isPipelineKeyMissing(e))return e;let{pipeline:t,...n}=e;return{...n,tasks:t}}function u({root:r,options:s}){let{log:c,runner:u}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s});c.info("Renaming `pipeline` key in turbo.json to `tasks`");let d=a.default.join(r,`turbo.json`);if(!i.default.existsSync(d))return u.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let f=n.loadTurboJson(d);if(`tasks`in f)return c.info(`turbo.json already has a tasks key, exiting`),u.finish();let p=f;u.modifyFile({filePath:d,after:l(p)});let m=e.getTurboConfigs(r);for(let e of m){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&u.modifyFile({filePath:n,after:l(t)})}return u.finish()}const d={name:o,description:s,introducedIn:c,transformer:u};var f=d;exports.default=f,exports.transformer=u;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=[`dist/**`,`build/**`],s=`set-default-outputs`,c='Add the "outputs" key with defaults where it is missing in `turbo.json`',l=`1.7.0`,u=!1;function d(e){if(r.isPipelineKeyMissing(e))return e;for(let[t,n]of Object.entries(e.pipeline))n.cache!==!1&&(n.outputs?Array.isArray(n.outputs)&&n.outputs.length===0&&delete n.outputs:n.outputs=o);return e}function f({root:r,options:o}){let{log:c,runner:l}=t.getTransformerHelpers({transformer:s,rootPath:r,options:o}),u=a.default.join(r,`package.json`),f={};try{f=i.default.readJsonSync(u)}catch{}if(`turbo`in f)return l.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});c.info("Adding default `outputs` key into tasks if it doesn't exist");let p=a.default.join(r,`turbo.json`);if(!i.default.existsSync(p))return l.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let m=n.loadTurboJson(p);l.modifyFile({filePath:p,after:d(m)});let h=e.getTurboConfigs(r);for(let e of h){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&l.modifyFile({filePath:n,after:d(t)})}return l.finish()}const p={name:s,description:c,introducedIn:l,idempotent:u,transformer:f};var m=p;exports.default=m,exports.migrateConfig=d,exports.transformer=f;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=[`dist/**`,`build/**`],s=`set-default-outputs`,c='Add the "outputs" key with defaults where it is missing in `turbo.json`',l=`1.7.0`,u=!1;function d(e){if(r.isPipelineKeyMissing(e))return e;for(let[t,n]of Object.entries(e.pipeline))n.cache!==!1&&(n.outputs?Array.isArray(n.outputs)&&n.outputs.length===0&&delete n.outputs:n.outputs=o);return e}function f({root:r,options:o}){let{log:c,runner:l}=t.getTransformerHelpers({transformer:s,rootPath:r,options:o}),u=a.default.join(r,`package.json`),f={};try{f=i.default.readJsonSync(u)}catch{}if(`turbo`in f)return l.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});c.info("Adding default `outputs` key into tasks if it doesn't exist");let p=a.default.join(r,`turbo.json`);if(!i.default.existsSync(p))return l.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let m=n.loadTurboJson(p);l.modifyFile({filePath:p,after:d(m)});let h=e.getTurboConfigs(r);for(let e of h){let{config:t,turboConfigPath:n}=e;`pipeline`in t&&l.modifyFile({filePath:n,after:d(t)})}return l.finish()}const p={name:s,description:c,introducedIn:l,idempotent:u,transformer:f};var m=p;exports.default=m,exports.migrateConfig=d,exports.transformer=f;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`stabilize-env-mode`,s=`Rewrite experimentalPassThroughEnv and experimentalGlobalPassThroughEnv`,c=`1.10.0`;function l(e){if(r.isPipelineKeyMissing(e))return e;let t=e.experimentalGlobalPassThroughEnv,n=e.globalPassThroughEnv,i;return(Array.isArray(t)||Array.isArray(n))&&(i=[],Array.isArray(t)&&(i=i.concat(t)),Array.isArray(n)&&(i=i.concat(n)),i=[...new Set(i)],i.sort()),delete e.experimentalGlobalPassThroughEnv,delete e.globalPassThroughEnv,Array.isArray(i)&&(e.globalPassThroughEnv=i),u(e)}function u(e){if(r.isPipelineKeyMissing(e))return e;for(let[t,n]of Object.entries(e.pipeline)){let e=n.experimentalPassThroughEnv,t=n.passThroughEnv,r;(Array.isArray(e)||Array.isArray(t))&&(r=[],Array.isArray(e)&&(r=r.concat(e)),Array.isArray(t)&&(r=r.concat(t)),r=[...new Set(r)],r.sort()),delete n.experimentalPassThroughEnv,delete n.passThroughEnv,Array.isArray(r)&&(n.passThroughEnv=r)}return e}function d({root:r,options:s}){let{log:c,runner:d}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s}),f=a.default.join(r,`package.json`),p={};try{p=i.default.readJsonSync(f)}catch{}if(`turbo`in p)return d.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});c.info("Rewriting `experimentalPassThroughEnv` and `experimentalGlobalPassThroughEnv`");let m=a.default.join(r,`turbo.json`);if(!i.default.existsSync(m))return d.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let h=n.loadTurboJson(m);d.modifyFile({filePath:m,after:l(h)});let g=e.getTurboConfigs(r);for(let e of g){let{config:t,turboConfigPath:n,isRootConfig:r}=e;!r&&`pipeline`in t&&d.modifyFile({filePath:n,after:u(t)})}return d.finish()}const f={name:o,description:s,introducedIn:c,transformer:d};var p=f;exports.default=p,exports.migrateRootConfig=l,exports.migrateTaskConfigs=u,exports.transformer=d;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`stabilize-env-mode`,s=`Rewrite experimentalPassThroughEnv and experimentalGlobalPassThroughEnv`,c=`1.10.0`;function l(e){if(r.isPipelineKeyMissing(e))return e;let t=e.experimentalGlobalPassThroughEnv,n=e.globalPassThroughEnv,i;return(Array.isArray(t)||Array.isArray(n))&&(i=[],Array.isArray(t)&&(i=i.concat(t)),Array.isArray(n)&&(i=i.concat(n)),i=[...new Set(i)],i.sort()),delete e.experimentalGlobalPassThroughEnv,delete e.globalPassThroughEnv,Array.isArray(i)&&(e.globalPassThroughEnv=i),u(e)}function u(e){if(r.isPipelineKeyMissing(e))return e;for(let[t,n]of Object.entries(e.pipeline)){let e=n.experimentalPassThroughEnv,t=n.passThroughEnv,r;(Array.isArray(e)||Array.isArray(t))&&(r=[],Array.isArray(e)&&(r=r.concat(e)),Array.isArray(t)&&(r=r.concat(t)),r=[...new Set(r)],r.sort()),delete n.experimentalPassThroughEnv,delete n.passThroughEnv,Array.isArray(r)&&(n.passThroughEnv=r)}return e}function d({root:r,options:s}){let{log:c,runner:d}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s}),f=a.default.join(r,`package.json`),p={};try{p=i.default.readJsonSync(f)}catch{}if(`turbo`in p)return d.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});c.info("Rewriting `experimentalPassThroughEnv` and `experimentalGlobalPassThroughEnv`");let m=a.default.join(r,`turbo.json`);if(!i.default.existsSync(m))return d.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let h=n.loadTurboJson(m);d.modifyFile({filePath:m,after:l(h)});let g=e.getTurboConfigs(r);for(let e of g){let{config:t,turboConfigPath:n,isRootConfig:r}=e;!r&&`pipeline`in t&&d.modifyFile({filePath:n,after:u(t)})}return d.finish()}const f={name:o,description:s,introducedIn:c,transformer:d};var p=f;exports.default=p,exports.migrateRootConfig=l,exports.migrateTaskConfigs=u,exports.transformer=d;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`)),a=`stabilize-ui`,o='Rename the "experimentalUI" key to "ui" in `turbo.json`',s=`2.0.0-canary.0`;function c(e){let t=e.experimentalUI;return delete e.experimentalUI,t!==void 0&&!t&&(e.ui=`stream`),e}function l({root:e,options:o}){let{log:s,runner:l}=t.getTransformerHelpers({transformer:a,rootPath:e,options:o});s.info("Renaming `experimentalUI` key in turbo.json to `ui`");let u=i.default.join(e,`turbo.json`);if(!r.default.existsSync(u))return l.abortTransform({reason:`No turbo.json found at ${e}. Is the path correct?`});let d=n.loadTurboJson(u);return l.modifyFile({filePath:u,after:c(d)}),l.finish()}const u={name:a,description:o,introducedIn:s,transformer:l};var d=u;exports.default=d,exports.transformer=l;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=e.__toESM(require(`fs-extra`)),i=e.__toESM(require(`node:path`)),a=`stabilize-ui`,o='Rename the "experimentalUI" key to "ui" in `turbo.json`',s=`2.0.0-canary.0`;function c(e){let t=e.experimentalUI;return delete e.experimentalUI,t!==void 0&&!t&&(e.ui=`stream`),e}function l({root:e,options:o}){let{log:s,runner:l}=t.getTransformerHelpers({transformer:a,rootPath:e,options:o});s.info("Renaming `experimentalUI` key in turbo.json to `ui`");let u=i.default.join(e,`turbo.json`);if(!r.default.existsSync(u))return l.abortTransform({reason:`No turbo.json found at ${e}. Is the path correct?`});let d=n.loadTurboJson(u);return l.modifyFile({filePath:u,after:c(d)}),l.finish()}const u={name:a,description:o,introducedIn:s,transformer:l};var d=u;exports.default=d,exports.transformer=l;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=require(`../load-turbo-json-BmflovWY.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`transform-env-literals-to-wildcards`,s=`Rewrite env fields to distinguish wildcards from literals`,c=`1.10.0`;function l(e){let t=e;return t=t.replace(/\\/g,`\\\\`),e.startsWith(`!`)&&(t=`\\${t}`),t=t.replace(/\*/g,`\\*`),t}function u(e){if(r.isPipelineKeyMissing(e))return e;let{globalEnv:t,globalPassThroughEnv:n}=e;return Array.isArray(t)&&(e.globalEnv=t.map(l)),Array.isArray(n)&&(e.globalPassThroughEnv=n.map(l)),d(e)}function d(e){if(r.isPipelineKeyMissing(e))return e;for(let[t,n]of Object.entries(e.pipeline)){let{env:e,passThroughEnv:t}=n;Array.isArray(e)&&(n.env=e.map(l)),Array.isArray(t)&&(n.passThroughEnv=t.map(l))}return e}function f({root:r,options:s}){let{log:c,runner:l}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s}),f=a.default.join(r,`package.json`),p={};try{p=i.default.readJsonSync(f)}catch{}if(`turbo`in p)return l.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});c.info(`Rewriting env vars to support wildcards`);let m=a.default.join(r,`turbo.json`);if(!i.default.existsSync(m))return l.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let h=n.loadTurboJson(m);l.modifyFile({filePath:m,after:u(h)});let g=e.getTurboConfigs(r);for(let e of g){let{config:t,turboConfigPath:n,isRootConfig:r}=e;!r&&`pipeline`in t&&l.modifyFile({filePath:n,after:d(t)})}return l.finish()}const p={name:o,description:s,introducedIn:c,transformer:f};var m=p;exports.default=m,exports.migrateRootConfig=u,exports.migrateTaskConfigs=d,exports.transformer=f;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=require(`../load-turbo-json-_LPJ5l0g.js`),r=require(`../is-pipeline-key-missing-CMFMdrGr.js`),i=e.__toESM(require(`fs-extra`)),a=e.__toESM(require(`node:path`)),o=`transform-env-literals-to-wildcards`,s=`Rewrite env fields to distinguish wildcards from literals`,c=`1.10.0`;function l(e){let t=e;return t=t.replace(/\\/g,`\\\\`),e.startsWith(`!`)&&(t=`\\${t}`),t=t.replace(/\*/g,`\\*`),t}function u(e){if(r.isPipelineKeyMissing(e))return e;let{globalEnv:t,globalPassThroughEnv:n}=e;return Array.isArray(t)&&(e.globalEnv=t.map(l)),Array.isArray(n)&&(e.globalPassThroughEnv=n.map(l)),d(e)}function d(e){if(r.isPipelineKeyMissing(e))return e;for(let[t,n]of Object.entries(e.pipeline)){let{env:e,passThroughEnv:t}=n;Array.isArray(e)&&(n.env=e.map(l)),Array.isArray(t)&&(n.passThroughEnv=t.map(l))}return e}function f({root:r,options:s}){let{log:c,runner:l}=t.getTransformerHelpers({transformer:o,rootPath:r,options:s}),f=a.default.join(r,`package.json`),p={};try{p=i.default.readJsonSync(f)}catch{}if(`turbo`in p)return l.abortTransform({reason:'"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first'});c.info(`Rewriting env vars to support wildcards`);let m=a.default.join(r,`turbo.json`);if(!i.default.existsSync(m))return l.abortTransform({reason:`No turbo.json found at ${r}. Is the path correct?`});let h=n.loadTurboJson(m);l.modifyFile({filePath:m,after:u(h)});let g=e.getTurboConfigs(r);for(let e of g){let{config:t,turboConfigPath:n,isRootConfig:r}=e;!r&&`pipeline`in t&&l.modifyFile({filePath:n,after:d(t)})}return l.finish()}const p={name:o,description:s,introducedIn:c,transformer:f};var m=p;exports.default=m,exports.migrateRootConfig=u,exports.migrateTaskConfigs=d,exports.transformer=f;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=e.__toESM(require(`fs-extra`)),r=e.__toESM(require(`node:path`)),i=`update-schema-json-url`,a=`Update the "$schema" property in turbo.json from "https://turborepo.dev/schema.v1.json" to "https://turborepo.dev/schema.v2.json"`,o=`2.0.0`;function s(e){return e.replace(`https://turborepo.dev/schema.v1.json`,`https://turborepo.dev/schema.v2.json`)}function c({root:e,options:a}){let{log:o,runner:c}=t.getTransformerHelpers({transformer:i,rootPath:e,options:a});o.info(`Updating "$schema" property in turbo.json...`);let l=r.default.join(e,`turbo.json`);if(!n.default.existsSync(l))return c.abortTransform({reason:`No turbo.json found at ${e}. Is the path correct?`});try{let e=n.default.readFileSync(l,`utf8`);if(e.includes(`https://turborepo.dev/schema.v1.json`)){let t=s(e);c.modifyFile({filePath:l,before:e,after:t}),o.info(`Updated "$schema" property in turbo.json`)}else o.info(`No v1 schema URL found in turbo.json. Skipping update.`)}catch(e){return c.abortTransform({reason:`Error updating schema URL in turbo.json: ${String(e)}`})}return c.finish()}const l={name:i,description:a,introducedIn:o,transformer:c,idempotent:!0};var u=l;exports.default=u,exports.transformer=c;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=e.__toESM(require(`fs-extra`)),r=e.__toESM(require(`node:path`)),i=`update-schema-json-url`,a=`Update the "$schema" property in turbo.json from "https://turborepo.dev/schema.v1.json" to "https://turborepo.dev/schema.v2.json"`,o=`2.0.0`;function s(e){return e.replace(`https://turborepo.dev/schema.v1.json`,`https://turborepo.dev/schema.v2.json`)}function c({root:e,options:a}){let{log:o,runner:c}=t.getTransformerHelpers({transformer:i,rootPath:e,options:a});o.info(`Updating "$schema" property in turbo.json...`);let l=r.default.join(e,`turbo.json`);if(!n.default.existsSync(l))return c.abortTransform({reason:`No turbo.json found at ${e}. Is the path correct?`});try{let e=n.default.readFileSync(l,`utf8`);if(e.includes(`https://turborepo.dev/schema.v1.json`)){let t=s(e);c.modifyFile({filePath:l,before:e,after:t}),o.info(`Updated "$schema" property in turbo.json`)}else o.info(`No v1 schema URL found in turbo.json. Skipping update.`)}catch(e){return c.abortTransform({reason:`Error updating schema URL in turbo.json: ${String(e)}`})}return c.finish()}const l={name:i,description:a,introducedIn:o,transformer:c,idempotent:!0};var u=l;exports.default=u,exports.transformer=c;
@@ -1 +1 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-CVJuNfzM.js`),t=require(`../get-transformer-helpers-C1Pfh9v0.js`),n=e.__toESM(require(`fs-extra`)),r=e.__toESM(require(`node:path`)),i=e.__toESM(require(`semver`)),a=`update-versioned-schema-json`,o=`Update the "$schema" property in turbo.json to use the versioned subdomain format (e.g., https://v2-7-5.turborepo.dev/schema.json)`,s=`2.7.5`,c=s,l=[`https://turborepo.dev/schema.json`,`https://turborepo.dev/schema.v2.json`,`https://turborepo.com/schema.json`,`https://turborepo.com/schema.v2.json`,`https://turbo.build/schema.json`,`https://turbo.build/schema.v2.json`],u=/https:\/\/v\d+-\d+-\d+\.turborepo\.dev\/schema\.json/g;function d(e){let t=(0,i.coerce)(e);return t?t.version:null}function f(e){let[t,n,r]=e.split(`.`);return`v${t}-${n}-${r}`}function p(e){let t=d(e);if(!t)throw Error(`Invalid version: ${e}`);let n=f(t);return`https://${n}.turborepo.dev/schema.json`}function m(e,t){let n=e;for(let e of l)n=n.replaceAll(e,t);return n=n.replaceAll(u,t),n}function h(e,t){if(l.some(t=>e.includes(t)))return!0;let n=e.match(u);return n?n.some(e=>e!==t):!1}function g({root:o,options:s}){let{log:l,runner:u}=t.getTransformerHelpers({transformer:a,rootPath:o,options:s}),{toVersion:f}=s,g=f?d(f):null;if(!g||!(0,i.gte)(g,c))return l.info(`Skipping schema URL update: target version ${f||`unknown`} does not support versioned schema URLs`),u.finish();l.info(`Updating "$schema" property in turbo.json files to versioned format...`);let _=r.default.join(o,`turbo.json`);if(!n.default.existsSync(_))return u.abortTransform({reason:`No turbo.json found at ${o}. Is the path correct?`});try{let t=p(g),r=e.getTurboConfigs(o);for(let{turboConfigPath:e}of r){let r=n.default.readFileSync(e,`utf8`);if(h(r,t)){let n=m(r,t);u.modifyFile({filePath:e,before:r,after:n}),l.info(`Updated "$schema" in ${e}`)}}}catch(e){return u.abortTransform({reason:`Error updating schema URL: ${String(e)}`})}return u.finish()}const _={name:a,description:o,introducedIn:s,transformer:g,idempotent:!0};var v=_;exports.default=v,exports.transformer=g;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-Ci3IamWM.js`),t=require(`../get-transformer-helpers-HWTlxk8i.js`),n=e.__toESM(require(`fs-extra`)),r=e.__toESM(require(`node:path`)),i=e.__toESM(require(`semver`)),a=`update-versioned-schema-json`,o=`Update the "$schema" property in turbo.json to use the versioned subdomain format (e.g., https://v2-7-5.turborepo.dev/schema.json)`,s=`2.7.5`,c=s,l=[`https://turborepo.dev/schema.json`,`https://turborepo.dev/schema.v2.json`,`https://turborepo.com/schema.json`,`https://turborepo.com/schema.v2.json`,`https://turbo.build/schema.json`,`https://turbo.build/schema.v2.json`],u=/https:\/\/v\d+-\d+-\d+\.turborepo\.dev\/schema\.json/g;function d(e){let t=(0,i.coerce)(e);return t?t.version:null}function f(e){let[t,n,r]=e.split(`.`);return`v${t}-${n}-${r}`}function p(e){let t=d(e);if(!t)throw Error(`Invalid version: ${e}`);let n=f(t);return`https://${n}.turborepo.dev/schema.json`}function m(e,t){let n=e;for(let e of l)n=n.replaceAll(e,t);return n=n.replaceAll(u,t),n}function h(e,t){if(l.some(t=>e.includes(t)))return!0;let n=e.match(u);return n?n.some(e=>e!==t):!1}function g({root:o,options:s}){let{log:l,runner:u}=t.getTransformerHelpers({transformer:a,rootPath:o,options:s}),{toVersion:f}=s,g=f?d(f):null;if(!g||!(0,i.gte)(g,c))return l.info(`Skipping schema URL update: target version ${f||`unknown`} does not support versioned schema URLs`),u.finish();l.info(`Updating "$schema" property in turbo.json files to versioned format...`);let _=r.default.join(o,`turbo.json`);if(!n.default.existsSync(_))return u.abortTransform({reason:`No turbo.json found at ${o}. Is the path correct?`});try{let t=p(g),r=e.getTurboConfigs(o);for(let{turboConfigPath:e}of r){let r=n.default.readFileSync(e,`utf8`);if(h(r,t)){let n=m(r,t);u.modifyFile({filePath:e,before:r,after:n}),l.info(`Updated "$schema" in ${e}`)}}}catch(e){return u.abortTransform({reason:`Error updating schema URL: ${String(e)}`})}return u.finish()}const _={name:a,description:o,introducedIn:s,transformer:g,idempotent:!0};var v=_;exports.default=v,exports.transformer=g;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turbo/codemod",
3
- "version": "2.8.15",
3
+ "version": "2.8.16",
4
4
  "description": "Provides Codemod transformations to help upgrade your Turborepo codebase when a feature is deprecated.",
5
5
  "homepage": "https://turborepo.dev",
6
6
  "bugs": {
@@ -48,10 +48,10 @@
48
48
  "tsdown": "0.12.0",
49
49
  "typescript": "5.5.4",
50
50
  "@turbo/test-utils": "0.0.0",
51
- "@turbo/types": "2.8.15",
52
- "@turbo/utils": "0.0.0",
53
51
  "@turbo/tsconfig": "0.0.0",
54
- "@turbo/workspaces": "2.8.15"
52
+ "@turbo/types": "2.8.16",
53
+ "@turbo/utils": "0.0.0",
54
+ "@turbo/workspaces": "2.8.16"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "tsdown",