From dc98ba469d550b51194e3681f94f7b1f24feeac0 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 4 Mar 2022 10:30:11 +0100 Subject: [PATCH] cli: fix release stage entry point resolution Signed-off-by: Patrik Oldsberg --- packages/cli/src/commands/pack.ts | 11 ++++++++--- packages/cli/src/lib/packager/copyPackageDist.ts | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/commands/pack.ts b/packages/cli/src/commands/pack.ts index e646568980..6c88ac055f 100644 --- a/packages/cli/src/commands/pack.ts +++ b/packages/cli/src/commands/pack.ts @@ -23,6 +23,11 @@ const SKIPPED_KEYS = ['access', 'registry', 'tag', 'alphaTypes', 'betaTypes']; const PKG_PATH = 'package.json'; const PKG_BACKUP_PATH = 'package.json-prepack'; +function resolveEntrypoint(pkg: any, name: string) { + const targetEntry = pkg.publishConfig[name] || pkg[name]; + return targetEntry && joinPath('..', targetEntry); +} + // Writes e.g. alpha/package.json async function writeReleaseStageEntrypoint(pkg: any, stage: 'alpha' | 'beta') { await fs.ensureDir(paths.resolveTarget(stage)); @@ -31,9 +36,9 @@ async function writeReleaseStageEntrypoint(pkg: any, stage: 'alpha' | 'beta') { { name: pkg.name, version: pkg.version, - main: (pkg.publishConfig.main || pkg.main) && '..', - module: (pkg.publishConfig.module || pkg.module) && '..', - browser: (pkg.publishConfig.browser || pkg.browser) && '..', + main: resolveEntrypoint(pkg, 'main'), + module: resolveEntrypoint(pkg, 'module'), + browser: resolveEntrypoint(pkg, 'browser'), types: joinPath('..', pkg.publishConfig[`${stage}Types`]), }, { encoding: 'utf8', spaces: 2 }, diff --git a/packages/cli/src/lib/packager/copyPackageDist.ts b/packages/cli/src/lib/packager/copyPackageDist.ts index 03ac361006..439b087fd7 100644 --- a/packages/cli/src/lib/packager/copyPackageDist.ts +++ b/packages/cli/src/lib/packager/copyPackageDist.ts @@ -20,6 +20,11 @@ import { join as joinPath, resolve as resolvePath } from 'path'; const SKIPPED_KEYS = ['access', 'registry', 'tag', 'alphaTypes', 'betaTypes']; +function resolveEntrypoint(pkg: any, name: string) { + const targetEntry = pkg.publishConfig[name] || pkg[name]; + return targetEntry && joinPath('..', targetEntry); +} + // Writes e.g. alpha/package.json async function writeReleaseStageEntrypoint( pkg: any, @@ -32,9 +37,9 @@ async function writeReleaseStageEntrypoint( { name: pkg.name, version: pkg.version, - main: (pkg.publishConfig.main || pkg.main) && '..', - module: (pkg.publishConfig.module || pkg.module) && '..', - browser: (pkg.publishConfig.browser || pkg.browser) && '..', + main: resolveEntrypoint(pkg, 'main'), + module: resolveEntrypoint(pkg, 'module'), + browser: resolveEntrypoint(pkg, 'browser'), types: joinPath('..', pkg.publishConfig[`${stage}Types`]), }, { encoding: 'utf8', spaces: 2 },