You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+11-13Lines changed: 11 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,9 @@ This project is opinionated and follows patterns and practices used by the team
8
8
9
9
## Understanding the Dart Frog repository
10
10
11
-
This is a mono repo, a repository that includes more than one individual project. In fact, the Dart Frog repository includes all the packages, example apps, CLIs, and IDE integration plugins that have a role in the Dart Frog developer experience.
11
+
This is a mono repo, a repository that includes more than one individual project. In fact, the Dart Frog repository includes all the packages, example apps, CLIs, and IDE integration plugins that have a role in the Dart Frog developer experience.
12
12
13
-
The contents of the mono repo is divided into the following directories:
13
+
The contents of the mono repo is divided into the following directories:
-[`assets/`](https://github.com/VeryGoodOpenSource/dart_frog/tree/main/assets): images to embed into READMEs
@@ -20,7 +20,7 @@ The contents of the mono repo is divided into the following directories:
20
20
-[`bricks/`](https://github.com/VeryGoodOpenSource/dart_frog/tree/main/bricks): Internal mason bricks used by [dart_frog_cli][dart_frog_cli_link] to perform tasks such as creating new projects, starting a dev server, and building a prod server.
21
21
-[`packages/`](https://github.com/VeryGoodOpenSource/dart_frog/tree/main/packages): The source code of the packages that constitute the Dart Frog suite (`dart_frog_cli`, `dart_frog` and `dart_frog_gen`) as well as companion packages (such as `dart_frog_web_socket`).
22
22
23
-
Some of the included projects have more specific instructions on contribution. In these cases, the project root may include a `CONTRIBUTING.md` file with such instructions.
23
+
Some of the included projects have more specific instructions on contribution. In these cases, the project root may include a `CONTRIBUTING.md` file with such instructions.
24
24
25
25
## Proposing a changes & reporting bugs
26
26
@@ -62,46 +62,45 @@ Prerequisites:
62
62
63
63
### `dart_frog`
64
64
65
-
This is the user-facing package of the Dart Frog SDK, which means that Dart Frog users will be using its API to construct servers and runtime operations. It contains logic for request parsing, middleware, and response creation.
65
+
This is the user-facing package of the Dart Frog SDK, which means that Dart Frog users will be using its API to construct servers and runtime operations. It contains logic for request parsing, middleware, and response creation.
66
66
67
67
### `dart_frog_gen`
68
68
69
-
This is the internal package used by the Dart Frog tooling to interpret the file disposition and from it construct a Dart Frog server.
69
+
This is the internal package used by the Dart Frog tooling to interpret the file disposition and from it construct a Dart Frog server.
70
70
71
71
> :warning:**Warning**: this package is a dependency on the bricks bundled into the CLI. This means that any changes that break the bricks should be released with a major version, otherwise dart frog users may be blocked from performing tasks such as `dev`, `build`, and `new`.
72
72
73
73
### `dart_frog_cli`
74
74
75
75
A Dart command line interface package that serves as the main tool for Dart Frog. It includes bundled versions of the bricks under `bricks/`. To sync the source code of the bricks with new bundles, run `tool/generate_bundles.sh`.
76
76
77
-
78
77
### Companion packages
79
78
80
79
The other items under `packages/` are companion packages in which dart_frog users may include on their project for specific server-side capabilities, such as auth (`dart_frog_auth`) and WebSockets (`dart_frog_web_socket`)
81
80
82
-
83
81
## Releasing versions of packages
84
82
85
83
Before starting the release process of an individual package, first check:
86
84
87
85
1. If your local `main` branch is up to date:
86
+
88
87
```shell
89
88
# ☁️ Ensure you're up to date with the GitHub remote
90
89
git checkout main
91
90
git fetch
92
91
git status
93
-
/```
92
+
```
94
93
95
94
2. Ensure the [GitHub pipeline](https://github.com/VeryGoodOpenSource/dart_frog/actions) is green (has passed successfully) for your given package.
96
95
97
96
3. Run the script under `tool/release_ready.sh` within the package root repository and the desired new version.
98
97
99
98
```shell
100
99
# 🚀 Run the release ready script (from packages/<package>)
101
-
../../tool/release_ready.sh <version>
102
-
/```
100
+
../../tool/release_ready.sh <version>
101
+
```
103
102
104
-
The above example will: update the version of <package> to <version>, update the dart_frog CHANGELOG.md, create and checkout to a local release branch.
103
+
The above example will: update the version of `<package>` to `<version>`, update the dart_frog CHANGELOG.md, create and checkout to a local release branch.
105
104
106
105
4. Review the recently updated CHANGELOG file. You should manually amend the content were necessary. For example, by removing the redundant scope of some semantic pull requests or removing superfluous or unrelated logged changes.
107
106
@@ -111,7 +110,6 @@ The above example will: update the version of <package> to <version>, update the
111
110
112
111
7. Open follow-up pull requests updating this package usage in any other Dart Frog package that depends on this new release.
0 commit comments