Skip to content

Add option to turn hoist warnings into errors #2139

@jnielson94

Description

@jnielson94

Expected Behavior

Feature Request, re-raising #667 since it is closed/locked. You mentioned in #667 that it would be straightforward to add a --strict flag and have bootstrap/hoist consume an options object that reads that and modifies it to warn. We've recently run into a number of issues with developers ignoring the warnings or not seeing them at all. The warnings usually indicate an easily fixable problem if your dependencies are updated. So we'd love to have the process stop when they're encountered :)

Current Behavior

Bootstrap with hoist warns and goes ahead and does the things anyway.

lerna.json

{
  "command": {
    "bootstrap": {
      "npmClientArgs": ["--no-package-lock"]
    },
    "publish": {
      "ignoreChanges": [
        "**/package-lock.json",
        "**/jest.config.js",
        "**/storybook-static/**",
        "**/.storybook/**",
        "*.md",
        "**/stories/**",
        "**/tests/**",
        "**/fixtures/**",
        "**/Demo/**",
        "**/Details/**"
      ]
    },
    "diff": {
      "ignore": [
        "**/package-lock.json",
        "**/jest.config.js",
        "**/storybook-static/**",
        "**/.storybook/**",
        "*.md",
        "**/stories/**",
        "**/tests/**",
        "**/fixtures/**",
        "**/Demo/**",
        "**/Details/**"
      ]
    }
  },
  "packages": ["packages/*"],
  "version": "independent"
}

Context

We're currently running bootstrap with hoist in our dev environment as well as our CI environment for PRs, and would love to be able to kill those if there's a hoist related warning so that we can avoid having those build up. I was about to dig into adding parsing of the console output and throwing an error if there's a hoist warning, but it'd probably be easier if you point me where to add that functionality here and I could submit a PR :)

Your Environment

Executable Version
lerna --version 3.14.1
npm --version 6.9.0
yarn --version N/A
node --version 12.4.0
OS Version
macOS Mojave 10.14.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions