{"_id":"@croco/search-meilisearch","_rev":"2-42cc25e929c1cd5c96aba5cf79acee88","name":"@croco/search-meilisearch","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@croco/search-meilisearch","version":"0.0.1","_id":"@croco/search-meilisearch@0.0.1","maintainers":[{"name":"kang-heewon","email":"heewon.dev@gmail.com"},{"name":"ddark","email":"ddark.kr@gmail.com"}],"dist":{"shasum":"7d065d07169593bc631239371655399532d598e3","tarball":"https://registry.npmjs.org/@croco/search-meilisearch/-/search-meilisearch-0.0.1.tgz","fileCount":6,"integrity":"sha512-OCpjdMs7aFyWgLkBJR0JCha7lvLbcf0+SXNKQbQvMWJY0StE3jeIQYiFZDTX3jM8tcdv+OzYMPds5E80PueNvw==","signatures":[{"sig":"MEUCIDG+/1wE8Bc3nB8fgQvFZzURnq95QV5dlvPBhpJVKvEpAiEAgNE2THZ8nxNafQhilhpKzqI7t3H36GNkjx4oxzPEfi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12935},"main":"./dist/index.js","type":"module","_from":"file:croco-search-meilisearch-0.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"oxlint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --minify --clean --dts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kang-heewon","email":"heewon.dev@gmail.com"},"_resolved":"/tmp/30d4a6bb67d81206c31e6e34e0e213d2/croco-search-meilisearch-0.0.1.tgz","_integrity":"sha512-OCpjdMs7aFyWgLkBJR0JCha7lvLbcf0+SXNKQbQvMWJY0StE3jeIQYiFZDTX3jM8tcdv+OzYMPds5E80PueNvw==","_npmVersion":"10.9.7","description":"Meilisearch를 `@croco/search-core` 검색 엔진 인터페이스에 연결하는 패키지입니다.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"meilisearch":"^0.44.0","reflect-metadata":"^0.2.2","@croco/search-core":"0.0.1","@croco/problems-core":"0.0.1","@croco/framework-context":"0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"4.0.16","typescript":"5.9.3","@types/node":"^22"},"_npmOperationalInternal":{"tmp":"tmp/search-meilisearch_0.0.1_1778834291312_0.005161148002635452","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@croco/search-meilisearch","version":"0.0.2","type":"module","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"}},"publishConfig":{"access":"public"},"dependencies":{"meilisearch":"^0.44.0","reflect-metadata":"^0.2.2","@croco/framework-context":"0.0.2","@croco/search-core":"0.0.2","@croco/problems-core":"0.0.2"},"devDependencies":{"@types/node":"^22","tsup":"8.5.1","typescript":"5.9.3","vitest":"4.0.16"},"scripts":{"build":"tsup src/index.ts --format esm,cjs --minify --clean --dts","lint":"oxlint .","typecheck":"tsc --noEmit","test":"vitest run"},"main":"./dist/index.js","types":"./dist/index.d.ts","_id":"@croco/search-meilisearch@0.0.2","description":"Meilisearch를 `@croco/search-core` 검색 엔진 인터페이스에 연결하는 패키지입니다.","_integrity":"sha512-AqKZb9w/0QZS7OCBMa3X0DjFdb8idT+LmFI3DHwpOsnJ0eQ9xRvqBATPMooANOusJDrTT9CnOEKRLpZS3agDuA==","_resolved":"/private/var/folders/zp/px4pj6gs20q8c38hgmbym1080000gn/T/b6d14686bf4b53b439f59273d3562cd3/croco-search-meilisearch-0.0.2.tgz","_from":"file:croco-search-meilisearch-0.0.2.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-AqKZb9w/0QZS7OCBMa3X0DjFdb8idT+LmFI3DHwpOsnJ0eQ9xRvqBATPMooANOusJDrTT9CnOEKRLpZS3agDuA==","shasum":"e869a3626c308186c6309f42114c8efbed291aa1","tarball":"https://registry.npmjs.org/@croco/search-meilisearch/-/search-meilisearch-0.0.2.tgz","fileCount":6,"unpackedSize":12935,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGfIw/TmL0qKPZzGYdfd2PbBWpjFqnqZ9yBL5vPUhQi4AiA3gYZZ6q4cMq07OhUl2YT2dnRVKKrfF4p2QxiE2pLkdA=="}]},"_npmUser":{"name":"kang-heewon","email":"heewon.dev@gmail.com"},"directories":{},"maintainers":[{"name":"kang-heewon","email":"heewon.dev@gmail.com"},{"name":"ddark","email":"ddark.kr@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/search-meilisearch_0.0.2_1780294710833_0.3318099527776208"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-15T08:38:11.211Z","modified":"2026-06-01T06:18:31.132Z","0.0.1":"2026-05-15T08:38:11.468Z","0.0.2":"2026-06-01T06:18:31.010Z"},"description":"Meilisearch를 `@croco/search-core` 검색 엔진 인터페이스에 연결하는 패키지입니다.","maintainers":[{"name":"kang-heewon","email":"heewon.dev@gmail.com"},{"name":"ddark","email":"ddark.kr@gmail.com"}],"readme":"# @croco/search-meilisearch\n\nMeilisearch를 `@croco/search-core` 검색 엔진 인터페이스에 연결하는 패키지입니다.\n\n## 설치\n\n```bash\npnpm add @croco/search-meilisearch meilisearch\n```\n\n## 사용법\n\n```typescript\nimport { MeilisearchEngine } from \"@croco/search-meilisearch\";\n\nconst engine = new MeilisearchEngine({\n  host: process.env.MEILISEARCH_HOST!,\n  apiKey: process.env.MEILISEARCH_API_KEY!,\n  tenantTokenOptions: {\n    apiKeyUid: \"tenant-search\",\n    expiresIn: 3600,\n  },\n});\n\nawait engine.indexDocument(\"products\", { id: \"p1\", name: \"Croco Hoodie\" });\nconst result = await engine.search(\"products\", { query: \"hoodie\" });\n```\n\n## API 레퍼런스\n\n| API                               | 설명                                                             |\n| --------------------------------- | ---------------------------------------------------------------- |\n| `MeilisearchEngine`               | 검색, 인덱싱, 삭제, 인덱스 생성, tenant token 발급을 담당합니다. |\n| `MeilisearchEngineOptions`        | host, apiKey, tenant token 옵션을 지정합니다.                    |\n| `TenantTokenOptions`              | tenant token용 API key UID와 만료 시간을 지정합니다.             |\n| `TenantTokenNotConfiguredProblem` | tenant token 옵션 없이 토큰 발급을 시도할 때 발생합니다.         |\n\n## 동작 메모\n\n- 모든 검색과 인덱싱은 현재 `Context.getTenantId()` 값을 `_tenantId` 필드에 반영합니다.\n- tenant token은 `_tenantId` 필터 규칙을 포함해 생성됩니다.\n- tenant 정보가 없으면 `MissingTenantProblem`이 발생합니다.\n","readmeFilename":"README.md"}