diff --git a/apps/app/lib/generate.ts b/apps/app/lib/generate.ts index 2efc2ec18f..88b9c2af61 100644 --- a/apps/app/lib/generate.ts +++ b/apps/app/lib/generate.ts @@ -1,12 +1,19 @@ /* eslint-disable node/no-process-env */ import { Command } from 'commander' -import { Listr, type ListrContext, type ListrRenderer, type ListrTaskWrapper } from 'listr2' +import { + Listr, + type ListrContext, + type ListrDefaultRenderer, + type ListrSimpleRenderer, + type ListrTask, + type ListrTaskWrapper, +} from 'listr2' import { generateTranslationKeys } from 'lib/generators' const program = new Command() -export type ListrTask = ListrTaskWrapper +export type PassedTask = ListrTaskWrapper const options = { bottomBar: 10, @@ -15,7 +22,7 @@ const options = { const translation = [ { title: 'Translation definitions from DB', - task: (_ctx: ListrContext, task: ListrTask) => generateTranslationKeys(task), + task: (_ctx: ListrContext, task: PassedTask) => generateTranslationKeys(task), options, skip: !process.env.DATABASE_URL, }, @@ -28,7 +35,7 @@ program program.parse(process.argv) const cliOpts = program.opts() -let tasklist = [] +let tasklist: ListrJob[] = [] if (cliOpts.translations) tasklist.push(...translation) @@ -39,3 +46,5 @@ const tasks = new Listr(tasklist, { }) tasks.run() + +type ListrJob = ListrTask diff --git a/apps/app/lib/generators/translationKeys.ts b/apps/app/lib/generators/translationKeys.ts index 3b5ad7ef5f..0ee892a469 100644 --- a/apps/app/lib/generators/translationKeys.ts +++ b/apps/app/lib/generators/translationKeys.ts @@ -6,7 +6,7 @@ import prettier from 'prettier' import fs from 'fs' import { prisma } from '@weareinreach/db' -import { type ListrTask } from 'lib/generate' +import { type PassedTask } from 'lib/generate' const localePath = 'public/locales/en' @@ -21,7 +21,7 @@ const isObject = (data: unknown): data is Record => const countKeys = (obj: Output): number => Object.keys(flatten(obj)).length -export const generateTranslationKeys = async (task: ListrTask) => { +export const generateTranslationKeys = async (task: PassedTask) => { const prettierOpts = (await prettier.resolveConfig(__filename)) ?? undefined const data = await prisma.translationNamespace.findMany({ diff --git a/apps/app/lib/prebuild.ts b/apps/app/lib/prebuild.ts index bce7abd103..7855f498f4 100644 --- a/apps/app/lib/prebuild.ts +++ b/apps/app/lib/prebuild.ts @@ -5,12 +5,12 @@ import path from 'path' import { getEnv } from '@weareinreach/env' -const renderOptions = { +const rendererOptions = { bottomBar: 10, persistentOutput: true, timer: PRESET_TIMER, -} satisfies ListrJob['options'] -const injectOptions = (job: ListrJob): ListrJob => ({ ...job, options: renderOptions }) +} satisfies ListrJob['rendererOptions'] +const injectOptions = (job: ListrJob): ListrJob => ({ ...job, rendererOptions }) const tasks = new Listr( [ @@ -38,7 +38,6 @@ const tasks = new Listr( timer: PRESET_TIMER, }, exitOnError: false, - forceColor: true, } ) diff --git a/packages/db/lib/generateData.ts b/packages/db/lib/generateData.ts index 9f1a6c1a76..af5986c364 100644 --- a/packages/db/lib/generateData.ts +++ b/packages/db/lib/generateData.ts @@ -2,7 +2,7 @@ import { Listr, type ListrDefaultRenderer, - type ListrRenderer, + type ListrSimpleRenderer, type ListrTask as ListrTaskObj, type ListrTaskWrapper, PRESET_TIMER, @@ -12,14 +12,14 @@ import { prisma } from '~db/client' import * as job from './generators' -const renderOptions = { +const rendererOptions = { bottomBar: 10, timer: PRESET_TIMER, } const defineJob = (title: string, job: (task: ListrTask) => void | Promise): ListrJob => ({ title, task: async (_ctx, task): Promise => job(task), - options: renderOptions, + rendererOptions, skip: !process.env.DATABASE_URL, }) @@ -50,8 +50,6 @@ const tasks = new Listr( ], { exitOnError: false, - forceColor: true, - fallbackRendererOptions: { timer: PRESET_TIMER, }, @@ -70,5 +68,5 @@ tasks.run() export type Context = { error?: boolean } -export type ListrTask = ListrTaskWrapper +export type ListrTask = ListrTaskWrapper type ListrJob = ListrTaskObj diff --git a/packages/db/prisma/data-migrations/2023-05-18_update-published-deleted/!generate.ts b/packages/db/prisma/data-migrations/2023-05-18_update-published-deleted/!generate.ts index 11dbff8ed0..e5c9b5b471 100644 --- a/packages/db/prisma/data-migrations/2023-05-18_update-published-deleted/!generate.ts +++ b/packages/db/prisma/data-migrations/2023-05-18_update-published-deleted/!generate.ts @@ -238,7 +238,7 @@ const jobs = new Listr( task.title = jobTitle task.task.off(ListrTaskEventType.OUTPUT) }, - options: { bottomBar: 10, persistentOutput: true }, + rendererOptions: { bottomBar: 10, persistentOutput: true }, }, ], { diff --git a/packages/db/prisma/dataMigrationRunner.ts b/packages/db/prisma/dataMigrationRunner.ts index 5af27294e9..2d1b1bc77c 100644 --- a/packages/db/prisma/dataMigrationRunner.ts +++ b/packages/db/prisma/dataMigrationRunner.ts @@ -2,7 +2,6 @@ import { Listr, type ListrDefaultRenderer, - type ListrSimpleRenderer, type ListrTask as ListrTaskObj, type ListrTaskWrapper, PRESET_TIMER, @@ -94,7 +93,7 @@ export type Context = { pendingMigrations?: boolean jobCount?: number } -export type PassedTask = ListrTaskWrapper +export type PassedTask = ListrTaskWrapper export type ListrJob = ListrTaskObj export type MigrationJob = ListrJob & { def: JobDef } diff --git a/packages/db/util/crowdin/getIdsforDb.ts b/packages/db/util/crowdin/getIdsforDb.ts index 02d78c9d55..b949c3bbcc 100644 --- a/packages/db/util/crowdin/getIdsforDb.ts +++ b/packages/db/util/crowdin/getIdsforDb.ts @@ -70,7 +70,7 @@ const tasks = new Listr([ }) await run() }, - options: { bottomBar: 20 }, + rendererOptions: { bottomBar: 20 }, }, { title: 'Running Jobs', @@ -92,7 +92,7 @@ const tasks = new Listr([ startQueue() }, - options: { bottomBar: 20 }, + rendererOptions: { bottomBar: 20 }, }, ]) tasks.run()