From 68a136f1355f0facdc08d50b42143175db50087f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C6=B0=C6=A1ng=20T=E1=BA=A5n=20Hu=E1=BB=B3nh=20Phong?= Date: Thu, 13 Jun 2024 02:44:33 +0700 Subject: [PATCH] [cli]: pass buildDir to exports of package.json --- packages/cli/package.json | 2 +- packages/cli/src/interface.ts | 8 ++++++-- packages/cli/src/tasks/createContent/index.ts | 13 +++++++++---- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 98d5857..14f47dc 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@grpc.ts/cli", - "version": "1.2.2", + "version": "1.2.3", "license": "MIT", "directories": { "lib": "lib" diff --git a/packages/cli/src/interface.ts b/packages/cli/src/interface.ts index 63775c6..394fb79 100644 --- a/packages/cli/src/interface.ts +++ b/packages/cli/src/interface.ts @@ -15,6 +15,7 @@ export interface IMonorepoOutputProps { export interface IConfigProps { output?: string; + buildDir?: string; external?: string[]; paths?: string | string[]; monorepo?: IMonorepoOutputProps; @@ -49,8 +50,11 @@ export interface INamespaceDataProps { export type TParseNamespaceReturn = [string, INamespaceDataProps]; -export type TConfigParams = Omit, 'monorepo'> & - Pick; +export type TConfigParams = Omit< + Required, + 'monorepo' | 'buildDir' +> & + Pick; export interface IProtoDataProps { filePath: string; diff --git a/packages/cli/src/tasks/createContent/index.ts b/packages/cli/src/tasks/createContent/index.ts index 931d298..59ba0d8 100644 --- a/packages/cli/src/tasks/createContent/index.ts +++ b/packages/cli/src/tasks/createContent/index.ts @@ -25,7 +25,7 @@ export async function createContent( groupedData: IProtoDataProps[][], config: TConfigParams, ): Promise { - const { output, monorepo } = config; + const { output, buildDir = 'dist', monorepo } = config; const cachedTypes: ICachedTypesProps = {}; const cachedPackageOutputs: ICachedPackageOutputsProps = {}; let outputDir = output; @@ -134,8 +134,13 @@ export async function createContent( if (monorepo) { const { multiEntries, compiler } = monorepo; - const { engine } = compiler || {}; + const { engine, options } = compiler || {}; const hasEngine = !!engine; + let buildDirectory = buildDir; + + if (options?.outDir) { + buildDirectory = options.outDir; + } await createCompilerConfig({ config: monorepo, @@ -151,10 +156,10 @@ export async function createContent( result.content.push(`export * from './${filename}';`); result.exports[`./${packageName}`] = - `./${filename}.${hasEngine ? 'js' : 'ts'}`; + `./${buildDirectory}/${filename}.${hasEngine ? 'js' : 'ts'}`; result.typesVersions[`${packageName}`] = [ - `./${filename}.${hasEngine ? 'd.ts' : 'ts'}`, + `./${buildDirectory}/${filename}.${hasEngine ? 'd.ts' : 'ts'}`, ]; return result;