Comments (4)
Same issue for the other 2 sub-repos.
After talking with @schnogz, there's no obvious quick fix.
Although we use yarn
to build, we're not using its locking system. yarn bootstrap
calls lerna to run the installs, using npm in turn. Therefore, the top-level package-lock.json file will be respected, but it doesn't appear that it will be applied to the 3 sub-repos with their own package.json
files.
Resolution: There may be a way in lerna to generate the child lock files. The dev team is also considering getting rid of lerna and using npm's workspaces functionality, which should simply the package locking situation.
from blockchain-wallet-v4-frontend.
- We have to switch to yarn workspaces, which improves build time, by saving time downloading common modules
- I'd migrate to yarn.lock and using yarn as installer, as in my experience it proved to be much more stable and well designed. Npm has changed their lock behaviour twice already:
- First time they've built from package-lock
- Then(npm v5) they started updating package-lock during install (wth?)
- Now they introduced
npm ci
which builds from package-lock
UPDATE: just testsed:
- Current bootstrap job takes about 67 seconds on each install
yarn install
with workspaces takes about 88 seconds on first install and then 30 second on consecutive installs
with npm
cross-env npm ci && lerna bootstrap --hoist --ignore-scripts
β¨ Done in 67.61s.
yarn bootstrap 72.94s user 46.03s system 175% cpu 1:07.95 total
with yarn
yarn install
First time
β¨ Done in 88.46s.
yarn install 43.84s user 43.27s system 98% cpu 1:28.82 total
Second time
β¨ Done in 30.12s.
yarn install 35.03s user 37.21s system 236% cpu 30.499 total
from blockchain-wallet-v4-frontend.
Here's the original workspaces issue related to child yarn.locks
yarnpkg/yarn#5428
First comment cites yarn blog to explain that while using package separately through npm yarn.lock
/package-lock.json
is irrelevant because the package is already built.
And build is still performed in monorepo.
BTW there are only 6 dependencies in the whole project that are not shared.
from blockchain-wallet-v4-frontend.
We have now completely migrated off of Lerna and into Yarn workspaces. As @tony-blockchain pointed out above, the yarn.lock
file in the root of the repo will lock dependencies for all sub-packages.
Marking closed.
from blockchain-wallet-v4-frontend.
Related Issues (20)
- 1488800
- 1488800
- 1488800
- 1488800
- 1488800
- 1488800
- 1488800
- 1488800
- TypeError: Cannot read properties of undefined (reading 'current') at Transactions_selectors_getData when trying to access BTC portfolio HOT 2
- Has anyone else received these emails
- is good? HOT 1
- I guess I am plagered and I hear perhaps under attack. Cyber bully's STOP! . HOT 1
- 12 WORD SEED PHRASE NOT ACCEPTED ON BLOCKCHAIN.COM WALLET ALTHOUGH ITS CORRECT
- USDT
- I AM UNABLE TO TRANSFER BTC FROM MY TRADING ACCOUNT TO ANOTHER BITCOIN WALLET HOT 4
- Blockchain seperti taikπ€£π€£βοΈ
- Tg
- ![Logo](https://cdn.ast.checkmarx.net/integrations/logo/Checkmarx.png)
- King
- Help my please
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blockchain-wallet-v4-frontend.