Skip to content

Preserve package.json structure during bootstrap mangling #1290

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 27, 2018

Conversation

evocateur
Copy link
Member

Description

Instead of nuking the entire package.json, just edit what we don't want installed (the sibling packages that are instead symlinked). This helps avoid incorrect package-lock.json output due to missing package.json properties (name and version, specifically).

  • Adds an actual integration test for lerna bootstrap --hoist
  • Replaces bloated cash-cp fixture dep with basic node.js copy

Motivation and Context

Credit @compulim for the initial idea, #1287

Fixes #1136

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Instead of nuking the entire package.json, just edit what we don't want
installed (the sibling packages that are instead symlinked).

* Adds an actual integration test for `lerna bootstrap --hoist`
* Replaces bloated `cash-cp` fixture dep with basic node.js copy

Credit @compulim for the initial idea, lerna#1287

Fixes lerna#1136
@evocateur
Copy link
Member Author

Hah, whoops, I forgot fs.copyFileSync isn't in node 6.x

@evocateur evocateur merged commit 0b134e0 into lerna:master Feb 27, 2018
@evocateur evocateur deleted the stop-mangling-manifest branch February 27, 2018 20:17
eanders-ms pushed a commit to microsoft/BotFramework-Emulator that referenced this pull request Apr 27, 2018
# Changelog
* Put `devDependencies` to root, fixed `package-lock.json`
  * Removed unnecessary `devDependencies`
  * Please use `lerna add` from now on, don't use `npm install` or edit `package.json`
    * To add `jest` as `devDependencies` to `botframework-emulator-shared` package
    * At root, run `npm install jest --save-dev` followed by `lerna add jest --dev --scope=botframework-emulator-shared`
  * Please commit `package-lock.json` if you have any changes
    * Lerna [bug](lerna/lerna#1290) may cause unnecessary changes in `package-lock.json`, `#master` or `@3.0.0` will fix it
    * Until their next drop, please verify/tweak your changes in `package-lock.json` before committing the file
* Bumped all dependencies to latest version
  * We are on latest `typescript@2.7.2` 🎉
  * `electron@1.8.1`
  * `restify@4.3.2` (@6 now, but their plugins architecture changed)
* Scoping internal packages with `@bfemulator` for CI/CD on our NPM feed
  * `/app/client` (`botframework-emulator-client`) is now `@bfemulator/client`
  * `/app/shared` (`botframework-emulator-shared`) is now `@bfemulator/app-shared`
* Revisited all `.gitignore` files
* Added `npm test` scripts to all `package.json`, by default, use `jest`
* Temporarily added `react-app-rewired` to mix JSX in TypeScript React app (broken since `react-scripts-ts@>2.9.0`)
  * [Tracking bug](wmonk/create-react-app-typescript#266) at `react-scripts-ts`, their [next drop](wmonk/create-react-app-typescript#242) should have it

# Notes
Added few TypeScript ignores because:

* Some typings are wrong (added `skipLibCheck`)
* Some typings are outdated (using `any` type)
@lock
Copy link

lock bot commented Dec 27, 2018

This thread has been automatically locked because there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Dec 27, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Lerna is not installing optionalDependencies in workers
1 participant