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
* feat: raise PR
rationalize repeated nock code block into a beforeEach clause.
* feat: raise PR
Add some text to describe what wiby is as a prelude
* feat: raise PR
add a simple piece of graphics to see if that helps
* docs: readme
- make a simple example with screen shots available
- create some text to give substance to why we have this tool
* docs: readme
- add callouts to cli
- add callouts to PR raised
* docs: readme
- add wiby clean simple example
* docs: readme
- add wiby clean simple example, typo
* docs: readme
- wiby clean, grammar
* docs: readme
- wiby close-pr, interim push to look at github markup
* docs: readme
- wiby close-pr, add image showing PR is closed but branch remains
* docs: readme
- wiby validate , readme
* docs: readme
- wiby validate , typo in the URI
* feat: docs
Add the wiby result command to the readme.
* feat: docs
typos
* feat: docs
add links to the 5 examples given
* feat: docs
add a bit more to explain why we have wiby.
* feat: docs
add links to example repos
* fix: array sz zero handling
the array length needs to be checked as an array that is empty will be returned by the reduce and promise all combination
* fix: undo checkin on incorrect branch
undo checkin on incorrect branch.
* run generate-usage
---------
Co-authored-by: Sebastian Beltran <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+241-5Lines changed: 241 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,37 @@
1
-
# wiby
1
+
# WIBY (**W**ill **I****B**reak **Y**ou)
2
2
3
-
"Will I break you" - a tool for testing dependents
3
+
A tool for testing dependents
4
4
5
5
This repository is managed by the [Package Maintenance Working Group](https://github.com/nodejs/package-maintenance), see [Governance](https://github.com/nodejs/package-maintenance/blob/master/Governance.md).
6
6
7
+
## Purpose
8
+
Wiby is a tool that will inform and trigger actions on a package to notify it that a registered dependency change may break
9
+
it. This is different from triggering tests once a dependency has been published. The goal is to inform before publication.
10
+
This will answer the question, "will I break you?", not "did I break you?".
11
+
12
+
The most basic notification of a change in a dependency will be a PR raised in the the dependent repository.
13
+
14
+
Wiby provides 5 basic commands test, clean, close, validate & result. The tool is intended to provide maintainers with a
15
+
mechanism to both test and inform dependents of possible future breakages.
16
+
17
+
### Terminology
18
+
The term **depenedent** shall mean an npm package that consumes another npm package, called a **dependency**, directly
19
+
or indirectly via a tree of reliance through the package.json file. The **wiby** program exists to create a notification to the *dependent*
20
+
package maintainers of changes made in a dependency. The **WIBY** program, when configured correctly, will raise a Pull
21
+
Request against the dependent package informing of the change. The **intent** is to provide a notification of possible
22
+
breakages of the dependent due to reliance on a dependency. No distinction is made between dev and non-dev dependencies.
23
+
They are all dependencies that could break "the-example-dependent" in some operational or test manner. It is noted that
24
+
in general dependent and dependencies are modules they can equally be repositories. For the purpose of this readme examples
wiby requires an environment variable `GITHUB_TOKEN` set to a Github access token. This token needs to be granted push permissions to the dependent repos.
33
+
wiby requires an environment variable `GITHUB_TOKEN` set to a Github access token. This token needs to be granted push
34
+
permissions to the dependent repos.
12
35
13
36
Example: `export GITHUB_TOKEN=XXXXX`
14
37
@@ -32,6 +55,219 @@ Example:
32
55
33
56
## Available commands
34
57
35
-
[wiby test](./USAGE.md#wiby-test) Test your dependents
58
+
[wiby test](./USAGE.md#wiby-test) Test your dependents
59
+
60
+
[wiby clean](./USAGE.md#wiby-clean) Clean (delete) a PR raised by Wiby
61
+
62
+
[wiby close_pr](./USAGE.md#wiby-test) Close a PR that was raised by Wiby and successfully run
63
+
64
+
[wiby validate](./USAGE.md#wiby-validate) Test the validity of the json in the .wiby.json file
65
+
66
+
[wiby result](./USAGE.md#wiby-result) Fetch the results of your tests
67
+
68
+
## Development
69
+
70
+
- This repository uses `semantic-release` with default configuration.
71
+
- Create a new release by running `npx semantic-release`.
72
+
## Examples
73
+
74
+
-[wiby test](#example-1)
75
+
-[wiby clean](#example-2)
76
+
-[wiby close-pr](#example-3)
77
+
-[wiby validate](#example-4)
78
+
-[wiby result](#example-5)
79
+
80
+
81
+
In the examples the dependent npm package has the following package.json file. From this it is clear it has a dependency
82
+
on an example called [example-dependency-id-a](https://github.com/ghinks/example-dependency-id-a). The examples given
83
+
will show how to configure wiby so that the dependency "example-dependency-id-a" will be able to inform the dependent,
84
+
[example-dependent-id-a](https://github.com/ghinks/example-dependent-id-a), of prospective issues.
0 commit comments