@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.
- package/dist/cli.js +1 -1
- package/dist/dist-CmRfU9w3.js +77 -0
- package/dist/{get-transformer-helpers-C1Pfh9v0.js → get-transformer-helpers-HWTlxk8i.js} +1 -1
- package/dist/{load-turbo-json-BmflovWY.js → load-turbo-json-_LPJ5l0g.js} +1 -1
- package/dist/runner-Ci3IamWM.js +66 -0
- package/dist/transforms/add-package-manager.js +1 -1
- package/dist/transforms/add-package-names.js +1 -1
- package/dist/transforms/clean-globs.js +1 -1
- package/dist/transforms/create-turbo-config.js +1 -1
- package/dist/transforms/migrate-dot-env.js +1 -1
- package/dist/transforms/migrate-env-var-dependencies.js +1 -1
- package/dist/transforms/rename-output-mode.js +1 -1
- package/dist/transforms/rename-pipeline.js +1 -1
- package/dist/transforms/set-default-outputs.js +1 -1
- package/dist/transforms/stabilize-env-mode.js +1 -1
- package/dist/transforms/stabilize-ui.js +1 -1
- package/dist/transforms/transform-env-literals-to-wildcards.js +1 -1
- package/dist/transforms/update-schema-json-url.js +1 -1
- package/dist/transforms/update-versioned-schema-json.js +1 -1
- package/package.json +4 -4
- package/dist/dist-CKadySos.js +0 -64
- package/dist/runner-CVJuNfzM.js +0 -66
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../runner-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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.
|
|
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/
|
|
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",
|