cli/add/updateStudioCMSConfig
Esta página aún no está disponible en tu idioma.
Classes
Section titled “Classes”UpdateStudioCMSConfig
Section titled “UpdateStudioCMSConfig”Defined in: studiocms/packages/studiocms/src/cli/add/updateStudioCMSConfig.ts:11^
Extends
Section titled “Extends”any
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new UpdateStudioCMSConfig(): UpdateStudioCMSConfig
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”Effect.Service<UpdateStudioCMSConfig>()( 'UpdateStudioCMSConfig', { effect: genLogger('studiocms/cli/add/updateStudioCMSConfig/UpdateStudioCMSConfig.effect')( function () { // biome-ignore lint/suspicious/noExplicitAny: this is a valid use case for explicit any. const run = (configURL: URL, mod: ProxifiedModule<any>) => genLogger('studiocms/cli/add/updateStudioCMSConfig/UpdateStudioCMSConfig.effect.run')( function () { const context = yield CliContext; const { prompts, chalk } = context;
const input = yield Effect.tryPromise(() => fs.readFile(fileURLToPath(configURL), { encoding: 'utf-8' }) ); const output = yield Effect.try( () => generateCode(mod, { format: { objectCurlySpacing: true, useTabs: false, tabWidth: 2, }, }).code );
if (input === output) return UpdateResult.none;
const diff = yield getDiffContent(input, output).pipe( CliContext.makeProvide(context) );
if (!diff) return UpdateResult.none;
const boxenMessage = yield effectBoxen((boxen) => boxen(diff, { margin: 0.5, padding: 0.5, borderStyle: 'round', title: configURL.pathname.split('/').pop(), }) );
const message = n${boxenMessage}\n;
prompts.note( n ${chalk.magenta('StudioCMS will make the following changes to your config file:')}\n${message} );
if (yield Effect.tryPromise(() => askToContinue(prompts))) { yield Effect.tryPromise(() => fs.writeFile(fileURLToPath(configURL), output, { encoding: 'utf-8' }) ); yield Console.debug('Updated studiocms config'); return UpdateResult.updated; } return UpdateResult.cancelled; } );
return { run }; } ), }).constructor