Skip to content

Commit 61a9152

Browse files
authored
Yarn Workspaces (#839)
* Start workspaces migration * Update yarn * Update yarn lock * Fix yaml * Remove tsc * Add yarn.lock * Test publish new versions * Fix build issues * Update lock file * Bust cache * Test CI * CI Fixes * Fix gnosis type error * Fix gnosis types * Update yarn.lock * Update yarn.lock * Modify dev deps * Fix Chain type * New core version * New versions * Make installation on M1 macs possible * Update install docs * Set CI to proper prod branch * Add missing dev dep * Move Injected specific types * Update licenses * Add root script and dep * Update packages * Fix gitignore file * Remove redundant gitignore files
1 parent 5c31c3d commit 61a9152

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+792
-5378
lines changed

.circleci/circletron.yml

Lines changed: 0 additions & 2 deletions
This file was deleted.

.circleci/config.yml

Lines changed: 236 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,240 @@
11
version: 2.1
2-
setup: true
3-
orbs:
4-
circletron: circletron/circletron@3.0.4
2+
3+
aliases:
4+
- &docker-image
5+
docker:
6+
- image: cimg/node:16.13.1
7+
8+
- &install_typescript_globally
9+
run:
10+
name: Install Typescript globally
11+
command: yarn global add typescript
12+
13+
- &deploy
14+
run:
15+
name: Deploy
16+
command: yarn deploy
17+
18+
- &deploy_production_filters
19+
filters:
20+
branches:
21+
only: v2-web3-onboard
22+
23+
- &restore-build-flag
24+
restore_cache:
25+
keys:
26+
- build-flag-{{ checksum "package.json" }}
27+
28+
- &test-build-flag
29+
run:
30+
name: Exit if build flag exists
31+
command: |
32+
FILE=build.flag
33+
if test -f "$FILE"; then
34+
echo "$FILE exist"
35+
circleci step halt
36+
fi
37+
- &generate-lock-file
38+
run:
39+
name: Generate lock file
40+
command: yarn generate-lock-entry >> yarn.lock
41+
42+
- &restore-cache
43+
restore_cache:
44+
keys:
45+
- dependencies-cache-v1-{{ checksum "yarn.lock" }}
46+
47+
- &save-cache
48+
save_cache:
49+
paths:
50+
- node_modules
51+
key: dependencies-cache-v1-{{ checksum "yarn.lock" }}
52+
53+
- &create-npm-config
54+
run:
55+
name: Create NPM rc file
56+
command: echo "//registry.npmjs.org/:_authToken=$npm_TOKEN" > .npmrc
57+
58+
- &publish-npm
59+
run:
60+
name: Publish package to NPM
61+
command: npm publish --access public
62+
63+
commands:
64+
save-build-flag:
65+
steps:
66+
- run:
67+
name: Create build flag
68+
command: touch build.flag
69+
- save_cache:
70+
paths:
71+
- build.flag
72+
key: build-flag-{{ checksum "package.json" }}
73+
74+
node-build-steps:
75+
steps:
76+
- checkout:
77+
# Since our working_directory is deeper than the root,
78+
# remind the job where it needs to checkout.
79+
path: ~/web3-onboard-monorepo
80+
- *restore-build-flag
81+
- *test-build-flag
82+
# Services and packages in a Workspace don't get their own
83+
# yarn.lock so we need to generate them manually.
84+
- *generate-lock-file
85+
- *restore-cache
86+
- run:
87+
name: Build
88+
command: |
89+
yarn
90+
yarn build
91+
- *save-cache
92+
- *create-npm-config
93+
- *publish-npm
94+
- save-build-flag
95+
96+
jobs:
97+
build-core:
98+
docker:
99+
- image: cimg/node:16.13.1
100+
working_directory: ~/web3-onboard-monorepo/packages/core
101+
steps:
102+
- node-build-steps
103+
build-common:
104+
docker:
105+
- image: cimg/node:16.13.1
106+
working_directory: ~/web3-onboard-monorepo/packages/common
107+
steps:
108+
- node-build-steps
109+
build-fortmatic:
110+
docker:
111+
- image: cimg/node:16.13.1
112+
working_directory: ~/web3-onboard-monorepo/packages/fortmatic
113+
steps:
114+
- node-build-steps
115+
build-gnosis:
116+
docker:
117+
- image: cimg/node:16.13.1
118+
working_directory: ~/web3-onboard-monorepo/packages/gnosis
119+
steps:
120+
- node-build-steps
121+
build-injected:
122+
docker:
123+
- image: cimg/node:16.13.1
124+
working_directory: ~/web3-onboard-monorepo/packages/injected
125+
steps:
126+
- node-build-steps
127+
build-keepkey:
128+
docker:
129+
- image: cimg/node:16.13.1
130+
working_directory: ~/web3-onboard-monorepo/packages/keepkey
131+
steps:
132+
- node-build-steps
133+
build-keystone:
134+
docker:
135+
- image: cimg/node:16.13.1
136+
working_directory: ~/web3-onboard-monorepo/packages/keystone
137+
steps:
138+
- node-build-steps
139+
build-ledger:
140+
docker:
141+
- image: cimg/node:16.13.1
142+
working_directory: ~/web3-onboard-monorepo/packages/ledger
143+
steps:
144+
- node-build-steps
145+
build-mew:
146+
docker:
147+
- image: cimg/node:16.13.1
148+
working_directory: ~/web3-onboard-monorepo/packages/mew
149+
steps:
150+
- node-build-steps
151+
build-portis:
152+
docker:
153+
- image: cimg/node:16.13.1
154+
working_directory: ~/web3-onboard-monorepo/packages/portis
155+
steps:
156+
- node-build-steps
157+
build-torus:
158+
docker:
159+
- image: cimg/node:16.13.1
160+
working_directory: ~/web3-onboard-monorepo/packages/torus
161+
steps:
162+
- node-build-steps
163+
build-trezor:
164+
docker:
165+
- image: cimg/node:16.13.1
166+
working_directory: ~/web3-onboard-monorepo/packages/trezor
167+
steps:
168+
- node-build-steps
169+
build-walletconnect:
170+
docker:
171+
- image: cimg/node:16.13.1
172+
working_directory: ~/web3-onboard-monorepo/packages/walletconnect
173+
steps:
174+
- node-build-steps
175+
build-walletlink:
176+
docker:
177+
- image: cimg/node:16.13.1
178+
working_directory: ~/web3-onboard-monorepo/packages/walletlink
179+
steps:
180+
- node-build-steps
5181

6182
workflows:
7-
trigger-jobs:
183+
version: 2
184+
common:
185+
jobs:
186+
- build-common:
187+
<<: *deploy_production_filters
188+
core:
189+
jobs:
190+
- build-core:
191+
<<: *deploy_production_filters
192+
193+
fortmatic:
194+
jobs:
195+
- build-fortmatic:
196+
<<: *deploy_production_filters
197+
gnosis:
198+
jobs:
199+
- build-gnosis:
200+
<<: *deploy_production_filters
201+
injected:
202+
jobs:
203+
- build-injected:
204+
<<: *deploy_production_filters
205+
keepkey:
206+
jobs:
207+
- build-keepkey:
208+
<<: *deploy_production_filters
209+
keystone:
210+
jobs:
211+
- build-keystone:
212+
<<: *deploy_production_filters
213+
ledger:
214+
jobs:
215+
- build-ledger:
216+
<<: *deploy_production_filters
217+
mew:
218+
jobs:
219+
- build-mew:
220+
<<: *deploy_production_filters
221+
portis:
222+
jobs:
223+
- build-portis:
224+
<<: *deploy_production_filters
225+
torus:
226+
jobs:
227+
- build-torus:
228+
<<: *deploy_production_filters
229+
trezor:
230+
jobs:
231+
- build-trezor:
232+
<<: *deploy_production_filters
233+
walletconnect:
234+
jobs:
235+
- build-walletconnect:
236+
<<: *deploy_production_filters
237+
walletlink:
8238
jobs:
9-
- circletron/trigger-jobs
239+
- build-walletlink:
240+
<<: *deploy_production_filters

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ node_modules
33
dist/
44
package-lock.json
55
.rpt2_cache
6-
.vscode
7-
*.patch
6+
.vscode

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ If you would like to test out the current functionality of V2 in a small browser
8686

8787
- Clone the repo: `git clone git@github.com:blocknative/onboard.git`
8888
- Change in to the onboard directory: `cd onboard`
89-
- Checkout the V2 feature branch: `git checkout feature/v2`
90-
- Install the dependencies: `yarn`
91-
- Setup the monorepo symlinks: `yarn setup`
89+
- Checkout the V2 feature branch: `git checkout v2-web-onboard`
90+
- Install the dependencies: `yarn` (if running a M1 mac - `yarn install-m1-mac`)
9291
- Run all packages in dev mode: `yarn dev`
9392
- [View demo app in the browser](http://localhost:8080)

lerna.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

package.json

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,19 @@
11
{
2-
"name": "core",
2+
"name": "web3-onboard-monorepo",
33
"private": true,
44
"workspaces": [
5-
"packages/*"
5+
"./packages/*"
66
],
77
"scripts": {
8-
"setup": "lerna bootstrap",
9-
"build": "lerna exec yarn build",
10-
"clean": "lerna clean",
11-
"dev": "lerna exec --parallel -- yarn dev",
12-
"test": "lerna exec yarn test",
13-
"format": "prettier --write 'packages/**/*.ts'"
8+
"install-m1-mac": "yarn install --ignore-optional",
9+
"format": "prettier --write 'packages/**/*.ts'",
10+
"dev": "yarn wsrun dev",
11+
"build": "yarn wsrun build"
1412
},
1513
"devDependencies": {
16-
"@ava/typescript": "^2.0.0",
17-
"@swc/cli": "^0.1.51",
18-
"@swc/core": "^1.2.92",
19-
"@types/lodash.uniqby": "^4.7.6",
20-
"@types/node": "^16.10.3",
21-
"ava": "^3.15.0",
22-
"browser-env": "^3.3.0",
23-
"lerna": "^4.0.0",
2414
"prettier": "^2.4.1",
2515
"prettier-plugin-svelte": "^2.4.0",
26-
"ts-node": "^10.2.1",
2716
"typescript": "^4.5.5",
28-
"window": "^4.2.7"
17+
"wsrun": "^5.2.4"
2918
}
3019
}

packages/common/.gitignore

Lines changed: 0 additions & 4 deletions
This file was deleted.

packages/common/circle.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.

packages/common/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"name": "@web3-onboard/common",
3-
"version": "2.0.0-alpha.1",
3+
"version": "2.0.0-alpha.4",
44
"scripts": {
55
"build": "rollup -c",
66
"dev": "rollup -c -w",
77
"start": "sirv public --no-clear",
8-
"typescript": "svelte-check --tsconfig ./tsconfig.json",
8+
"type-check": "svelte-check --tsconfig ./tsconfig.json",
99
"lint": "eslint -c './.eslintrc.cjs' './src' && prettier --check './src/**/*'"
1010
},
1111
"module": "dist/index.js",
@@ -16,6 +16,7 @@
1616
"files": [
1717
"dist"
1818
],
19+
"license": "MIT",
1920
"devDependencies": {
2021
"@rollup/plugin-json": "^4.1.0",
2122
"@rollup/plugin-node-resolve": "^11.0.0",
@@ -37,7 +38,7 @@
3738
"svelte-check": "^2.2.6",
3839
"svelte-preprocess": "^4.9.4",
3940
"tslib": "^2.0.0",
40-
"typescript": "4.5.5"
41+
"typescript": "^4.5.5"
4142
},
4243
"dependencies": {
4344
"ethers": "5.5.4",

0 commit comments

Comments
 (0)