From fd029475a0b9ebeba2a930fd154ee8bb446c2333 Mon Sep 17 00:00:00 2001
From: "F. Levi" <55688616+flevi29@users.noreply.github.com>
Date: Mon, 27 Jan 2025 10:14:50 +0200
Subject: [PATCH 1/6] Improve playgrounds
---
playgrounds/javascript/.gitignore | 24 --
playgrounds/javascript/README.md | 17 -
playgrounds/javascript/index.html | 20 +-
playgrounds/javascript/package.json | 14 -
playgrounds/javascript/src/app.css | 51 ---
playgrounds/javascript/src/app.js | 60 ----
playgrounds/javascript/src/main.ts | 41 +++
playgrounds/javascript/src/meilisearch.ts | 49 +++
.../javascript/src/{index.css => style.css} | 6 -
playgrounds/javascript/src/vite-env.d.ts | 1 +
playgrounds/javascript/yarn.lock | 327 ------------------
11 files changed, 95 insertions(+), 515 deletions(-)
delete mode 100644 playgrounds/javascript/.gitignore
delete mode 100644 playgrounds/javascript/README.md
delete mode 100644 playgrounds/javascript/package.json
delete mode 100644 playgrounds/javascript/src/app.css
delete mode 100644 playgrounds/javascript/src/app.js
create mode 100644 playgrounds/javascript/src/main.ts
create mode 100644 playgrounds/javascript/src/meilisearch.ts
rename playgrounds/javascript/src/{index.css => style.css} (80%)
create mode 100644 playgrounds/javascript/src/vite-env.d.ts
delete mode 100644 playgrounds/javascript/yarn.lock
diff --git a/playgrounds/javascript/.gitignore b/playgrounds/javascript/.gitignore
deleted file mode 100644
index a547bf36d..000000000
--- a/playgrounds/javascript/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
diff --git a/playgrounds/javascript/README.md b/playgrounds/javascript/README.md
deleted file mode 100644
index 0feaec030..000000000
--- a/playgrounds/javascript/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Meilisearch JavaScript playground
-
-This is an example vanilla JavaScript project using [Vite](https://vite.dev) and the [Yarn](https://classic.yarnpkg.com/en/docs/install) package manager.
-
-## Development
-
-Install the dependencies:
-
-```bash
-yarn
-```
-
-Run the app in development:
-
-```bash
-yarn dev
-```
diff --git a/playgrounds/javascript/index.html b/playgrounds/javascript/index.html
index 268c0806e..edc95cb4a 100644
--- a/playgrounds/javascript/index.html
+++ b/playgrounds/javascript/index.html
@@ -1,24 +1,12 @@
-
-
-
+
+
Meilisearch + Vite
- Meilisearch + Vite
- Errors:
-
-
- Movies index:
-
- Search response:
-
-
-
+
+
diff --git a/playgrounds/javascript/package.json b/playgrounds/javascript/package.json
deleted file mode 100644
index f510020bb..000000000
--- a/playgrounds/javascript/package.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": "meilisearch-js-playground",
- "version": "0.2.0",
- "description": "Meilisearch playground written with Vite",
- "type": "module",
- "scripts": {
- "dev": "vite",
- "build": "vite build",
- "preview": "vite preview"
- },
- "devDependencies": {
- "vite": "^6.0.9"
- }
-}
diff --git a/playgrounds/javascript/src/app.css b/playgrounds/javascript/src/app.css
deleted file mode 100644
index 544a84abc..000000000
--- a/playgrounds/javascript/src/app.css
+++ /dev/null
@@ -1,51 +0,0 @@
-body {
- font-family: sans-serif;
- padding: 1em;
-}
-
-.ais-ClearRefinements {
- margin: 1em 0;
-}
-
-.ais-SearchBox {
- margin: 1em 0;
-}
-
-.ais-Pagination {
- margin-top: 1em;
-}
-
-.left-panel {
- float: left;
- width: 200px;
-}
-
-.right-panel {
- margin-left: 210px;
-}
-
-.ais-InstantSearch {
- max-width: 960px;
- overflow: hidden;
- margin: 0 auto;
-}
-
-.ais-Hits-item {
- margin-bottom: 1em;
- width: calc(50% - 1rem);
-}
-
-.ais-Hits-item img {
- margin-right: 1em;
- width: 100%;
- height: 100%;
- margin-bottom: 0.5em;
-}
-
-.hit-name {
- margin-bottom: 0.5em;
-}
-
-.hit-info {
- font-size: 90%;
-}
diff --git a/playgrounds/javascript/src/app.js b/playgrounds/javascript/src/app.js
deleted file mode 100644
index d0fc2a205..000000000
--- a/playgrounds/javascript/src/app.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Meilisearch } from "../../../src";
-
-const config = {
- host: "http://127.0.0.1:7700",
- apiKey: "masterKey",
-};
-
-const client = new Meilisearch(config);
-const indexUid = "movies";
-
-const addDataset = async () => {
- await client.deleteIndex(indexUid);
- const { taskUid } = await client.createIndex(indexUid);
- await client.index(indexUid).waitForTask(taskUid);
-
- const documents = await client.index(indexUid).getDocuments();
-
- const dataset = [
- { id: 1, title: "Carol", genres: ["Romance", "Drama"] },
- { id: 2, title: "Wonder Woman", genres: ["Action", "Adventure"] },
- { id: 3, title: "Life of Pi", genres: ["Adventure", "Drama"] },
- {
- id: 4,
- title: "Mad Max: Fury Road",
- genres: ["Adventure", "Science Fiction"],
- },
- { id: 5, title: "Moana", genres: ["Fantasy", "Action"] },
- { id: 6, title: "Philadelphia", genres: ["Drama"] },
- ];
- if (documents.results.length === 0) {
- const { taskUid } = await client.index(indexUid).addDocuments(dataset);
- await client.index(indexUid).waitForTask(taskUid);
- }
-};
-
-(async () => {
- try {
- await addDataset();
- const indexes = await client.getRawIndexes();
- document.querySelector(".indexes").innerText = JSON.stringify(
- indexes,
- null,
- 1,
- );
- const resp = await client.index(indexUid).search("", {
- attributesToHighlight: ["title"],
- });
- console.log({ resp });
- console.log({ hit: resp.hits[0] });
- document.querySelector(".hits").innerText = JSON.stringify(
- resp.hits.map((hit) => hit.title),
- null,
- 1,
- );
- document.querySelector(".errors_title").style.display = "none";
- } catch (e) {
- console.error(e);
- document.querySelector(".errors").innerText = JSON.stringify(e, null, 1);
- }
-})();
diff --git a/playgrounds/javascript/src/main.ts b/playgrounds/javascript/src/main.ts
new file mode 100644
index 000000000..4c24c0577
--- /dev/null
+++ b/playgrounds/javascript/src/main.ts
@@ -0,0 +1,41 @@
+import "./style.css";
+import { addDocuments, getAllHits, getSearchResponse } from "./meilisearch.js";
+
+document.querySelector("#app")!.innerHTML = `
+
+
Meilisearch + Vite
+
+
Documents:
+
-
+
+
Search response:
+
-
+
+
Errors:
+
None
+
+`;
+
+function getErrorMessage(error: unknown): string {
+ if (!(error instanceof Error)) {
+ return JSON.stringify(error);
+ }
+
+ const message = String(error);
+
+ if (error.cause === undefined) {
+ return message;
+ }
+
+ return `${message}\nCaused by ${getErrorMessage(error.cause)}`;
+}
+
+try {
+ await addDocuments();
+ await getAllHits(document.querySelector("#hits")!);
+ await getSearchResponse(document.querySelector("#response")!);
+} catch (error) {
+ console.error(error);
+ document.querySelector("#errors")!.innerText =
+ getErrorMessage(error);
+}
diff --git a/playgrounds/javascript/src/meilisearch.ts b/playgrounds/javascript/src/meilisearch.ts
new file mode 100644
index 000000000..2dba394bb
--- /dev/null
+++ b/playgrounds/javascript/src/meilisearch.ts
@@ -0,0 +1,49 @@
+import { Index, Meilisearch } from "../../../src/index.js";
+
+const client = new Meilisearch({
+ host: "http://127.0.0.1:7700",
+ apiKey: "masterKey",
+});
+const indexUid = "movies";
+const index = client.index<{ id: number; title: string; genres: string[] }>(
+ indexUid,
+);
+
+export async function addDocuments(): Promise {
+ await client.deleteIndexIfExists(indexUid);
+
+ const task1 = await client.createIndex(indexUid);
+ await client.waitForTask(task1.taskUid);
+
+ const task2 = await index.addDocuments([
+ { id: 1, title: "Carol", genres: ["Romance", "Drama"] },
+ { id: 2, title: "Wonder Woman", genres: ["Action", "Adventure"] },
+ { id: 3, title: "Life of Pi", genres: ["Adventure", "Drama"] },
+ {
+ id: 4,
+ title: "Mad Max: Fury Road",
+ genres: ["Adventure", "Science Fiction"],
+ },
+ { id: 5, title: "Moana", genres: ["Fantasy", "Action"] },
+ { id: 6, title: "Philadelphia", genres: ["Drama"] },
+ ]);
+
+ await client.index(indexUid).waitForTask(task2.taskUid);
+}
+
+export async function getAllHits(element: HTMLDivElement): Promise {
+ const documents = await index.getDocuments();
+
+ element.innerText = JSON.stringify(documents, null, 4);
+}
+
+export async function getSearchResponse(element: HTMLDivElement) {
+ const params: Parameters = [
+ "philoudelphia",
+ { attributesToHighlight: ["title"] },
+ ];
+
+ const response = await client.index(indexUid).search(...params);
+
+ element.innerText = `PARAMETERS: ${JSON.stringify(params, null, 4)}\nRESPONSE: ${JSON.stringify(response, null, 4)}`;
+}
diff --git a/playgrounds/javascript/src/index.css b/playgrounds/javascript/src/style.css
similarity index 80%
rename from playgrounds/javascript/src/index.css
rename to playgrounds/javascript/src/style.css
index 30475b7b8..ddf6145e9 100644
--- a/playgrounds/javascript/src/index.css
+++ b/playgrounds/javascript/src/style.css
@@ -1,9 +1,3 @@
-body,
-h1 {
- margin: 0;
- padding: 0;
-}
-
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
diff --git a/playgrounds/javascript/src/vite-env.d.ts b/playgrounds/javascript/src/vite-env.d.ts
new file mode 100644
index 000000000..11f02fe2a
--- /dev/null
+++ b/playgrounds/javascript/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/playgrounds/javascript/yarn.lock b/playgrounds/javascript/yarn.lock
deleted file mode 100644
index b12d3744b..000000000
--- a/playgrounds/javascript/yarn.lock
+++ /dev/null
@@ -1,327 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@esbuild/aix-ppc64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz#38848d3e25afe842a7943643cbcd387cc6e13461"
- integrity sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==
-
-"@esbuild/android-arm64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz#f592957ae8b5643129fa889c79e69cd8669bb894"
- integrity sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==
-
-"@esbuild/android-arm@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz#72d8a2063aa630308af486a7e5cbcd1e134335b3"
- integrity sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==
-
-"@esbuild/android-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz#9a7713504d5f04792f33be9c197a882b2d88febb"
- integrity sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==
-
-"@esbuild/darwin-arm64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz#02ae04ad8ebffd6e2ea096181b3366816b2b5936"
- integrity sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==
-
-"@esbuild/darwin-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz#9ec312bc29c60e1b6cecadc82bd504d8adaa19e9"
- integrity sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==
-
-"@esbuild/freebsd-arm64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz#5e82f44cb4906d6aebf24497d6a068cfc152fa00"
- integrity sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==
-
-"@esbuild/freebsd-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz#3fb1ce92f276168b75074b4e51aa0d8141ecce7f"
- integrity sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==
-
-"@esbuild/linux-arm64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz#856b632d79eb80aec0864381efd29de8fd0b1f43"
- integrity sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==
-
-"@esbuild/linux-arm@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz#c846b4694dc5a75d1444f52257ccc5659021b736"
- integrity sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==
-
-"@esbuild/linux-ia32@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz#f8a16615a78826ccbb6566fab9a9606cfd4a37d5"
- integrity sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==
-
-"@esbuild/linux-loong64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz#1c451538c765bf14913512c76ed8a351e18b09fc"
- integrity sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==
-
-"@esbuild/linux-mips64el@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz#0846edeefbc3d8d50645c51869cc64401d9239cb"
- integrity sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==
-
-"@esbuild/linux-ppc64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz#8e3fc54505671d193337a36dfd4c1a23b8a41412"
- integrity sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==
-
-"@esbuild/linux-riscv64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz#6a1e92096d5e68f7bb10a0d64bb5b6d1daf9a694"
- integrity sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==
-
-"@esbuild/linux-s390x@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz#ab18e56e66f7a3c49cb97d337cd0a6fea28a8577"
- integrity sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==
-
-"@esbuild/linux-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#8140c9b40da634d380b0b29c837a0b4267aff38f"
- integrity sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==
-
-"@esbuild/netbsd-arm64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz#65f19161432bafb3981f5f20a7ff45abb2e708e6"
- integrity sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==
-
-"@esbuild/netbsd-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz#7a3a97d77abfd11765a72f1c6f9b18f5396bcc40"
- integrity sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==
-
-"@esbuild/openbsd-arm64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz#58b00238dd8f123bfff68d3acc53a6ee369af89f"
- integrity sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==
-
-"@esbuild/openbsd-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz#0ac843fda0feb85a93e288842936c21a00a8a205"
- integrity sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==
-
-"@esbuild/sunos-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz#8b7aa895e07828d36c422a4404cc2ecf27fb15c6"
- integrity sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==
-
-"@esbuild/win32-arm64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz#c023afb647cabf0c3ed13f0eddfc4f1d61c66a85"
- integrity sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==
-
-"@esbuild/win32-ia32@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz#96c356132d2dda990098c8b8b951209c3cd743c2"
- integrity sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==
-
-"@esbuild/win32-x64@0.24.2":
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz#34aa0b52d0fbb1a654b596acfa595f0c7b77a77b"
- integrity sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==
-
-"@rollup/rollup-android-arm-eabi@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.2.tgz#d4c3965f18ebf567a99154f93bcf283fd527e2a9"
- integrity sha512-s/8RiF4bdmGnc/J0N7lHAr5ZFJj+NdJqJ/Hj29K+c4lEdoVlukzvWXB9XpWZCdakVT0YAw8iyIqUP2iFRz5/jA==
-
-"@rollup/rollup-android-arm64@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.2.tgz#cbc7e636a7aab984161fc045039bf3c6abb50083"
- integrity sha512-mKRlVj1KsKWyEOwR6nwpmzakq6SgZXW4NUHNWlYSiyncJpuXk7wdLzuKdWsRoR1WLbWsZBKvsUCdCTIAqRn9cA==
-
-"@rollup/rollup-darwin-arm64@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.2.tgz#d084c6120f96749a7ddc5ef81d8740f2525abb6e"
- integrity sha512-vJX+vennGwygmutk7N333lvQ/yKVAHnGoBS2xMRQgXWW8tvn46YWuTDOpKroSPR9BEW0Gqdga2DHqz8Pwk6X5w==
-
-"@rollup/rollup-darwin-x64@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.2.tgz#1393f12d5722cc39b8c014aedd4b4da8043929a9"
- integrity sha512-e2rW9ng5O6+Mt3ht8fH0ljfjgSCC6ffmOipiLUgAnlK86CHIaiCdHCzHzmTkMj6vEkqAiRJ7ss6Ibn56B+RE5w==
-
-"@rollup/rollup-freebsd-arm64@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.2.tgz#1c11650970c4b52d7fb077f5a4a6e16ba5e6db4f"
- integrity sha512-/xdNwZe+KesG6XJCK043EjEDZTacCtL4yurMZRLESIgHQdvtNyul3iz2Ab03ZJG0pQKbFTu681i+4ETMF9uE/Q==
-
-"@rollup/rollup-freebsd-x64@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.2.tgz#d3d79a2b96e81475571cb9bb414910450bcebe04"
- integrity sha512-eXKvpThGzREuAbc6qxnArHh8l8W4AyTcL8IfEnmx+bcnmaSGgjyAHbzZvHZI2csJ+e0MYddl7DX0X7g3sAuXDQ==
-
-"@rollup/rollup-linux-arm-gnueabihf@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.2.tgz#14a39257111abbc38412805c9162819d3bb248c1"
- integrity sha512-h4VgxxmzmtXLLYNDaUcQevCmPYX6zSj4SwKuzY7SR5YlnCBYsmvfYORXgiU8axhkFCDtQF3RW5LIXT8B14Qykg==
-
-"@rollup/rollup-linux-arm-musleabihf@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.2.tgz#64304812643515c0ed83cdaf4fde034c35dbc776"
- integrity sha512-EObwZ45eMmWZQ1w4N7qy4+G1lKHm6mcOwDa+P2+61qxWu1PtQJ/lz2CNJ7W3CkfgN0FQ7cBUy2tk6D5yR4KeXw==
-
-"@rollup/rollup-linux-arm64-gnu@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.2.tgz#60d457954c288c168049aadb304c204d8a680236"
- integrity sha512-Z7zXVHEXg1elbbYiP/29pPwlJtLeXzjrj4241/kCcECds8Zg9fDfURWbZHRIKrEriAPS8wnVtdl4ZJBvZr325w==
-
-"@rollup/rollup-linux-arm64-musl@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.2.tgz#17deb5058243bc5599164a9e0a899b0902310fca"
- integrity sha512-TF4kxkPq+SudS/r4zGPf0G08Bl7+NZcFrUSR3484WwsHgGgJyPQRLCNrQ/R5J6VzxfEeQR9XRpc8m2t7lD6SEQ==
-
-"@rollup/rollup-linux-loongarch64-gnu@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.2.tgz#5c65dd6557fda1f45c285cfeb4c5eda4c868341d"
- integrity sha512-kO9Fv5zZuyj2zB2af4KA29QF6t7YSxKrY7sxZXfw8koDQj9bx5Tk5RjH+kWKFKok0wLGTi4bG117h31N+TIBEg==
-
-"@rollup/rollup-linux-powerpc64le-gnu@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.2.tgz#33e45cac222fa6d09891f73bfb2d5d027ec34989"
- integrity sha512-gIh776X7UCBaetVJGdjXPFurGsdWwHHinwRnC5JlLADU8Yk0EdS/Y+dMO264OjJFo7MXQ5PX4xVFbxrwK8zLqA==
-
-"@rollup/rollup-linux-riscv64-gnu@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.2.tgz#1edee7a06538597720c4bf8178367d4b5651717d"
- integrity sha512-YgikssQ5UNq1GoFKZydMEkhKbjlUq7G3h8j6yWXLBF24KyoA5BcMtaOUAXq5sydPmOPEqB6kCyJpyifSpCfQ0w==
-
-"@rollup/rollup-linux-s390x-gnu@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.2.tgz#0ad4aaae2fd89c3607b743c63514c4561905672b"
- integrity sha512-9ouIR2vFWCyL0Z50dfnon5nOrpDdkTG9lNDs7MRaienQKlTyHcDxplmk3IbhFlutpifBSBr2H4rVILwmMLcaMA==
-
-"@rollup/rollup-linux-x64-gnu@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.2.tgz#ae27f8d26c02d8ce6f84275860e99678b9f3e932"
- integrity sha512-ckBBNRN/F+NoSUDENDIJ2U9UWmIODgwDB/vEXCPOMcsco1niTkxTXa6D2Y/pvCnpzaidvY2qVxGzLilNs9BSzw==
-
-"@rollup/rollup-linux-x64-musl@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.2.tgz#24ff1a64dddd75c489bd8714bcb5a659769d3e4a"
- integrity sha512-jycl1wL4AgM2aBFJFlpll/kGvAjhK8GSbEmFT5v3KC3rP/b5xZ1KQmv0vQQ8Bzb2ieFQ0kZFPRMbre/l3Bu9JA==
-
-"@rollup/rollup-win32-arm64-msvc@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.2.tgz#7c56efd576618db251909e21818d473cbcf96786"
- integrity sha512-S2V0LlcOiYkNGlRAWZwwUdNgdZBfvsDHW0wYosYFV3c7aKgEVcbonetZXsHv7jRTTX+oY5nDYT4W6B1oUpMNOg==
-
-"@rollup/rollup-win32-ia32-msvc@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.2.tgz#0b77e11129b04bb5b9bfff4b011d084a975190e0"
- integrity sha512-pW8kioj9H5f/UujdoX2atFlXNQ9aCfAxFRaa+mhczwcsusm6gGrSo4z0SLvqLF5LwFqFTjiLCCzGkNK/LE0utQ==
-
-"@rollup/rollup-win32-x64-msvc@4.29.2":
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.2.tgz#dc89d92418ae2efa1d70e071c686cffbcf788147"
- integrity sha512-p6fTArexECPf6KnOHvJXRpAEq0ON1CBtzG/EY4zw08kCHk/kivBc5vUEtnCFNCHOpJZ2ne77fxwRLIKD4wuW2Q==
-
-"@types/estree@1.0.6":
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
- integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
-
-esbuild@^0.24.2:
- version "0.24.2"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d"
- integrity sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==
- optionalDependencies:
- "@esbuild/aix-ppc64" "0.24.2"
- "@esbuild/android-arm" "0.24.2"
- "@esbuild/android-arm64" "0.24.2"
- "@esbuild/android-x64" "0.24.2"
- "@esbuild/darwin-arm64" "0.24.2"
- "@esbuild/darwin-x64" "0.24.2"
- "@esbuild/freebsd-arm64" "0.24.2"
- "@esbuild/freebsd-x64" "0.24.2"
- "@esbuild/linux-arm" "0.24.2"
- "@esbuild/linux-arm64" "0.24.2"
- "@esbuild/linux-ia32" "0.24.2"
- "@esbuild/linux-loong64" "0.24.2"
- "@esbuild/linux-mips64el" "0.24.2"
- "@esbuild/linux-ppc64" "0.24.2"
- "@esbuild/linux-riscv64" "0.24.2"
- "@esbuild/linux-s390x" "0.24.2"
- "@esbuild/linux-x64" "0.24.2"
- "@esbuild/netbsd-arm64" "0.24.2"
- "@esbuild/netbsd-x64" "0.24.2"
- "@esbuild/openbsd-arm64" "0.24.2"
- "@esbuild/openbsd-x64" "0.24.2"
- "@esbuild/sunos-x64" "0.24.2"
- "@esbuild/win32-arm64" "0.24.2"
- "@esbuild/win32-ia32" "0.24.2"
- "@esbuild/win32-x64" "0.24.2"
-
-fsevents@~2.3.2, fsevents@~2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
-nanoid@^3.3.7:
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
- integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
-
-picocolors@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
- integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
-
-postcss@^8.4.49:
- version "8.4.49"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19"
- integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==
- dependencies:
- nanoid "^3.3.7"
- picocolors "^1.1.1"
- source-map-js "^1.2.1"
-
-rollup@^4.23.0:
- version "4.29.2"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.29.2.tgz#ff1555fd27fc20599a9b8f90527f0f43a1738e7f"
- integrity sha512-tJXpsEkzsEzyAKIaB3qv3IuvTVcTN7qBw1jL4SPPXM3vzDrJgiLGFY6+HodgFaUHAJ2RYJ94zV5MKRJCoQzQeA==
- dependencies:
- "@types/estree" "1.0.6"
- optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.29.2"
- "@rollup/rollup-android-arm64" "4.29.2"
- "@rollup/rollup-darwin-arm64" "4.29.2"
- "@rollup/rollup-darwin-x64" "4.29.2"
- "@rollup/rollup-freebsd-arm64" "4.29.2"
- "@rollup/rollup-freebsd-x64" "4.29.2"
- "@rollup/rollup-linux-arm-gnueabihf" "4.29.2"
- "@rollup/rollup-linux-arm-musleabihf" "4.29.2"
- "@rollup/rollup-linux-arm64-gnu" "4.29.2"
- "@rollup/rollup-linux-arm64-musl" "4.29.2"
- "@rollup/rollup-linux-loongarch64-gnu" "4.29.2"
- "@rollup/rollup-linux-powerpc64le-gnu" "4.29.2"
- "@rollup/rollup-linux-riscv64-gnu" "4.29.2"
- "@rollup/rollup-linux-s390x-gnu" "4.29.2"
- "@rollup/rollup-linux-x64-gnu" "4.29.2"
- "@rollup/rollup-linux-x64-musl" "4.29.2"
- "@rollup/rollup-win32-arm64-msvc" "4.29.2"
- "@rollup/rollup-win32-ia32-msvc" "4.29.2"
- "@rollup/rollup-win32-x64-msvc" "4.29.2"
- fsevents "~2.3.2"
-
-source-map-js@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
- integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
-
-vite@^6.0.9:
- version "6.0.9"
- resolved "https://registry.yarnpkg.com/vite/-/vite-6.0.9.tgz#0a830b767ef7aa762360b56bdef955c1395dc1ee"
- integrity sha512-MSgUxHcaXLtnBPktkbUSoQUANApKYuxZ6DrbVENlIorbhL2dZydTLaZ01tjUoE3szeFzlFk9ANOKk0xurh4MKA==
- dependencies:
- esbuild "^0.24.2"
- postcss "^8.4.49"
- rollup "^4.23.0"
- optionalDependencies:
- fsevents "~2.3.3"
From 92d9193c778a4ab6bd804d6503a759ca87ecbd9c Mon Sep 17 00:00:00 2001
From: "F. Levi" <55688616+flevi29@users.noreply.github.com>
Date: Mon, 27 Jan 2025 21:35:29 +0200
Subject: [PATCH 2/6] Forgot to add script
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 2d0388437..abfbeafef 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,7 @@
"url": "https://github.com/meilisearch/meilisearch-js"
},
"scripts": {
- "playground:javascript": "yarn --cwd ./playgrounds/javascript && yarn --cwd ./playgrounds/javascript dev",
+ "playground:javascript": "vite serve playgrounds/javascript --open",
"build:docs": "typedoc",
"build": "vite build && tsc -p tsconfig.build.json && vite --mode production-umd build",
"postbuild": "node scripts/build.js",
From c172a3064b47b24193fd4ff141261f1ef623d911 Mon Sep 17 00:00:00 2001
From: "F. Levi" <55688616+flevi29@users.noreply.github.com>
Date: Mon, 27 Jan 2025 21:43:52 +0200
Subject: [PATCH 3/6] Mention in README.md
---
README.md | 2 ++
playgrounds/javascript/src/meilisearch.ts | 4 +++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 2a37f1642..e61440496 100644
--- a/README.md
+++ b/README.md
@@ -132,6 +132,8 @@ const client = new MeiliSearch({
## 🚀 Getting started
+Take a look at the [playground](./playgrounds/javascript/src/meilisearch.ts) for a concrete example.
+
### Add documents
```js
diff --git a/playgrounds/javascript/src/meilisearch.ts b/playgrounds/javascript/src/meilisearch.ts
index 2dba394bb..0e315f976 100644
--- a/playgrounds/javascript/src/meilisearch.ts
+++ b/playgrounds/javascript/src/meilisearch.ts
@@ -45,5 +45,7 @@ export async function getSearchResponse(element: HTMLDivElement) {
const response = await client.index(indexUid).search(...params);
- element.innerText = `PARAMETERS: ${JSON.stringify(params, null, 4)}\nRESPONSE: ${JSON.stringify(response, null, 4)}`;
+ element.innerText =
+ `PARAMETERS: ${JSON.stringify(params, null, 4)}` +
+ `\nRESPONSE: ${JSON.stringify(response, null, 4)}`;
}
From 6de9a07db3bbb40ca6eb3a47cb34ec9496db08ab Mon Sep 17 00:00:00 2001
From: "F. Levi" <55688616+flevi29@users.noreply.github.com>
Date: Wed, 29 Jan 2025 10:46:25 +0200
Subject: [PATCH 4/6] Add README and package.json to playground
---
.gitignore | 1 +
playgrounds/javascript/README.md | 18 ++++++++++++++++++
playgrounds/javascript/package.json | 15 +++++++++++++++
3 files changed, 34 insertions(+)
create mode 100644 playgrounds/javascript/README.md
create mode 100644 playgrounds/javascript/package.json
diff --git a/.gitignore b/.gitignore
index 2814bdb2b..868fe3fb0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -132,3 +132,4 @@ package
.idea
dist_default_export_in_index
no_default_export_in_index
+playgrounds/javascript/yarn.lock
diff --git a/playgrounds/javascript/README.md b/playgrounds/javascript/README.md
new file mode 100644
index 000000000..915f2d931
--- /dev/null
+++ b/playgrounds/javascript/README.md
@@ -0,0 +1,18 @@
+# Meilisearch JavaScript playground
+
+This is an example vanilla JavaScript project using [Vite](https://vite.dev) and
+the [Yarn](https://classic.yarnpkg.com/en/docs/install) package manager.
+
+## Development
+
+Install the dependencies:
+
+```bash
+yarn
+```
+
+Run the app in development:
+
+```bash
+yarn dev
+```
diff --git a/playgrounds/javascript/package.json b/playgrounds/javascript/package.json
new file mode 100644
index 000000000..278c252c0
--- /dev/null
+++ b/playgrounds/javascript/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "vite-starter",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "vite": "^6.0.11"
+ }
+ }
+
\ No newline at end of file
From 4cef7a4634a71d9db34649d9df63d6bbda4316f2 Mon Sep 17 00:00:00 2001
From: "F. Levi" <55688616+flevi29@users.noreply.github.com>
Date: Wed, 29 Jan 2025 10:48:34 +0200
Subject: [PATCH 5/6] Format package.json
---
playgrounds/javascript/package.json | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/playgrounds/javascript/package.json b/playgrounds/javascript/package.json
index 278c252c0..fcb6aede2 100644
--- a/playgrounds/javascript/package.json
+++ b/playgrounds/javascript/package.json
@@ -1,15 +1,14 @@
{
- "name": "vite-starter",
- "private": true,
- "version": "0.0.0",
- "type": "module",
- "scripts": {
- "dev": "vite",
- "build": "vite build",
- "preview": "vite preview"
- },
- "devDependencies": {
- "vite": "^6.0.11"
- }
+ "name": "vite-starter",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "vite": "^6.0.11"
}
-
\ No newline at end of file
+}
From 4b36fec545f5ad1eaa82cfa58569cbb88d71e933 Mon Sep 17 00:00:00 2001
From: "F. Levi" <55688616+flevi29@users.noreply.github.com>
Date: Wed, 29 Jan 2025 10:49:28 +0200
Subject: [PATCH 6/6] Add proper package name
---
playgrounds/javascript/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/playgrounds/javascript/package.json b/playgrounds/javascript/package.json
index fcb6aede2..1060bd8ac 100644
--- a/playgrounds/javascript/package.json
+++ b/playgrounds/javascript/package.json
@@ -1,5 +1,5 @@
{
- "name": "vite-starter",
+ "name": "meilisearch-js-playground",
"private": true,
"version": "0.0.0",
"type": "module",