Skip to content

Commit

Permalink
Merge pull request #129 from iandilling-adaptive/dev
Browse files Browse the repository at this point in the history
Added a single dev script for running all dev watchers concurrently
  • Loading branch information
iandilling-adaptive authored Nov 7, 2022
2 parents c32c6d8 + 212dedf commit e4ab778
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 9 deletions.
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@

### Development Workflow

This library is composed of several packages, most of which need to be built before your development and build tooling will work. The quickest way to build the package is to run the command: `yarn build`.
This library is composed of several packages, most of which need to be built before your development and build tooling will work. The quickest way to build the package is to run the command: `yarn build`. To only build the components and theme packages, run `yarn build-lib`.

To quickly start a dev process that watches `@ui-kit-2022/components`, `@ui-kit-2022/theme`, and starts the Storybook preview, run `yarn dev`. You can then make changes in each package and have those changes reflected in Storybook for fast development feedback.

While not always neccessary, you can remove all builds with `yarn clean`.

Expand All @@ -22,10 +24,7 @@ To run a local command on a sub package, for instance if you only want to build

- `yarn workspace @ui-kit-2022/components run build` to build the component package only.
- `yarn workspace @ui-kit-2022/docs run preview` to run the storybook locally for development.
- `yarn workspace @ui-kit-2022/theme run dev` to run a dev build of the theme package that auto rebuilds on change. The `@ui-kit-2022/components` package also supports a `dev` command.

When developing in multiple packages at the same time, currently you'll need to run separate dev/preview commands for each package in order for each to auto rebuild so dependent packages to recongize changes in the package they depend upon.
For instance, Storybook will no longer auto update when a file changes in the components package. You'll need to make sure the components package is autorebuilding along side the Storybook process to get a similar experience.
- `yarn workspace @ui-kit-2022/theme run dev` to run a dev build of the theme package that auto rebuilds on change. The `@ui-kit-2022/components` package also supports a `dev` command. You can also use the shorthand `yarn dev:components` or `yarn dev:theme`.

## Releasing

