From a834754d42f3bf5e8c72877d7baf24306b4444b0 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:29:47 -0700 Subject: [PATCH 01/17] Migrate project to Spago --- packages.dhall | 4 ++++ spago.dhall | 6 ++++++ test/Main.purs | 11 +++++++++++ 3 files changed, 21 insertions(+) create mode 100644 packages.dhall create mode 100644 spago.dhall create mode 100644 test/Main.purs diff --git a/packages.dhall b/packages.dhall new file mode 100644 index 0000000..1f2cd01 --- /dev/null +++ b/packages.dhall @@ -0,0 +1,4 @@ +let upstream = + https://github.com/purescript/package-sets/releases/download/psc-0.13.8-20200911-2/packages.dhall sha256:872c06349ed9c8210be43982dc6466c2ca7c5c441129826bcb9bf3672938f16e + +in upstream diff --git a/spago.dhall b/spago.dhall new file mode 100644 index 0000000..f04b9b1 --- /dev/null +++ b/spago.dhall @@ -0,0 +1,6 @@ +{ name = "http-methods" +, dependencies = + [ "console", "effect", "either", "prelude", "psci-support", "strings" ] +, packages = ./packages.dhall +, sources = [ "src/**/*.purs", "test/**/*.purs" ] +} diff --git a/test/Main.purs b/test/Main.purs new file mode 100644 index 0000000..f91f98c --- /dev/null +++ b/test/Main.purs @@ -0,0 +1,11 @@ +module Test.Main where + +import Prelude + +import Effect (Effect) +import Effect.Class.Console (log) + +main :: Effect Unit +main = do + log "🍝" + log "You should add some tests." From 3b7d09ac022a4e5582a8fc065b5dcdd52d58a30e Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:29:47 -0700 Subject: [PATCH 02/17] Capitalize .github/ files --- .github/{contributing.md => CONTRIBUTING.md} | 0 .github/{pull_request_template.md => PULL_REQUEST_TEMPLATE.md} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .github/{contributing.md => CONTRIBUTING.md} (100%) rename .github/{pull_request_template.md => PULL_REQUEST_TEMPLATE.md} (100%) diff --git a/.github/contributing.md b/.github/CONTRIBUTING.md similarity index 100% rename from .github/contributing.md rename to .github/CONTRIBUTING.md diff --git a/.github/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from .github/pull_request_template.md rename to .github/PULL_REQUEST_TEMPLATE.md From d3451e869f1b7fc27026705af52dac382fe707c4 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:29:47 -0700 Subject: [PATCH 03/17] Remove old issue_template.md file --- .github/issue_template.md | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/issue_template.md diff --git a/.github/issue_template.md b/.github/issue_template.md deleted file mode 100644 index 2333ea5..0000000 --- a/.github/issue_template.md +++ /dev/null @@ -1,22 +0,0 @@ -## Pre-check - -* For help and support, try the [PureScript user forum](https://discourse.purescript.org) or the [functional programming Slack](https://functionalprogramming.slack.com) before opening an issue in the repository. -* For bug reports, do a quick search to ensure the bug has not yet been reported. -* For new feature requests, please remember to describe the feature you would like to see, why you need it, and how it might be implemented. -* Finally -- be nice and have fun! - ---- - -## Environment - -* PureScript **[version]** -* Pulp **[version]** -* `purescript-http-methods` **[version]** - -## Current behavior - -Please include code samples, errors, steps to reproduce, and compiler output if appropriate. - -If possible, provide a sample minimal app or test case that reproduces the error. For visual bugs that are difficult to demonstrate in text, consider including a .gif using an app like [Recordit](http://www.recordit.co/). - -## Expected behavior From e7de50ee63180a9e194b3f7d3abb74fd5d48ca48 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:29:47 -0700 Subject: [PATCH 04/17] Remove .travis.yml file --- .travis.yml | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 11496bc..0000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: node_js -dist: trusty -sudo: required -node_js: stable -env: - - PATH=$HOME/purescript:$PATH -install: - - TAG=$(basename $(curl --location --silent --output /dev/null -w %{url_effective} https://github.com/purescript/purescript/releases/latest)) - - curl --location --output $HOME/purescript.tar.gz https://github.com/purescript/purescript/releases/download/$TAG/linux64.tar.gz - - tar -xvf $HOME/purescript.tar.gz -C $HOME/ - - chmod a+x $HOME/purescript - - npm install -g bower - - npm install - - bower install --production -script: - - npm run -s build -after_success: - - >- - test $TRAVIS_TAG && - echo $GITHUB_TOKEN | pulp login && - echo y | pulp publish --no-push From 2aa236902db52267195bae9b28d04616ad0f4a26 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:29:47 -0700 Subject: [PATCH 05/17] Remove package.json file --- package.json | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 package.json diff --git a/package.json b/package.json deleted file mode 100644 index d336a99..0000000 --- a/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "private": true, - "scripts": { - "clean": "rimraf output && rimraf .pulp-cache", - "build": "pulp build -- --censor-lib --strict" - }, - "devDependencies": { - "pulp": "^14.0.0", - "purescript-psa": "^0.7.3", - "rimraf": "^3.0.2" - } -} From cfc9d6fce8a2d3b01a535d1587fe31f8a613e523 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:31:31 -0700 Subject: [PATCH 06/17] Run `contrib-updater generate --maintainer garyb --maintainer thomashoneyman` --- .editorconfig | 13 ++++++ .github/CONTRIBUTING.md | 52 ++---------------------- .github/ISSUE_TEMPLATE/bug-report.md | 19 +++++++++ .github/ISSUE_TEMPLATE/change-request.md | 21 ++++++++++ .github/ISSUE_TEMPLATE/config.yml | 8 ++++ .github/PULL_REQUEST_TEMPLATE.md | 20 ++++----- .github/workflows/ci.yml | 34 ++++++++++++++++ .github/workflows/stale.yml | 23 +++++++++++ .gitignore | 18 +++----- README.md | 41 ++++++++++++++----- backups/.github/CONTRIBUTING.md | 51 +++++++++++++++++++++++ backups/.github/PULL_REQUEST_TEMPLATE.md | 15 +++++++ backups/.gitignore | 16 ++++++++ backups/README.md | 23 +++++++++++ docs/CHANGELOG.md | 15 +++++++ docs/README.md | 3 ++ 16 files changed, 288 insertions(+), 84 deletions(-) create mode 100644 .editorconfig create mode 100644 .github/ISSUE_TEMPLATE/bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/change-request.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/stale.yml create mode 100644 backups/.github/CONTRIBUTING.md create mode 100644 backups/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 backups/.gitignore create mode 100644 backups/README.md create mode 100644 docs/CHANGELOG.md create mode 100644 docs/README.md diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7c68b07 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# https://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index fd8ff1d..00eb667 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,51 +1,5 @@ -# Contribution +# Contributing to Http Methods -Thank you for contributing to `purescript-http-methods`! +Thanks for your interest in contributing to `http-methods`! We welcome new contributions regardless of your level of experience or familiarity with PureScript. -Following these guidelines helps ensure we're able to carefully consider your contribution and help you finalize your pull request. Your time (like ours) is valuable, and we try to at least provide constructive feedback on every contribution. - -### Contributions we love -`purescript-http-methods` is an open-source library and we love to receive contributions. There are many ways you can contribute: - -* Help expand our test coverage -* Help fix open issues, even if that simply means adding a helpful comment -* Help push along open pull requests that need more work to be complete -* Improve or add new usage examples to better demonstrate how to use the library in real-world scenarios -* Update documentation and tutorials to be easier to understand, more comprehensive, and above all -- up to date! - -### Contributions we should discuss -Some contributions will take some discussion before we accept an update to the project. If your contribution includes one of the below examples (or seems to be reasonably similar), please consider reaching out to us before putting in a lot of work to build the feature. We're active on the [PureScript user forum](https://discourse.purescript.org) and the [functional programming Slack](https://functionalprogramming.slack.com/) community (new? [use this link to join](https://fpchat-invite.herokuapp.com/)!). For feature requests, feel free to open an issue with a tag. - -* New features and functions that will change the library's public API -* New tutorials (while we love seeing new tutorials, we won't always be able to feature them in the readme) - -# Ground Rules - -We have a small set of quality-of-life guidelines for contributing to `purescript-http-methods`. These include: - -* All pull requests must pass continuous integration. -* If you are adding new functionality, you should provide tests and documentation for your code. If you're fixing an existing bug, please provide a failing test case your patch solves. -* If possible, please avoid requiring new dependencies. - -### Filing issues -If you have a general question about the project, it's best to ask on the [PureScript user forum](https://discourse.purescript.org) or the [functional programming Slack](https://functionalprogramming.slack.com/) than to open a new issue. If you have run into a bug in the project, then please do open an issue! When you do, we ask that you follow a few steps which are outlined in our issues template. The gist of it is here: - -* Verify the problem is indeed with `purescript-http-methods` (not with Pulp, Bower, or PureScript); -* Record what versions you are using for PureScript and `purescript-http-methods` -* Describe the issue with steps to reproduce (as much as you are able). A minimal reproducible example is the absolute best case scenario. - -We promise to address the issue as soon as we can. - -### Suggesting features or enhancements -We love to hear about ways we could make better. If you're wishing for a feature that doesn't exist in `purescript-http-methods`, you're probably not alone; there are bound to be others with similar needs. Please feel free to open an issue on GitHub that describes: - -* the feature you would like to see -* why you need it -* how it should work - -We promise to review your issue, but we aren't always able to accommodate all requests. It helps if you're able to contribute to the implementation, too! - -### Code reviews -The core team looks at pull requests weekly, at which point we will review your code, ensure it meets our ground rules and fits with the philosophy of the project, and -- if necessary -- provide constructive feedback. As soon as at least one member of the team has signed off on your pull request, we will merge your contribution. - -If you opened a pull request and we need to ask a few questions, we expect responses within a month. After that we may close the pull request if it isn't showing any activity to keep things manageable. +Every library in the Contributors organization shares a simple handbook that helps new contributors get started. With that in mind, please [read the short contributing guide on purescript-contrib/governance](https://github.com/purescript-contrib/governance/blob/main/contributing.md) before contributing to this library. diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..b79b995 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,19 @@ +--- +name: Bug report +about: Report an issue +title: "" +labels: bug +assignees: "" +--- + +**Describe the bug** +A clear and concise description of the bug. + +**To Reproduce** +A minimal code example (preferably a runnable example on [Try PureScript](https://try.purescript.org)!) or steps to reproduce the issue. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/change-request.md b/.github/ISSUE_TEMPLATE/change-request.md new file mode 100644 index 0000000..a2ee685 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/change-request.md @@ -0,0 +1,21 @@ +--- +name: Change request +about: Propose an improvement to this library +title: "" +labels: "" +assignees: "" +--- + +**Is your change request related to a problem? Please describe.** +A clear and concise description of the problem. + +Examples: + +- It's frustrating to have to [...] +- I was looking for a function to [...] + +**Describe the solution you'd like** +A clear and concise description of what a good solution to you looks like, including any solutions you've already considered. + +**Additional context** +Add any other context about the change request here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..c47a263 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: PureScript Discourse + url: https://discourse.purescript.org/ + about: Ask and answer questions here. + - name: Functional Programming Slack + url: https://functionalprogramming.slack.com + about: For casual chat and questions (use https://fpchat-invite.herokuapp.com to join). diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 7c16360..d8780f7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,15 +1,11 @@ -## What does this pull request do? +**Description of the change** +Clearly and concisely describe the purpose of the pull request. If this PR relates to an existing issue or change proposal, please link to it. Include any other background context that would help reviewers understand the motivation for this PR. -Please describe the purpose of the pull request, including any background context and links to related issues. If this introduces a large change to the project, please describe what you have implemented. +--- -## Where should the reviewer start? +**Checklist:** -Help save the reviewer time by highlighting the most important sections of code. - -## How should this be manually tested? - -If this is a new feature, you should provide new test coverage. If it fixes an existing bug, you should provide a failing test case this change fixes. Other than automated testing, what manual tests can the reviewer perform to verify your work? - -## Other Notes: - -Does the project documentation need to be updated? Should we introduce a new example, or update any existing examples? Does this PR require any other follow-up tasks? +- [ ] Added the change to the changelog's "Unreleased" section with a link to this PR and your username +- [ ] Linked any existing issues or proposals that this pull request should close +- [ ] Updated or added relevant documentation in the README and/or documentation directory +- [ ] Added a test for the contribution (if applicable) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..6b0550f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up a PureScript toolchain + uses: purescript-contrib/setup-purescript@main + + - name: Cache PureScript dependencies + uses: actions/cache@v2 + with: + key: ${{ runner.os }}-spago-${{ hashFiles('**/*.dhall') }} + path: | + .spago + output + + - name: Install dependencies + run: spago install + + - name: Build source + run: spago build --no-install --purs-args '--censor-lib --strict' + + - name: Run tests + run: spago test --no-install diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..002dae8 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,23 @@ +name: "Stale" + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3 + env: + days-until-stale: 60 + days-until-close: 14 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: "This issue is stale because it has been open for ${{ env.days-until-stale }} days with no activity. Remove the stale label or comment to keep this issue open. Otherwise, this issue will be closed in ${{ env.days-until-close }} days." + stale-pr-message: "This pull request is stale because it has been open for ${{ env.days-until-stale }} days with no activity. Remove the stale label or comment to keep this pull request open. Otherwise, this pull request will be closed in ${{ env.days-until-close }} days." + days-before-stale: ${{ env.days-until-stale }} + days-before-close: ${{ env.days-until-close }} + stale-issue-label: "stale" + stale-pr-label: "stale" + exempt-pr-labels: "breaking change" diff --git a/.gitignore b/.gitignore index f116217..7bca306 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,8 @@ -/.* -!/.gitignore -!/.github -!/.travis.yml +.* +!.gitignore +!.github +!.editorconfig -# Dependencies -bower_components -node_modules - -# Generated files output generated-docs - -# Lockfiles -package-lock.json -*.lock +bower_components diff --git a/README.md b/README.md index 2ea5236..1442083 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,44 @@ -# purescript-http-methods +# Http Methods -[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-http-methods.svg)](https://github.com/purescript-contrib/purescript-http-methods/releases) -[![Build status](https://travis-ci.org/purescript-contrib/purescript-http-methods.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-http-methods) -[![Pursuit](http://pursuit.purescript.org/packages/purescript-http-methods/badge)](http://pursuit.purescript.org/packages/purescript-http-methods/) -[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb) -[![Maintainer: thomashoneyman](https://img.shields.io/badge/maintainer-thomashoneyman-lightgrey.svg)](http://github.com/thomashoneyman) +[![CI](https://github.com/purescript-contrib/purescript-http-methods/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-http-methods/actions?query=workflow%3ACI+branch%3Amain) +[![Release](https://img.shields.io/github/release/purescript-contrib/purescript-http-methods.svg)](https://github.com/purescript-contrib/purescript-http-methods/releases) +[![Pursuit](https://pursuit.purescript.org/packages/purescript-http-methods/badge)](https://pursuit.purescript.org/packages/purescript-http-methods) +[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-teal.svg)](https://github.com/garyb) +[![Maintainer: thomashoneyman](https://img.shields.io/badge/maintainer-thomashoneyman-teal.svg)](https://github.com/thomashoneyman) HTTP method type. ## Installation +Install `http-methods` with [Spago](https://github.com/purescript/spago): + +```sh +spago install http-methods ``` -bower install purescript-http-methods -``` + +## Quick start + +The quick start hasn't been written yet (contributions are welcome!). The quick start covers a common, minimal use case for the library, whereas longer examples and tutorials are kept in the [docs directory](./docs.) ## Documentation -Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-http-methods). +`http-methods` documentation is stored in a few places: + +1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-http-methods). +2. Written documentation and [the changelog](./docs/CHANGELOG.md) are kept in [the docs directory](./docs). +3. Usage examples can be found in [the test suite](./test). + +If you get stuck, there are several ways to get help: + +- [Open an issue](https://github.com/purescript-contrib/purescript-http-methods/issues) if you have encountered a bug or problem. +- [Search or start a thread on the PureScript Discourse](https://discourse.purescript.org) if you have general questions. You can also ask questions in the `#purescript` and `#purescript-beginners` channels on the [Functional Programming Slack](https://functionalprogramming.slack.com) ([invite link](https://fpchat-invite.herokuapp.com/)). ## Contributing -Read the [contribution guidelines](https://github.com/purescript-contrib/purescript-http-methods/blob/master/.github/contributing.md) to get started and see helpful related resources. +You can contribute to `http-methods` in several ways: + +1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-http-methods/issues). We'll do our best to work with you to resolve or answer it. + +2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./.github/CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions. + +3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed. diff --git a/backups/.github/CONTRIBUTING.md b/backups/.github/CONTRIBUTING.md new file mode 100644 index 0000000..fd8ff1d --- /dev/null +++ b/backups/.github/CONTRIBUTING.md @@ -0,0 +1,51 @@ +# Contribution + +Thank you for contributing to `purescript-http-methods`! + +Following these guidelines helps ensure we're able to carefully consider your contribution and help you finalize your pull request. Your time (like ours) is valuable, and we try to at least provide constructive feedback on every contribution. + +### Contributions we love +`purescript-http-methods` is an open-source library and we love to receive contributions. There are many ways you can contribute: + +* Help expand our test coverage +* Help fix open issues, even if that simply means adding a helpful comment +* Help push along open pull requests that need more work to be complete +* Improve or add new usage examples to better demonstrate how to use the library in real-world scenarios +* Update documentation and tutorials to be easier to understand, more comprehensive, and above all -- up to date! + +### Contributions we should discuss +Some contributions will take some discussion before we accept an update to the project. If your contribution includes one of the below examples (or seems to be reasonably similar), please consider reaching out to us before putting in a lot of work to build the feature. We're active on the [PureScript user forum](https://discourse.purescript.org) and the [functional programming Slack](https://functionalprogramming.slack.com/) community (new? [use this link to join](https://fpchat-invite.herokuapp.com/)!). For feature requests, feel free to open an issue with a tag. + +* New features and functions that will change the library's public API +* New tutorials (while we love seeing new tutorials, we won't always be able to feature them in the readme) + +# Ground Rules + +We have a small set of quality-of-life guidelines for contributing to `purescript-http-methods`. These include: + +* All pull requests must pass continuous integration. +* If you are adding new functionality, you should provide tests and documentation for your code. If you're fixing an existing bug, please provide a failing test case your patch solves. +* If possible, please avoid requiring new dependencies. + +### Filing issues +If you have a general question about the project, it's best to ask on the [PureScript user forum](https://discourse.purescript.org) or the [functional programming Slack](https://functionalprogramming.slack.com/) than to open a new issue. If you have run into a bug in the project, then please do open an issue! When you do, we ask that you follow a few steps which are outlined in our issues template. The gist of it is here: + +* Verify the problem is indeed with `purescript-http-methods` (not with Pulp, Bower, or PureScript); +* Record what versions you are using for PureScript and `purescript-http-methods` +* Describe the issue with steps to reproduce (as much as you are able). A minimal reproducible example is the absolute best case scenario. + +We promise to address the issue as soon as we can. + +### Suggesting features or enhancements +We love to hear about ways we could make better. If you're wishing for a feature that doesn't exist in `purescript-http-methods`, you're probably not alone; there are bound to be others with similar needs. Please feel free to open an issue on GitHub that describes: + +* the feature you would like to see +* why you need it +* how it should work + +We promise to review your issue, but we aren't always able to accommodate all requests. It helps if you're able to contribute to the implementation, too! + +### Code reviews +The core team looks at pull requests weekly, at which point we will review your code, ensure it meets our ground rules and fits with the philosophy of the project, and -- if necessary -- provide constructive feedback. As soon as at least one member of the team has signed off on your pull request, we will merge your contribution. + +If you opened a pull request and we need to ask a few questions, we expect responses within a month. After that we may close the pull request if it isn't showing any activity to keep things manageable. diff --git a/backups/.github/PULL_REQUEST_TEMPLATE.md b/backups/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..7c16360 --- /dev/null +++ b/backups/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,15 @@ +## What does this pull request do? + +Please describe the purpose of the pull request, including any background context and links to related issues. If this introduces a large change to the project, please describe what you have implemented. + +## Where should the reviewer start? + +Help save the reviewer time by highlighting the most important sections of code. + +## How should this be manually tested? + +If this is a new feature, you should provide new test coverage. If it fixes an existing bug, you should provide a failing test case this change fixes. Other than automated testing, what manual tests can the reviewer perform to verify your work? + +## Other Notes: + +Does the project documentation need to be updated? Should we introduce a new example, or update any existing examples? Does this PR require any other follow-up tasks? diff --git a/backups/.gitignore b/backups/.gitignore new file mode 100644 index 0000000..f116217 --- /dev/null +++ b/backups/.gitignore @@ -0,0 +1,16 @@ +/.* +!/.gitignore +!/.github +!/.travis.yml + +# Dependencies +bower_components +node_modules + +# Generated files +output +generated-docs + +# Lockfiles +package-lock.json +*.lock diff --git a/backups/README.md b/backups/README.md new file mode 100644 index 0000000..2ea5236 --- /dev/null +++ b/backups/README.md @@ -0,0 +1,23 @@ +# purescript-http-methods + +[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-http-methods.svg)](https://github.com/purescript-contrib/purescript-http-methods/releases) +[![Build status](https://travis-ci.org/purescript-contrib/purescript-http-methods.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-http-methods) +[![Pursuit](http://pursuit.purescript.org/packages/purescript-http-methods/badge)](http://pursuit.purescript.org/packages/purescript-http-methods/) +[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb) +[![Maintainer: thomashoneyman](https://img.shields.io/badge/maintainer-thomashoneyman-lightgrey.svg)](http://github.com/thomashoneyman) + +HTTP method type. + +## Installation + +``` +bower install purescript-http-methods +``` + +## Documentation + +Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-http-methods). + +## Contributing + +Read the [contribution guidelines](https://github.com/purescript-contrib/purescript-http-methods/blob/master/.github/contributing.md) to get started and see helpful related resources. diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 0000000..bb34d86 --- /dev/null +++ b/docs/CHANGELOG.md @@ -0,0 +1,15 @@ +# Changelog + +Notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +Breaking changes (😱!!!): + +New features: + +Bugfixes: + +Other improvements: + +## [0.0.0] - 2020-01-01 diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..e6a8592 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,3 @@ +# Http Methods Documentation + +This directory contains documentation for `http-methods`. If you are interested in contributing new documentation, please read the [contributor guidelines](../.github/CONTRIBUTING.md) and [What Nobody Tells You About Documentation](https://documentation.divio.com) for help getting started. From f38908a950c46856e38af6e9d8c3b81bd33698ea Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:31:38 -0700 Subject: [PATCH 07/17] Delete backups folder --- backups/.github/CONTRIBUTING.md | 51 ------------------------ backups/.github/PULL_REQUEST_TEMPLATE.md | 15 ------- backups/.gitignore | 16 -------- backups/README.md | 23 ----------- 4 files changed, 105 deletions(-) delete mode 100644 backups/.github/CONTRIBUTING.md delete mode 100644 backups/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 backups/.gitignore delete mode 100644 backups/README.md diff --git a/backups/.github/CONTRIBUTING.md b/backups/.github/CONTRIBUTING.md deleted file mode 100644 index fd8ff1d..0000000 --- a/backups/.github/CONTRIBUTING.md +++ /dev/null @@ -1,51 +0,0 @@ -# Contribution - -Thank you for contributing to `purescript-http-methods`! - -Following these guidelines helps ensure we're able to carefully consider your contribution and help you finalize your pull request. Your time (like ours) is valuable, and we try to at least provide constructive feedback on every contribution. - -### Contributions we love -`purescript-http-methods` is an open-source library and we love to receive contributions. There are many ways you can contribute: - -* Help expand our test coverage -* Help fix open issues, even if that simply means adding a helpful comment -* Help push along open pull requests that need more work to be complete -* Improve or add new usage examples to better demonstrate how to use the library in real-world scenarios -* Update documentation and tutorials to be easier to understand, more comprehensive, and above all -- up to date! - -### Contributions we should discuss -Some contributions will take some discussion before we accept an update to the project. If your contribution includes one of the below examples (or seems to be reasonably similar), please consider reaching out to us before putting in a lot of work to build the feature. We're active on the [PureScript user forum](https://discourse.purescript.org) and the [functional programming Slack](https://functionalprogramming.slack.com/) community (new? [use this link to join](https://fpchat-invite.herokuapp.com/)!). For feature requests, feel free to open an issue with a tag. - -* New features and functions that will change the library's public API -* New tutorials (while we love seeing new tutorials, we won't always be able to feature them in the readme) - -# Ground Rules - -We have a small set of quality-of-life guidelines for contributing to `purescript-http-methods`. These include: - -* All pull requests must pass continuous integration. -* If you are adding new functionality, you should provide tests and documentation for your code. If you're fixing an existing bug, please provide a failing test case your patch solves. -* If possible, please avoid requiring new dependencies. - -### Filing issues -If you have a general question about the project, it's best to ask on the [PureScript user forum](https://discourse.purescript.org) or the [functional programming Slack](https://functionalprogramming.slack.com/) than to open a new issue. If you have run into a bug in the project, then please do open an issue! When you do, we ask that you follow a few steps which are outlined in our issues template. The gist of it is here: - -* Verify the problem is indeed with `purescript-http-methods` (not with Pulp, Bower, or PureScript); -* Record what versions you are using for PureScript and `purescript-http-methods` -* Describe the issue with steps to reproduce (as much as you are able). A minimal reproducible example is the absolute best case scenario. - -We promise to address the issue as soon as we can. - -### Suggesting features or enhancements -We love to hear about ways we could make better. If you're wishing for a feature that doesn't exist in `purescript-http-methods`, you're probably not alone; there are bound to be others with similar needs. Please feel free to open an issue on GitHub that describes: - -* the feature you would like to see -* why you need it -* how it should work - -We promise to review your issue, but we aren't always able to accommodate all requests. It helps if you're able to contribute to the implementation, too! - -### Code reviews -The core team looks at pull requests weekly, at which point we will review your code, ensure it meets our ground rules and fits with the philosophy of the project, and -- if necessary -- provide constructive feedback. As soon as at least one member of the team has signed off on your pull request, we will merge your contribution. - -If you opened a pull request and we need to ask a few questions, we expect responses within a month. After that we may close the pull request if it isn't showing any activity to keep things manageable. diff --git a/backups/.github/PULL_REQUEST_TEMPLATE.md b/backups/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 7c16360..0000000 --- a/backups/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,15 +0,0 @@ -## What does this pull request do? - -Please describe the purpose of the pull request, including any background context and links to related issues. If this introduces a large change to the project, please describe what you have implemented. - -## Where should the reviewer start? - -Help save the reviewer time by highlighting the most important sections of code. - -## How should this be manually tested? - -If this is a new feature, you should provide new test coverage. If it fixes an existing bug, you should provide a failing test case this change fixes. Other than automated testing, what manual tests can the reviewer perform to verify your work? - -## Other Notes: - -Does the project documentation need to be updated? Should we introduce a new example, or update any existing examples? Does this PR require any other follow-up tasks? diff --git a/backups/.gitignore b/backups/.gitignore deleted file mode 100644 index f116217..0000000 --- a/backups/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -/.* -!/.gitignore -!/.github -!/.travis.yml - -# Dependencies -bower_components -node_modules - -# Generated files -output -generated-docs - -# Lockfiles -package-lock.json -*.lock diff --git a/backups/README.md b/backups/README.md deleted file mode 100644 index 2ea5236..0000000 --- a/backups/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# purescript-http-methods - -[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-http-methods.svg)](https://github.com/purescript-contrib/purescript-http-methods/releases) -[![Build status](https://travis-ci.org/purescript-contrib/purescript-http-methods.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-http-methods) -[![Pursuit](http://pursuit.purescript.org/packages/purescript-http-methods/badge)](http://pursuit.purescript.org/packages/purescript-http-methods/) -[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb) -[![Maintainer: thomashoneyman](https://img.shields.io/badge/maintainer-thomashoneyman-lightgrey.svg)](http://github.com/thomashoneyman) - -HTTP method type. - -## Installation - -``` -bower install purescript-http-methods -``` - -## Documentation - -Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-http-methods). - -## Contributing - -Read the [contribution guidelines](https://github.com/purescript-contrib/purescript-http-methods/blob/master/.github/contributing.md) to get started and see helpful related resources. From 70d0a17689d821df497d97855cd5501c00818c5b Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Sep 2020 12:35:59 -0700 Subject: [PATCH 08/17] Remove the `test/` directory --- test/Main.purs | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 test/Main.purs diff --git a/test/Main.purs b/test/Main.purs deleted file mode 100644 index f91f98c..0000000 --- a/test/Main.purs +++ /dev/null @@ -1,11 +0,0 @@ -module Test.Main where - -import Prelude - -import Effect (Effect) -import Effect.Class.Console (log) - -main :: Effect Unit -main = do - log "🍝" - log "You should add some tests." From badc0beabbbf7fce21d485659ad0652f193e9104 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 06:55:56 -0700 Subject: [PATCH 09/17] Use 'HTTP Method' rather than 'Http Method' --- .github/CONTRIBUTING.md | 2 +- README.md | 2 +- docs/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 00eb667..e7a0218 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to Http Methods +# Contributing to HTTP Methods Thanks for your interest in contributing to `http-methods`! We welcome new contributions regardless of your level of experience or familiarity with PureScript. diff --git a/README.md b/README.md index 1442083..ec5260e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Http Methods +# HTTP Methods [![CI](https://github.com/purescript-contrib/purescript-http-methods/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-http-methods/actions?query=workflow%3ACI+branch%3Amain) [![Release](https://img.shields.io/github/release/purescript-contrib/purescript-http-methods.svg)](https://github.com/purescript-contrib/purescript-http-methods/releases) diff --git a/docs/README.md b/docs/README.md index e6a8592..e346f57 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,3 @@ -# Http Methods Documentation +# HTTP Methods Documentation This directory contains documentation for `http-methods`. If you are interested in contributing new documentation, please read the [contributor guidelines](../.github/CONTRIBUTING.md) and [What Nobody Tells You About Documentation](https://documentation.divio.com) for help getting started. From 44359e9403f68c7f34aeb4d9a65e67a0616eb9bd Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 06:56:56 -0700 Subject: [PATCH 10/17] Remove things related to tests as its not needed --- .github/workflows/ci.yml | 3 --- README.md | 1 - 2 files changed, 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b0550f..07cee8d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,3 @@ jobs: - name: Build source run: spago build --no-install --purs-args '--censor-lib --strict' - - - name: Run tests - run: spago test --no-install diff --git a/README.md b/README.md index ec5260e..03376b3 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ The quick start hasn't been written yet (contributions are welcome!). The quick 1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-http-methods). 2. Written documentation and [the changelog](./docs/CHANGELOG.md) are kept in [the docs directory](./docs). -3. Usage examples can be found in [the test suite](./test). If you get stuck, there are several ways to get help: From aeaa9734f47d14626ac32b697c877a7f3d409c24 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 07:01:13 -0700 Subject: [PATCH 11/17] Explain the design behind Method type definition --- README.md | 2 +- src/Data/HTTP/Method.purs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 03376b3..a4d7281 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-teal.svg)](https://github.com/garyb) [![Maintainer: thomashoneyman](https://img.shields.io/badge/maintainer-thomashoneyman-teal.svg)](https://github.com/thomashoneyman) -HTTP method type. +HTTP method type. The definition of the type is based on HTTP/1.1 with [RFC 2518](https://tools.ietf.org/html/rfc2518) and [RFC 5789](https://tools.ietf.org/html/rfc5789). ## Installation diff --git a/src/Data/HTTP/Method.purs b/src/Data/HTTP/Method.purs index f910569..f79b64e 100644 --- a/src/Data/HTTP/Method.purs +++ b/src/Data/HTTP/Method.purs @@ -11,6 +11,9 @@ import Prelude import Data.Either (Either(..), either) import Data.String as Str +-- | The definition of the type is based on HTTP/1.1 with +-- | [RFC 2518](https://tools.ietf.org/html/rfc2518) and +-- | [RFC 5789](https://tools.ietf.org/html/rfc5789). data Method -- HTTP/1.1 = OPTIONS From 8f1e01e30e7372c803ed7e1871aac6674b45617e Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 07:04:02 -0700 Subject: [PATCH 12/17] Add `parse` to enable more parsing options besides `fromString` --- src/Data/HTTP/Method.purs | 44 ++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/Data/HTTP/Method.purs b/src/Data/HTTP/Method.purs index f79b64e..f376fca 100644 --- a/src/Data/HTTP/Method.purs +++ b/src/Data/HTTP/Method.purs @@ -69,26 +69,32 @@ derive instance ordCustomMethod :: Ord CustomMethod instance showCustomMethod :: Show CustomMethod where show (CustomMethod m) = "(CustomMethod " <> show m <> ")" -fromString :: String -> Either Method CustomMethod -fromString s = +-- | Parses a `String` into a `Method` and pass the result into the first +-- | handler. If the string does not match a known method, +-- | passes itself into the second handler. +parse :: (Method -> c) -> (String -> c) -> String -> c +parse handleMethod handleUnknown s = case Str.toUpper s of - "OPTIONS" -> Left OPTIONS - "GET" -> Left GET - "HEAD" -> Left HEAD - "POST" -> Left POST - "PUT" -> Left PUT - "DELETE" -> Left DELETE - "TRACE" -> Left TRACE - "CONNECT" -> Left CONNECT - "PROPFIND" -> Left PROPFIND - "PROPPATCH" -> Left PROPPATCH - "MKCOL" -> Left MKCOL - "COPY" -> Left COPY - "MOVE" -> Left MOVE - "LOCK" -> Left LOCK - "UNLOCK" -> Left UNLOCK - "PATCH" -> Left PATCH - m -> Right (CustomMethod m) + "OPTIONS" -> handleMethod OPTIONS + "GET" -> handleMethod GET + "HEAD" -> handleMethod HEAD + "POST" -> handleMethod POST + "PUT" -> handleMethod PUT + "DELETE" -> handleMethod DELETE + "TRACE" -> handleMethod TRACE + "CONNECT" -> handleMethod CONNECT + "PROPFIND" -> handleMethod PROPFIND + "PROPPATCH" -> handleMethod PROPPATCH + "MKCOL" -> handleMethod MKCOL + "COPY" -> handleMethod COPY + "MOVE" -> handleMethod MOVE + "LOCK" -> handleMethod LOCK + "UNLOCK" -> handleMethod UNLOCK + "PATCH" -> handleMethod PATCH + m -> handleUnknown m + +fromString :: String -> Either Method CustomMethod +fromString = parse Left (Right <<< CustomMethod) print :: Either Method CustomMethod -> String print = either show unCustomMethod From db38e68afc7000d49e74573bd161b2d61a8a0519 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 07:12:13 -0700 Subject: [PATCH 13/17] Add quickstart to repo, showing how to print/parse methods --- README.md | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a4d7281..618a533 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,45 @@ spago install http-methods ## Quick start -The quick start hasn't been written yet (contributions are welcome!). The quick start covers a common, minimal use case for the library, whereas longer examples and tutorials are kept in the [docs directory](./docs.) +```purescript +module PrintingExample where + +import Data.HTTP.Method (Method(..), print) +import Data.Either (Either(..)) + +-- To print an HTTP method, use the `print` function: + +-- same as "GET" +getMethod :: String +getMethod = print (Left GET) +``` + +```purescript +module ParsingExample where + +import Data.HTTP.Method (Method(..), CustomMethod(..), parse, fromString) +import Data.Either (Either(..)) + +-- To parse an HTTP method, use the `fromString` function: + +-- same as `Left GET`. +getMethod :: Either Method CustomMethod +getMethod = fromString "GET" + +-- Any methods not defined by `Method` will be parsed as a custom method: + +-- same as `Right (CustomMethod "FOO")` +fooMethod :: Either Method CustomMethod +fooMethod = fromString "FOO" + +-- If you want to handle the parsing in a more controlled way, +-- use `parse` directly. + +-- Only accept methods defined in the Method type +-- and ignore all other custom methods +maybeMethod :: String -> Maybe Method +maybeMethod = parse Just (\_ -> Nothing) +``` ## Documentation From 93276ec6c4ae036760da6168d14f9515b3fb50ec Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 12:22:38 -0700 Subject: [PATCH 14/17] Delete `stale.yml` file --- .github/workflows/stale.yml | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 002dae8..0000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: "Stale" - -on: - schedule: - - cron: "0 0 * * *" - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v3 - env: - days-until-stale: 60 - days-until-close: 14 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: "This issue is stale because it has been open for ${{ env.days-until-stale }} days with no activity. Remove the stale label or comment to keep this issue open. Otherwise, this issue will be closed in ${{ env.days-until-close }} days." - stale-pr-message: "This pull request is stale because it has been open for ${{ env.days-until-stale }} days with no activity. Remove the stale label or comment to keep this pull request open. Otherwise, this pull request will be closed in ${{ env.days-until-close }} days." - days-before-stale: ${{ env.days-until-stale }} - days-before-close: ${{ env.days-until-close }} - stale-issue-label: "stale" - stale-pr-label: "stale" - exempt-pr-labels: "breaking change" From 5d560a5937ce372a9159996354a5c00eb61af163 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 12:22:53 -0700 Subject: [PATCH 15/17] Move changelog file to root folder --- docs/CHANGELOG.md => CHANGELOG.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/CHANGELOG.md => CHANGELOG.md (100%) diff --git a/docs/CHANGELOG.md b/CHANGELOG.md similarity index 100% rename from docs/CHANGELOG.md rename to CHANGELOG.md From 47532e5ab164256c458c1c40f62a9062230a436c Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 15 Sep 2020 12:30:04 -0700 Subject: [PATCH 16/17] Update readme --- README.md | 2 +- docs/README.md | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 docs/README.md diff --git a/README.md b/README.md index 618a533..ce4759d 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ maybeMethod = parse Just (\_ -> Nothing) `http-methods` documentation is stored in a few places: 1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-http-methods). -2. Written documentation and [the changelog](./docs/CHANGELOG.md) are kept in [the docs directory](./docs). +2. See [the changelog](./CHANGELOG.md). If you get stuck, there are several ways to get help: diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index e346f57..0000000 --- a/docs/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# HTTP Methods Documentation - -This directory contains documentation for `http-methods`. If you are interested in contributing new documentation, please read the [contributor guidelines](../.github/CONTRIBUTING.md) and [What Nobody Tells You About Documentation](https://documentation.divio.com) for help getting started. From 4fb25cdc668eabbfd62200114921b5de85c69580 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Sun, 20 Sep 2020 12:31:13 -0700 Subject: [PATCH 17/17] Move the CONTRIBUTING.md file to root folder and update link --- .github/CONTRIBUTING.md => CONTRIBUTING.md | 0 README.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename .github/CONTRIBUTING.md => CONTRIBUTING.md (100%) diff --git a/.github/CONTRIBUTING.md b/CONTRIBUTING.md similarity index 100% rename from .github/CONTRIBUTING.md rename to CONTRIBUTING.md diff --git a/README.md b/README.md index ce4759d..07bfba4 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,6 @@ You can contribute to `http-methods` in several ways: 1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-http-methods/issues). We'll do our best to work with you to resolve or answer it. -2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./.github/CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions. +2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions. 3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed.