@rubixstudios/payload-typesense 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -16
- package/dist/components/HeadlessSearchInput.d.ts +2 -92
- package/dist/components/HeadlessSearchInput.d.ts.map +1 -1
- package/dist/components/HeadlessSearchInput.js +23 -140
- package/dist/components/ThemeProvider.d.ts +3 -2
- package/dist/components/ThemeProvider.d.ts.map +1 -1
- package/dist/components/ThemeProvider.js +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/themes/hooks.d.ts +5 -5
- package/dist/components/themes/hooks.d.ts.map +1 -1
- package/dist/components/themes/hooks.js +16 -16
- package/dist/components/themes/index.d.ts +4 -4
- package/dist/components/themes/index.js +4 -4
- package/dist/components/themes/themes.d.ts +1 -1
- package/dist/components/themes/themes.d.ts.map +1 -1
- package/dist/components/themes/themes.js +109 -109
- package/dist/components/themes/types.d.ts.map +1 -1
- package/dist/components/themes/utils.d.ts +1 -1
- package/dist/components/themes/utils.d.ts.map +1 -1
- package/dist/components/themes/utils.js +140 -140
- package/dist/endpoints/handler/createAdvancedSearch.d.ts +5 -0
- package/dist/endpoints/handler/createAdvancedSearch.d.ts.map +1 -0
- package/dist/endpoints/handler/createAdvancedSearch.js +40 -0
- package/dist/endpoints/handler/createCollections.d.ts +4 -0
- package/dist/endpoints/handler/createCollections.d.ts.map +1 -0
- package/dist/endpoints/handler/createCollections.js +23 -0
- package/dist/endpoints/handler/createSearch.d.ts +5 -0
- package/dist/endpoints/handler/createSearch.d.ts.map +1 -0
- package/dist/endpoints/handler/createSearch.js +119 -0
- package/dist/endpoints/handler/createSuggest.d.ts +5 -0
- package/dist/endpoints/handler/createSuggest.d.ts.map +1 -0
- package/dist/endpoints/handler/createSuggest.js +50 -0
- package/dist/endpoints/health.d.ts +4 -10
- package/dist/endpoints/health.d.ts.map +1 -1
- package/dist/endpoints/health.js +45 -103
- package/dist/endpoints/search.d.ts +4 -5
- package/dist/endpoints/search.d.ts.map +1 -1
- package/dist/endpoints/search.js +26 -355
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -101
- package/dist/lib/cache.d.ts +6 -27
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +11 -29
- package/dist/lib/client.d.ts +4 -0
- package/dist/lib/client.d.ts.map +1 -0
- package/dist/lib/{typesense-client.js → client.js} +10 -18
- package/dist/lib/headlessSearch.d.ts +89 -0
- package/dist/lib/headlessSearch.d.ts.map +1 -0
- package/dist/lib/headlessSearch.js +2 -0
- package/dist/lib/hooks.d.ts +12 -3
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +37 -37
- package/dist/lib/initialization.d.ts +3 -3
- package/dist/lib/initialization.d.ts.map +1 -1
- package/dist/lib/initialization.js +36 -49
- package/dist/lib/schema-mapper.d.ts +17 -7
- package/dist/lib/schema-mapper.d.ts.map +1 -1
- package/dist/lib/schema-mapper.js +53 -89
- package/dist/lib/{config-validation.d.ts → validation.d.ts} +18 -22
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/lib/{config-validation.js → validation.js} +32 -49
- package/dist/{lib/types.d.ts → types.d.ts} +22 -5
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/buildError.d.ts +2 -0
- package/dist/utils/buildError.d.ts.map +1 -0
- package/dist/utils/buildError.js +10 -0
- package/dist/utils/ensureCollection.d.ts +3 -0
- package/dist/utils/ensureCollection.d.ts.map +1 -0
- package/dist/utils/ensureCollection.js +13 -0
- package/dist/utils/extractText.d.ts +2 -0
- package/dist/utils/extractText.d.ts.map +1 -0
- package/dist/utils/extractText.js +20 -0
- package/dist/utils/getAllCollections.d.ts +9 -0
- package/dist/utils/getAllCollections.d.ts.map +1 -0
- package/dist/utils/getAllCollections.js +84 -0
- package/dist/utils/getCacheStats.d.ts +6 -0
- package/dist/utils/getCacheStats.d.ts.map +1 -0
- package/dist/utils/getCacheStats.js +9 -0
- package/dist/utils/getCollectionInfo.d.ts +3 -0
- package/dist/utils/getCollectionInfo.d.ts.map +1 -0
- package/dist/utils/getCollectionInfo.js +8 -0
- package/dist/utils/keyboard.d.ts +8 -0
- package/dist/utils/keyboard.d.ts.map +1 -0
- package/dist/utils/keyboard.js +41 -0
- package/dist/utils/testConnection.d.ts +3 -0
- package/dist/utils/testConnection.d.ts.map +1 -0
- package/dist/utils/testConnection.js +8 -0
- package/dist/utils/useDebounce.d.ts +2 -0
- package/dist/utils/useDebounce.d.ts.map +1 -0
- package/dist/utils/useDebounce.js +15 -0
- package/dist/utils/useSearch.d.ts +17 -0
- package/dist/utils/useSearch.d.ts.map +1 -0
- package/dist/utils/useSearch.js +78 -0
- package/package.json +14 -11
- package/dist/endpoints/customEndpointHandler.d.ts +0 -3
- package/dist/endpoints/customEndpointHandler.d.ts.map +0 -1
- package/dist/endpoints/customEndpointHandler.js +0 -5
- package/dist/lib/config-validation.d.ts.map +0 -1
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/typesense-client.d.ts +0 -5
- package/dist/lib/typesense-client.d.ts.map +0 -1
- /package/dist/{lib/types.js → types.js} +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { searchCache } from '../lib/cache.js';
|
|
2
|
+
export const getAllCollections = async (typesenseClient, pluginOptions, query, options)=>{
|
|
3
|
+
try {
|
|
4
|
+
const cachedResult = searchCache.get(query, 'universal', options);
|
|
5
|
+
if (cachedResult) {
|
|
6
|
+
return Response.json(cachedResult);
|
|
7
|
+
}
|
|
8
|
+
const enabledCollections = Object.entries(pluginOptions.collections || {}).filter(([_, config])=>config?.enabled);
|
|
9
|
+
if (enabledCollections.length === 0) {
|
|
10
|
+
return Response.json({
|
|
11
|
+
error: 'No collections enabled for search'
|
|
12
|
+
}, {
|
|
13
|
+
status: 400
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
const searchPromises = enabledCollections.map(async ([collectionName, config])=>{
|
|
17
|
+
try {
|
|
18
|
+
const searchParameters = {
|
|
19
|
+
highlight_full_fields: config?.searchFields?.join(',') || 'title,content',
|
|
20
|
+
num_typos: 0,
|
|
21
|
+
page: options.page,
|
|
22
|
+
per_page: Math.ceil(options.per_page / enabledCollections.length),
|
|
23
|
+
q: query,
|
|
24
|
+
query_by: config?.searchFields?.join(',') || 'title,content',
|
|
25
|
+
snippet_threshold: 30,
|
|
26
|
+
typo_tokens_threshold: 1
|
|
27
|
+
};
|
|
28
|
+
const results = await typesenseClient.collections(collectionName).documents().search(searchParameters);
|
|
29
|
+
return {
|
|
30
|
+
collection: collectionName,
|
|
31
|
+
displayName: config?.displayName || collectionName,
|
|
32
|
+
icon: config?.icon || '📄',
|
|
33
|
+
...results,
|
|
34
|
+
hits: results.hits?.map((hit)=>({
|
|
35
|
+
...hit,
|
|
36
|
+
collection: collectionName,
|
|
37
|
+
displayName: config?.displayName || collectionName,
|
|
38
|
+
icon: config?.icon || '📄'
|
|
39
|
+
})) || []
|
|
40
|
+
};
|
|
41
|
+
} catch (_error) {
|
|
42
|
+
return {
|
|
43
|
+
collection: collectionName,
|
|
44
|
+
displayName: config?.displayName || collectionName,
|
|
45
|
+
error: _error instanceof Error ? _error.message : 'Unknown error',
|
|
46
|
+
found: 0,
|
|
47
|
+
hits: [],
|
|
48
|
+
icon: config?.icon || '📄'
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const results = await Promise.all(searchPromises);
|
|
53
|
+
const combinedHits = results.flatMap((result)=>result.hits || []);
|
|
54
|
+
const totalFound = results.reduce((sum, result)=>sum + (result.found || 0), 0);
|
|
55
|
+
combinedHits.sort((a, b)=>(b.text_match || 0) - (a.text_match || 0));
|
|
56
|
+
const searchResult = {
|
|
57
|
+
collections: results.map((r)=>({
|
|
58
|
+
collection: r.collection,
|
|
59
|
+
displayName: r.displayName,
|
|
60
|
+
error: r.error,
|
|
61
|
+
found: r.found || 0,
|
|
62
|
+
icon: r.icon
|
|
63
|
+
})),
|
|
64
|
+
found: totalFound,
|
|
65
|
+
hits: combinedHits.slice(0, options.per_page),
|
|
66
|
+
page: options.page,
|
|
67
|
+
request_params: {
|
|
68
|
+
per_page: options.per_page,
|
|
69
|
+
q: query
|
|
70
|
+
},
|
|
71
|
+
search_cutoff: false,
|
|
72
|
+
search_time_ms: 0
|
|
73
|
+
};
|
|
74
|
+
searchCache.set(query, searchResult, 'universal', options);
|
|
75
|
+
return Response.json(searchResult);
|
|
76
|
+
} catch (error) {
|
|
77
|
+
return Response.json({
|
|
78
|
+
details: error instanceof Error ? error.message : 'Unknown error',
|
|
79
|
+
error: 'Universal search failed'
|
|
80
|
+
}, {
|
|
81
|
+
status: 500
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCacheStats.d.ts","sourceRoot":"","sources":["../../src/utils/getCacheStats.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;CAOzB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCollectionInfo.d.ts","sourceRoot":"","sources":["../../src/utils/getCollectionInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,iBAAiB,GAAU,QAAQ,SAAS,CAAC,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAOlF,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export declare function handleKeyboard(e: React.KeyboardEvent, options: {
|
|
3
|
+
inputRef: React.RefObject<HTMLInputElement | null>;
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
results: any;
|
|
6
|
+
resultsRef: React.RefObject<HTMLDivElement | null>;
|
|
7
|
+
}): void;
|
|
8
|
+
//# sourceMappingURL=keyboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/utils/keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,wBAAgB,cAAc,CAC5B,CAAC,EAAE,KAAK,CAAC,aAAa,EACtB,OAAO,EAAE;IACP,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAClD,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,GAAG,CAAA;IACZ,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CACnD,QA2CF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export function handleKeyboard(e, options) {
|
|
2
|
+
const { inputRef, isOpen, results, resultsRef } = options;
|
|
3
|
+
if (!isOpen || !results) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const resultItems = resultsRef.current?.querySelectorAll('[data-result-item]');
|
|
7
|
+
if (!resultItems) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const currentIndex = Array.from(resultItems).findIndex((item)=>item === document.activeElement);
|
|
11
|
+
switch(e.key){
|
|
12
|
+
case 'ArrowDown':
|
|
13
|
+
{
|
|
14
|
+
e.preventDefault();
|
|
15
|
+
const nextIndex = currentIndex < resultItems.length - 1 ? currentIndex + 1 : 0;
|
|
16
|
+
resultItems[nextIndex]?.focus();
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
case 'ArrowUp':
|
|
20
|
+
{
|
|
21
|
+
e.preventDefault();
|
|
22
|
+
const prevIndex = currentIndex > 0 ? currentIndex - 1 : resultItems.length - 1;
|
|
23
|
+
resultItems[prevIndex]?.focus();
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case 'Enter':
|
|
27
|
+
{
|
|
28
|
+
e.preventDefault();
|
|
29
|
+
if (currentIndex >= 0 && resultItems[currentIndex]) {
|
|
30
|
+
;
|
|
31
|
+
resultItems[currentIndex]?.click();
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
case 'Escape':
|
|
36
|
+
{
|
|
37
|
+
inputRef.current?.blur();
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testConnection.d.ts","sourceRoot":"","sources":["../../src/utils/testConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,cAAc,GAAU,QAAQ,SAAS,CAAC,MAAM,KAAG,OAAO,CAAC,OAAO,CAO9E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../../src/utils/useDebounce.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAWzD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
export function useDebounce(value, delay) {
|
|
4
|
+
const [debounced, setDebounced] = useState(value);
|
|
5
|
+
useEffect(()=>{
|
|
6
|
+
const handle = setTimeout(()=>setDebounced(value), delay);
|
|
7
|
+
return ()=>{
|
|
8
|
+
clearTimeout(handle);
|
|
9
|
+
};
|
|
10
|
+
}, [
|
|
11
|
+
value,
|
|
12
|
+
delay
|
|
13
|
+
]);
|
|
14
|
+
return debounced;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type SearchResponse } from '../types.js';
|
|
2
|
+
type UseSearchOptions<T> = {
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
collections?: string | string[];
|
|
5
|
+
minQueryLength: number;
|
|
6
|
+
onResults?: (results: SearchResponse<T>) => void;
|
|
7
|
+
onSearch?: (query: string, results: SearchResponse<T>) => void;
|
|
8
|
+
perPage: number;
|
|
9
|
+
};
|
|
10
|
+
export declare function useSearch<T = Record<string, unknown>>({ baseUrl, collections, minQueryLength, onResults, onSearch, perPage, }: UseSearchOptions<T>): {
|
|
11
|
+
error: string | null;
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
results: SearchResponse<T> | null;
|
|
14
|
+
search: (searchQuery: string) => Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=useSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSearch.d.ts","sourceRoot":"","sources":["../../src/utils/useSearch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,gBAAgB,CAAC,CAAC,IAAI;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC9D,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACrD,OAAO,EACP,WAAW,EACX,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,GACR,EAAE,gBAAgB,CAAC,CAAC,CAAC;;;;0BAsBE,MAAM;EA0E7B"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
export function useSearch({ baseUrl, collections, minQueryLength, onResults, onSearch, perPage }) {
|
|
4
|
+
const [results, setResults] = useState(null);
|
|
5
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
6
|
+
const [error, setError] = useState(null);
|
|
7
|
+
const collectionsRef = useRef(collections);
|
|
8
|
+
const onResultsRef = useRef(onResults);
|
|
9
|
+
const onSearchRef = useRef(onSearch);
|
|
10
|
+
useEffect(()=>{
|
|
11
|
+
collectionsRef.current = collections;
|
|
12
|
+
}, [
|
|
13
|
+
collections
|
|
14
|
+
]);
|
|
15
|
+
useEffect(()=>{
|
|
16
|
+
onResultsRef.current = onResults;
|
|
17
|
+
}, [
|
|
18
|
+
onResults
|
|
19
|
+
]);
|
|
20
|
+
useEffect(()=>{
|
|
21
|
+
onSearchRef.current = onSearch;
|
|
22
|
+
}, [
|
|
23
|
+
onSearch
|
|
24
|
+
]);
|
|
25
|
+
const search = useCallback(async (searchQuery)=>{
|
|
26
|
+
if (searchQuery.length < minQueryLength) {
|
|
27
|
+
setResults(null);
|
|
28
|
+
setIsLoading(false);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
setIsLoading(true);
|
|
32
|
+
setError(null);
|
|
33
|
+
try {
|
|
34
|
+
const activeCollections = collectionsRef.current;
|
|
35
|
+
let searchUrl;
|
|
36
|
+
if (typeof activeCollections === 'string' && activeCollections) {
|
|
37
|
+
searchUrl = `${baseUrl}/api/search/${activeCollections}?q=${encodeURIComponent(searchQuery)}&per_page=${perPage}`;
|
|
38
|
+
} else if (Array.isArray(activeCollections) && activeCollections.length > 0) {
|
|
39
|
+
searchUrl = `${baseUrl}/api/search?q=${encodeURIComponent(searchQuery)}&per_page=${perPage * 2}`;
|
|
40
|
+
} else {
|
|
41
|
+
searchUrl = `${baseUrl}/api/search?q=${encodeURIComponent(searchQuery)}&per_page=${perPage}`;
|
|
42
|
+
}
|
|
43
|
+
const response = await fetch(searchUrl);
|
|
44
|
+
if (!response.ok) {
|
|
45
|
+
throw new Error(`Search failed: ${response.status} ${response.statusText}`);
|
|
46
|
+
}
|
|
47
|
+
let searchResults = await response.json();
|
|
48
|
+
if (Array.isArray(activeCollections) && activeCollections.length > 0) {
|
|
49
|
+
const filteredHits = searchResults.hits?.filter((hit)=>hit.collection && activeCollections.includes(hit.collection)) || [];
|
|
50
|
+
const filteredCollections = searchResults.collections?.filter((col)=>col.collection && activeCollections.includes(col.collection)) || [];
|
|
51
|
+
searchResults = {
|
|
52
|
+
...searchResults,
|
|
53
|
+
collections: filteredCollections,
|
|
54
|
+
found: filteredHits.length,
|
|
55
|
+
hits: filteredHits
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
setResults(searchResults);
|
|
59
|
+
onResultsRef.current?.(searchResults);
|
|
60
|
+
onSearchRef.current?.(searchQuery, searchResults);
|
|
61
|
+
} catch (err) {
|
|
62
|
+
setError(err instanceof Error ? err.message : 'Search failed');
|
|
63
|
+
setResults(null);
|
|
64
|
+
} finally{
|
|
65
|
+
setIsLoading(false);
|
|
66
|
+
}
|
|
67
|
+
}, [
|
|
68
|
+
baseUrl,
|
|
69
|
+
minQueryLength,
|
|
70
|
+
perPage
|
|
71
|
+
]);
|
|
72
|
+
return {
|
|
73
|
+
error,
|
|
74
|
+
isLoading,
|
|
75
|
+
results,
|
|
76
|
+
search
|
|
77
|
+
};
|
|
78
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rubixstudios/payload-typesense",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "A production-ready search plugin that integrates Typesense with Payload CMS, offering fast, typo-tolerant search with real-time synchronization. This fork by Rubix Studios reduces bloat and introduces targeted changes for improved performance, maintainability, and flexibility.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Rubix Studios <hello@rubixstudios.com.au> (https://rubixstudios.com.au)",
|
|
@@ -50,6 +50,8 @@
|
|
|
50
50
|
"build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
|
|
51
51
|
"build:types": "tsc -p tsconfig.json",
|
|
52
52
|
"clean": "rimraf -g {dist,*.tsbuildinfo}",
|
|
53
|
+
"format": "pnpx prettier --write . --log-level warn",
|
|
54
|
+
"format:check": "pnpx prettier --check .",
|
|
53
55
|
"lint": "eslint .",
|
|
54
56
|
"lint:fix": "eslint . --fix",
|
|
55
57
|
"update": "pnpm update --latest && pnpm install && pnpm prune && pnpm dedupe",
|
|
@@ -59,15 +61,16 @@
|
|
|
59
61
|
"@payloadcms/eslint-config": "3.28.0",
|
|
60
62
|
"@semantic-release/changelog": "^6.0.3",
|
|
61
63
|
"@semantic-release/git": "^10.0.1",
|
|
62
|
-
"@semantic-release/github": "^
|
|
63
|
-
"@semantic-release/npm": "^
|
|
64
|
-
"@swc/cli": "^0.7.
|
|
65
|
-
"@swc/core": "^1.
|
|
66
|
-
"@types/react": "19.2.
|
|
67
|
-
"eslint": "^9.
|
|
68
|
-
"payload": "3.
|
|
69
|
-
"
|
|
70
|
-
"
|
|
64
|
+
"@semantic-release/github": "^12.0.2",
|
|
65
|
+
"@semantic-release/npm": "^13.1.1",
|
|
66
|
+
"@swc/cli": "^0.7.9",
|
|
67
|
+
"@swc/core": "^1.15.1",
|
|
68
|
+
"@types/react": "19.2.4",
|
|
69
|
+
"eslint": "^9.39.1",
|
|
70
|
+
"payload": "3.63.0",
|
|
71
|
+
"prettier": "^3.6.2",
|
|
72
|
+
"rimraf": "6.1.0",
|
|
73
|
+
"semantic-release": "^25.0.2",
|
|
71
74
|
"typescript": "5.9.3"
|
|
72
75
|
},
|
|
73
76
|
"peerDependencies": {
|
|
@@ -94,5 +97,5 @@
|
|
|
94
97
|
"typesense": "^2.1.0",
|
|
95
98
|
"zod": "^4.1.12"
|
|
96
99
|
},
|
|
97
|
-
"packageManager": "pnpm@10.
|
|
100
|
+
"packageManager": "pnpm@10.21.0"
|
|
98
101
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customEndpointHandler.d.ts","sourceRoot":"","sources":["../../src/endpoints/customEndpointHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,eAAO,MAAM,qBAAqB,EAAE,cAEnC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-validation.d.ts","sourceRoot":"","sources":["../../src/lib/config-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA4CvB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYtC,CAAA;AAGF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,2BAA2B,CAClC,CAAA;AAGD,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,8BAA8B,CAAA;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAyBhE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAyB5E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACvC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,OAAO,GACb,gBAAgB,CAyBlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAW7B,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEtE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAyBtE"}
|
package/dist/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import Typesense from "typesense";
|
|
2
|
-
import type { TypesenseSearchConfig } from "../index.js";
|
|
3
|
-
export declare const createTypesenseClient: (typesenseConfig: TypesenseSearchConfig["typesense"]) => Typesense.Client;
|
|
4
|
-
export declare const testTypesenseConnection: (c: Typesense.Client) => Promise<boolean>;
|
|
5
|
-
//# sourceMappingURL=typesense-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typesense-client.d.ts","sourceRoot":"","sources":["../../src/lib/typesense-client.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAiDxD,eAAO,MAAM,qBAAqB,GACjC,iBAAiB,qBAAqB,CAAC,WAAW,CAAC,KACjD,SAAS,CAAC,MAoBZ,CAAA;AAED,eAAO,MAAM,uBAAuB,GACnC,GAAG,SAAS,CAAC,MAAM,KACjB,OAAO,CAAC,OAAO,CAQjB,CAAA"}
|
|
File without changes
|