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-15Lines changed: 11 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,22 +14,18 @@ Follow these instructions for contributing new recipes. The Goal headers indicat
14
14
15
15
#### Goal 2: Setup a New Recipe's Boilerplate by Copying a Current Similar One
16
16
17
-
1. Pick an existing recipe to duplicate as a starting point. The `HelloLog` recipe is the simplest and is set up to work on both Node.js and Browser backends.
18
-
- In the examples that follow, we'll assume that you copied the `HelloLog` recipe and wish to use the "Unique Recipe Name" of `MyNewRecipe`
17
+
1. Pick an existing recipe to duplicate as a starting point. Here are some suggestions:
18
+
-`HelloLog` - If your recipe is compatible with both Node.js and web browser backends. _Note:_ Logging to the console **is** supported by **both** backends.
19
+
-`ReadPrintFileContentsNode` - If your recipe is **only** compatible with the `Node.js` backend.
20
+
-`DiceCLI` - If your recipe is **only** compatible with the `Node.js` backend **and** requires user interact for testing (e.g. a CLI app). This is to prevent our CI process from blocking while waiting for input during testing.
21
+
-`WindowPropertiesJs` - If your recipe is **only** compatible with the web browser backend.
22
+
- If your recipe targets a particular web framework:
23
+
-`HelloConcur`
24
+
-`HelloHalogenHooks`
25
+
-`HelloReactHooks`
26
+
1. Run the recipe creation script. Substitute `MyNewRecipe` with your recipe name:
19
27
```
20
-
cd recipes
21
-
cp -r HelloLog MyNewRecipe
22
-
```
23
-
1. Rename the copied folder to the "Unique Recipe Name" assigned in the original issue.
24
-
1. Depending on the backend-compatibility of your recipe, follow the instructions below:
25
-
1. If your recipe is incompatible with the browser environment, delete the `web` directory.
26
-
- If your recipe uses `node-*` libraries, it is incompatible with the browser.
27
-
- Logging to the console **is** supported in the browser.
28
-
1. If your recipe is incompatible with the Node.js backend, delete the `nodeSupported.md` file.
29
-
1. If your recipe is compatible with Node.js, but the resulting program should not be run during CI (e.g. a program that parses command-line arguments), then rename `nodeSupported.md` to `nodeSupportedSkipCI.md`.
30
-
1. Replace all usages of the original recipe's name with your new recipe's name. For example:
31
-
```
32
-
grep -rl 'HelloLog' MyNewRecipe | xargs sed -i 's/HelloLog/MyNewRecipe/g'
|`ReactClassic`|[Component-style React](https://github.com/lumihq/purescript-react-basic-classic) via [react-basic](https://github.com/lumihq/purescript-react-basic)|
76
+
|`ReactHooks`|[Hooks-style React](https://github.com/spicydonuts/purescript-react-basic-hooks/) via [react-basic](https://github.com/lumihq/purescript-react-basic)|
|`ReactClassic`|[Component-style React](https://github.com/lumihq/purescript-react-basic-classic) via [react-basic](https://github.com/lumihq/purescript-react-basic)|
76
+
|`ReactHooks`|[Hooks-style React](https://github.com/spicydonuts/purescript-react-basic-hooks/) via [react-basic](https://github.com/lumihq/purescript-react-basic)|
0 commit comments