Expand Down
7 changes: 6 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
"docs"
],
"scripts": {
"dev": "yarn build-lib && yarn conc \"yarn dev:components\" \"yarn dev:theme\" \"yarn dev:storybook\"",
"dev:components": "yarn workspace @ui-kit-2022/components run dev",
"dev:theme": "yarn workspace @ui-kit-2022/theme run dev",
"dev:storybook": "yarn workspace @ui-kit-2022/docs run preview",
"build": "yarn workspaces foreach --topological-dev run build",
"build-lib": "yarn workspaces foreach --topological-dev --from '{@ui-kit-2022/components,@ui-kit-2022/theme}' run build",
"build-storybook": "yarn workspace @ui-kit-2022/docs run build",
Expand Down Expand Up @@ -44,7 +48,8 @@
"react-dom": "^18.2.0",
"typescript": "^4.6.4",
"vite": "^3.1.0",
"vite-plugin-svgr": "^2.2.1"
"vite-plugin-svgr": "^2.2.1",
"concurrently": "^7.5.0"
},
"lint-staged": {
"*.{jsx,js,ts,tsx}": "eslint --fix",
Expand Down
72 changes: 69 additions & 3 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4722,6 +4722,7 @@ __metadata:
"@typescript-eslint/parser": ^5.38.0
"@vitejs/plugin-react": ^2.1.0
chromatic: ^6.10.2
concurrently: ^7.5.0
eslint: ^8.24.0
eslint-config-prettier: ^8.5.0
eslint-plugin-import: ^2.26.0
Expand Down Expand Up @@ -6944,6 +6945,26 @@ __metadata:
languageName: node
linkType: hard

"concurrently@npm:^7.5.0":
version: 7.5.0
resolution: "concurrently@npm:7.5.0"
dependencies:
chalk: ^4.1.0
date-fns: ^2.29.1
lodash: ^4.17.21
rxjs: ^7.0.0
shell-quote: ^1.7.3
spawn-command: ^0.0.2-1
supports-color: ^8.1.0
tree-kill: ^1.2.2
yargs: ^17.3.1
bin:
conc: dist/bin/concurrently.js
concurrently: dist/bin/concurrently.js
checksum: 7886e1c8559d2699ae1b62be8aca5d56c226966e252a2b9dd6077b3c1fd5397e98ef537c040fffa1de50418bd2616746eb9dd589a31ffb9056d4758b850a865b
languageName: node
linkType: hard

"console-browserify@npm:^1.1.0":
version: 1.2.0
resolution: "console-browserify@npm:1.2.0"
Expand Down Expand Up @@ -7314,6 +7335,13 @@ __metadata:
languageName: node
linkType: hard

"date-fns@npm:^2.29.1":
version: 2.29.3
resolution: "date-fns@npm:2.29.3"
checksum: e01cf5b62af04e05dfff921bb9c9933310ed0e1ae9a81eb8653452e64dc841acf7f6e01e1a5ae5644d0337e9a7f936175fd2cb6819dc122fdd9c5e86c56be484
languageName: node
linkType: hard

"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.9":
version: 2.6.9
resolution: "debug@npm:2.6.9"
Expand Down Expand Up @@ -14466,7 +14494,7 @@ __metadata:
languageName: node
linkType: hard

"rxjs@npm:^7.5.5":
"rxjs@npm:^7.0.0, rxjs@npm:^7.5.5":
version: 7.5.7
resolution: "rxjs@npm:7.5.7"
dependencies:
Expand Down Expand Up @@ -14790,6 +14818,13 @@ __metadata:
languageName: node
linkType: hard

"shell-quote@npm:^1.7.3":
version: 1.7.4
resolution: "shell-quote@npm:1.7.4"
checksum: 2874ea9c1a7c3ebfc9ec5734a897e16533d0d06f2e4cddc22ba3d1cab5cdc07d0f825364c1b1e39abe61236f44d8e60e933c7ad7349ce44de4f5dddc7b4354e9
languageName: node
linkType: hard

"side-channel@npm:^1.0.3, side-channel@npm:^1.0.4":
version: 1.0.4
resolution: "side-channel@npm:1.0.4"
Expand Down Expand Up @@ -15020,6 +15055,13 @@ __metadata:
languageName: node
linkType: hard

"spawn-command@npm:^0.0.2-1":
version: 0.0.2
resolution: "spawn-command@npm:0.0.2"
checksum: e35c5d28177b4d461d33c88cc11f6f3a5079e2b132c11e1746453bbb7a0c0b8a634f07541a2a234fa4758239d88203b758def509161b651e81958894c0b4b64b
languageName: node
linkType: hard

"spawndamnit@npm:^2.0.0":
version: 2.0.0
resolution: "spawndamnit@npm:2.0.0"
Expand Down Expand Up @@ -15489,7 +15531,7 @@ __metadata:
languageName: node
linkType: hard

"supports-color@npm:^8.0.0":
"supports-color@npm:^8.0.0, supports-color@npm:^8.1.0":
version: 8.1.1
resolution: "supports-color@npm:8.1.1"
dependencies:
Expand Down Expand Up @@ -15815,6 +15857,15 @@ __metadata:
languageName: node
linkType: hard

"tree-kill@npm:^1.2.2":
version: 1.2.2
resolution: "tree-kill@npm:1.2.2"
bin:
tree-kill: cli.js
checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7
languageName: node
linkType: hard

"trim-newlines@npm:^1.0.0":
version: 1.0.0
resolution: "trim-newlines@npm:1.0.0"
Expand Down Expand Up @@ -17023,7 +17074,7 @@ __metadata:
languageName: node
linkType: hard

"yargs-parser@npm:^21.0.0":
"yargs-parser@npm:^21.0.0, yargs-parser@npm:^21.1.1":
version: 21.1.1
resolution: "yargs-parser@npm:21.1.1"
checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c
Expand Down Expand Up @@ -17079,6 +17130,21 @@ __metadata:
languageName: node
linkType: hard

"yargs@npm:^17.3.1":
version: 17.6.2
resolution: "yargs@npm:17.6.2"
dependencies:
cliui: ^8.0.1
escalade: ^3.1.1
get-caller-file: ^2.0.5
require-directory: ^2.1.1
string-width: ^4.2.3
y18n: ^5.0.5
yargs-parser: ^21.1.1
checksum: 47da1b0d854fa16d45a3ded57b716b013b2179022352a5f7467409da5a04a1eef5b3b3d97a2dfc13e8bbe5f2ffc0afe3bc6a4a72f8254e60f5a4bd7947138643
languageName: node
linkType: hard

"yocto-queue@npm:^0.1.0":
version: 0.1.0
resolution: "yocto-queue@npm:0.1.0"
Expand Down

0 comments on commit e4ab778

Please sign in to comment.