From d497d56e83be624617b2fff0b1198cb16d0879a2 Mon Sep 17 00:00:00 2001 From: Nick McCurdy Date: Wed, 11 Sep 2019 19:39:18 -0400 Subject: [PATCH 1/5] Preserve linked packages in create command --- src/cli/commands/create.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cli/commands/create.js b/src/cli/commands/create.js index cdbcc0ad8c..ea3525753d 100644 --- a/src/cli/commands/create.js +++ b/src/cli/commands/create.js @@ -5,6 +5,7 @@ import {MessageError} from '../../errors.js'; import type {Reporter} from '../../reporters/index.js'; import * as child from '../../util/child.js'; import {makeEnv} from '../../util/execute-lifecycle-script'; +import * as fs from '../../util/fs.js'; import {run as runGlobal, getBinFolder} from './global.js'; const path = require('path'); @@ -58,7 +59,11 @@ export async function run(config: Config, reporter: Reporter, flags: Object, arg } const {fullName: packageName, name: commandName} = coerceCreatePackageName(builderName); - await runGlobal(config, reporter, {}, ['add', packageName]); + + const linkLoc = path.join(config.linkFolder, commandName); + if (!await fs.exists(linkLoc)) { + await runGlobal(config, reporter, {}, ['add', packageName]); + } const binFolder = await getBinFolder(config, {}); const command = path.resolve(binFolder, commandName); From 28a1724b6de133e241f5afa49aec6dd962f08943 Mon Sep 17 00:00:00 2001 From: Nick McCurdy Date: Wed, 11 Sep 2019 21:00:03 -0400 Subject: [PATCH 2/5] Update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c0c9b6b56..7998f21788 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ Please add one entry in this file for each change in Yarn's behavior. Use the sa ## Master +- Preserve linked packages in create command + + [#7543](https://github.com/yarnpkg/yarn/pull/7543) - [**Nick McCurdy**](https://github.com/nickmccurdy) + - Fixes the offline mirror filenames when using Verdaccio [#7499](https://github.com/yarnpkg/yarn/pull/7499) - [**xv2**](https://github.com/xv2) From 7b12949d910e1ddce3e1407a223ef78dbd858979 Mon Sep 17 00:00:00 2001 From: Nick McCurdy Date: Tue, 17 Sep 2019 06:08:16 -0400 Subject: [PATCH 3/5] Warn when using linked package --- src/cli/commands/create.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cli/commands/create.js b/src/cli/commands/create.js index ea3525753d..49b81ac5f7 100644 --- a/src/cli/commands/create.js +++ b/src/cli/commands/create.js @@ -61,7 +61,9 @@ export async function run(config: Config, reporter: Reporter, flags: Object, arg const {fullName: packageName, name: commandName} = coerceCreatePackageName(builderName); const linkLoc = path.join(config.linkFolder, commandName); - if (!await fs.exists(linkLoc)) { + if (await fs.exists(linkLoc)) { + reporter.info(reporter.lang('linkUsing', packageName)); + } else { await runGlobal(config, reporter, {}, ['add', packageName]); } From 160d931d1fac148859e2985a71945fd4df90c9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Nison?= Date: Tue, 17 Sep 2019 14:11:28 +0200 Subject: [PATCH 4/5] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7998f21788..c0c8e7d1f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ Please add one entry in this file for each change in Yarn's behavior. Use the sa ## Master -- Preserve linked packages in create command +- Preserves linked packages when calling `yarn create` [#7543](https://github.com/yarnpkg/yarn/pull/7543) - [**Nick McCurdy**](https://github.com/nickmccurdy) From d3707ad39f0d7c3041d18a1ef42e82c8f1ec9978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Nison?= Date: Tue, 17 Sep 2019 14:13:31 +0200 Subject: [PATCH 5/5] Update link-resolver.js --- src/resolvers/exotics/link-resolver.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/resolvers/exotics/link-resolver.js b/src/resolvers/exotics/link-resolver.js index f507700fc7..cc27abc8ea 100644 --- a/src/resolvers/exotics/link-resolver.js +++ b/src/resolvers/exotics/link-resolver.js @@ -30,9 +30,10 @@ export default class LinkResolver extends ExoticResolver { const name = path.basename(loc); const registry: RegistryNames = 'npm'; - const manifest: Manifest = !await fs.exists(`${loc}/package.json`) || loc === this.config.lockfileFolder - ? {_uid: '', name, version: '0.0.0', _registry: registry} - : await this.config.readManifest(loc, this.registry); + const manifest: Manifest = + !await fs.exists(`${loc}/package.json`) || loc === this.config.lockfileFolder + ? {_uid: '', name, version: '0.0.0', _registry: registry} + : await this.config.readManifest(loc, this.registry); manifest._remote = { type: 'link',