diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21dea364..6f076ea6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,33 +52,41 @@ yarn lint:fix yarn build ``` +If you want to test a specific package, from the root directory run any of the above command with the `filter` flag. + +Example: +``` +turbo run test --filter=@meilisearch/instant-meilisearch +``` + ### Playgrounds -To test directly your changes in `instant-meilisearch`, you can run the Vue playground: +#### @meilisearch/instant-meilisearch playgrounds +To test directly your changes in `instant-meilisearch`, you can run the following playgrounds: + +`Vue 3` ```bash yarn playground:vue ``` -Or the React playground: +`React`: ```bash yarn playground:react ``` -Or the JavaScript playground: +`Vanilla JS`: ``` yarn playground:javascript ``` -Or the HTML playground: +`HTML`: ``` yarn playground:html ``` -### Geo-Search Playground - -A playground is available to try out the [GeoSearch](./README.md/-geo-search) in `instant-meilisearch`. +An additional playground is provided to test out the [GeoSearch](./packages/instant-meilisearch#-geo-search). ```bash yarn playground:geo-javascript @@ -105,10 +113,13 @@ We don't follow any other convention, but if you want to use one, we recommend [ ### Changesets -We use [changesets](https://github.com/Noviny/changesets) to do versioning. What that means is that you need to [add a changeset](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md) by running `yarn changeset`. The changeset you create contains what packages should be bumped, their associated semver type and the changelogs. +We use [changesets](https://github.com/Noviny/changesets) to do versioning. What that means is that you need to [add a changeset](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md) by running `yarn changeset`. The changeset you create contains which packages should be bumped, their associated semver type and the changelogs. + + +> avant chaque release, les fichiers sont supprimés (voir process qui suit) -These changesets are added in the `.changesets` directory at the root of the repository, and should be added in your PR. -Once there is a [release](#release-on-github-and-npm), these files are automatically removed. +These changesets are added to the `.changesets` directory at the root of the repository, and should be added to your PR. +Before a release, these files are removed (see [process](#release-on-github-and-npm)). Some changes do [not require a changeset](https://github.com/changesets/changesets/blob/main/docs/intro-to-using-changesets.md#not-every-change-requires-a-changeset). For example changes that does not impact the packages, e.g. : Updating the README.md or changes in tests files. @@ -131,17 +142,17 @@ Meilisearch tools follow the [Semantic Versioning Convention](https://semver.org This project integrates a bot that helps us manage pull requests merging.
_[Read more about this](https://github.com/meilisearch/integration-guides/blob/main/resources/bors.md)._ -### Release on Github and npm +### Release on GitHub and npm -This repository uses the [changesets](https://github.com/Noviny/changesets) library to handle the version updates and the publishing on Github and `npm`. +This repository uses the [changesets](https://github.com/Noviny/changesets) library to handle the version updates and the publishing on GitHub and `npm`. -When PR's are merged on `main`, they trigger the [`release` CI](./.github/workflows/publish.yml). This CI creates a PR titled `Version Packages` containing all the version updates and changelogs of the impacted packages. The PR updates the versions and the changelogs based on the `changesets` that were previously pushed on main (see [changeset section](#changesets)). +When PRs are merged on `main`, they trigger the [`release` CI](./.github/workflows/publish.yml). This CI creates a PR titled `Version Packages` containing all the version updates and changelogs of the impacted packages. The PR updates the versions and the changelogs based on the `changesets` that were previously pushed on main (see [changeset section](#changesets)). -To release on Github and `npm` you must merge the `Version packages` PR. This will trigger the publishing action and create the Github and `npm` releases for all affected packages. +To release on GitHub and `npm` you must merge the `Version packages` PR. This will trigger the publishing action and create the GitHub and `npm` releases for all affected packages. See more in depth explaination on [versioning](https://github.com/changesets/changesets/blob/main/docs/command-line-options.md#version), [publishing](https://github.com/changesets/changesets/blob/main/docs/command-line-options.md#publish) and the [changesets github-action](https://github.com/changesets/action). -If you were previously on `pre-release mode`, do not forget to create a PR exiting the pre-release mode by doing `yarn changeset pre exit` and then merge it to main. +If you merged a beta branch, that was released, into main, you were probably in the `changesets` [pre-release](https://github.com/changesets/changesets/blob/main/docs/prereleases.md) mode (see section on [releasing a beta](#release-a-beta-version)). If the `pre.json` file is present in the `.changesets` folder, you need to exit that mode. This is possible by running `yarn changeset pre exit`. Once done, create a PR with the changes and merge it to main. #### Codesandbox update Once the version is available on npm, please update the instant-meilisearch version used in the different Code-Sandboxes we provide: @@ -172,11 +183,11 @@ Here are the steps to release a beta version of this package depending on its ty 2. Enable the pre-release mode by running `yarn changeset pre enter [X]`. `X` is the part after the `/` of your beta branch. Example for `beta/refactor`, X would be `refactor`. This will create a `pre.json` file in `.changesets` that must be pushed on your beta branch. -3. Commit and push your related PR's to the newly created branch (step 1). +3. Commit and push your related PRs to the newly created branch (step 1). 4. When a PR is merged onto your beta branch, the [release CI](./.github/workflows/publish.yml) opens a PR named `Version Packages (X)` (see step 2 for `X`). This PR contains all the changesets and the version update based on the type of changes in the changesets. -5. To publish the release on Github and `npm`, you need to merge the `Version Packages (X)` PR. This will trigger the publishing. +5. To publish the release on GitHub and `npm`, you need to merge the `Version Packages (X)` PR. This will trigger the publishing.
diff --git a/README.md b/README.md new file mode 100644 index 00000000..d6d2fec6 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +

+ Instant-Meilisearch +

+ +

Meilisearch Javascript plugins

+ +

+ Tests + License + + Bors enabled +

+ +**Meilisearch** is an open-source search engine. [Discover what Meilisearch is!](https://github.com/meilisearch/meilisearch) + +This repository contains clients and plugins to use Meilisearch in third party tools. + +## Table of Contents + +- [📖 Documentation](#-documentation) +- [🐱 Plugins](#-plugins) +- [⚙️ Development Workflow and Contributing](#️-development-workflow-and-contributing) + +## 📖 Documentation + +For general information on how to use Meilisearch—such as our API reference, tutorials, guides, and in-depth articles—refer to our [main documentation website](https://docs.meilisearch.com/). + +## 🐱 Plugins: + +### Plugins Found Here +| | | +| --------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| [`instant-meilisearch`](./packages/instant-meilisearch) | The search client needed to make Meilisearch work with [instantsearch.js](https://github.com/algolia/instantsearch). | +| | | + +### Plugins Found On their Own Repo + +| | | +| --------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| [`strapi-plugin-meilisearch`](https://github.com/meilisearch/strapi-plugin-meilisearch) | A plugin to add and synchronize your [Strapi](https://strapi.io/) data on Meilisearch. | +| [`Firestore-meilisearch`](https://github.com/meilisearch/firestore-meilisearch/) | A plugin to synchronize your [firestore](https://firebase.google.com/docs/firestore) data on Meilisearch. | +| [`gatsby-plugin-meilisearch`](https://github.com/meilisearch/gatsby-plugin-meilisearch/) | A plugin to index your [Gatsby](https://www.gatsbyjs.com/) content to Meilisearch based on graphQL queries. | +| [`docs-searchbar.js`](https://github.com/meilisearch/docs-searchbar.js) | A search bar integration for all kinds of documentation. | +| [`vuepress-plugin-meilisearch`](https://github.com/meilisearch/vuepress-plugin-meilisearch) | A plugin to use docs-searchbar.js as the searchbar of vuepress. | +| | | + +## ⚙️ Development Workflow and Contributing + +Any new contribution is more than welcome in this project! + +If you want to know more about the development workflow or want to contribute, please visit our [contributing guidelines](/CONTRIBUTING.md) for detailed instructions! + +
+ +**Meilisearch** provides and maintains many **SDKs and Integration tools** like this one. We want to provide everyone with an **amazing search experience for any kind of project**. If you want to contribute, make suggestions, or just know what's going on right now, visit us in the [integration-guides](https://github.com/meilisearch/integration-guides) repository. diff --git a/packages/instant-meilisearch/CONTRIBUTING.md b/packages/instant-meilisearch/CONTRIBUTING.md new file mode 100644 index 00000000..d589f607 --- /dev/null +++ b/packages/instant-meilisearch/CONTRIBUTING.md @@ -0,0 +1,5 @@ +# Contributing + +First of all, thank you for contributing to Meilisearch! + +For the full explaination on how to contribute, please refer to the [contributing guide](../../CONTRIBUTING.md) at the root of this repository. diff --git a/packages/instant-meilisearch/README.md b/packages/instant-meilisearch/README.md index 600d77c2..7d288db6 100644 --- a/packages/instant-meilisearch/README.md +++ b/packages/instant-meilisearch/README.md @@ -25,7 +25,7 @@ **Meilisearch** is an open-source search engine. [Discover what Meilisearch is!](https://github.com/meilisearch/meilisearch) -This library is a client that establishes communication between your [Meilisearch](https://github.com/meilisearch/meilisearch) instance and [InstantSearch](https://github.com/algolia/instantsearch.js). InstantSearch, an open-source project developed by Algolia, is the tool that renders all the components needed to start searching in your front-end application. +This library is the search client that you should use to make [Meilisearch](https://github.com/meilisearch/meilisearch) work with [InstantSearch](https://github.com/algolia/instantsearch.js). InstantSearch, an open-source project developed by Algolia, is the tool that renders all the components needed to start searching in your front-end application. Instead of reinventing the wheel, we have opted to reuse the InstantSearch library for our own front-end tooling. We will contribute upstream any improvements that may result from our adoption of InstantSearch. @@ -39,6 +39,7 @@ NB: If you don't have any Meilisearch instance running and containing your data, ## Table of Contents +- [📖 Documentation](#-documentation) - [🔧 Installation](#-installation) - [🎬 Usage](#-usage) - [💅 Customization](#-customization) @@ -47,6 +48,10 @@ NB: If you don't have any Meilisearch instance running and containing your data, - [📜 API Resources](#-api-resources) - [⚙️ Development Workflow and Contributing](#️-development-workflow-and-contributing) +## 📖 Documentation + +For general information on how to use Meilisearch—such as our API reference, tutorials, guides, and in-depth articles—refer to our [main documentation website](https://docs.meilisearch.com/). + ## 🔧 Installation Use `npm` or `yarn` to install `instant-meilisearch`: