deps: bump flexsearch

This commit is contained in:
Jacky Zhao 2024-01-27 22:15:25 -08:00
parent 2739457c86
commit efdce070e1
5 changed files with 15 additions and 23 deletions

15
package-lock.json generated
View file

@ -18,7 +18,7 @@
"cli-spinner": "^0.2.10",
"d3": "^7.8.5",
"esbuild-sass-plugin": "^2.16.0",
"flexsearch": "0.7.21",
"flexsearch": "0.7.43",
"github-slugger": "^2.0.0",
"globby": "^14.0.0",
"gray-matter": "^4.0.3",
@ -71,7 +71,6 @@
"devDependencies": {
"@types/cli-spinner": "^0.2.3",
"@types/d3": "^7.4.3",
"@types/flexsearch": "^0.7.3",
"@types/hast": "^3.0.3",
"@types/js-yaml": "^4.0.9",
"@types/node": "^20.1.2",
@ -1038,12 +1037,6 @@
"@types/estree": "*"
}
},
"node_modules/@types/flexsearch": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/@types/flexsearch/-/flexsearch-0.7.3.tgz",
"integrity": "sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==",
"dev": true
},
"node_modules/@types/geojson": {
"version": "7946.0.10",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz",
@ -2196,9 +2189,9 @@
}
},
"node_modules/flexsearch": {
"version": "0.7.21",
"resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.21.tgz",
"integrity": "sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg=="
"version": "0.7.43",
"resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.43.tgz",
"integrity": "sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg=="
},
"node_modules/foreground-child": {
"version": "3.1.1",

View file

@ -43,7 +43,7 @@
"cli-spinner": "^0.2.10",
"d3": "^7.8.5",
"esbuild-sass-plugin": "^2.16.0",
"flexsearch": "0.7.21",
"flexsearch": "0.7.43",
"github-slugger": "^2.0.0",
"globby": "^14.0.0",
"gray-matter": "^4.0.3",
@ -93,7 +93,6 @@
"devDependencies": {
"@types/cli-spinner": "^0.2.3",
"@types/d3": "^7.4.3",
"@types/flexsearch": "^0.7.3",
"@types/hast": "^3.0.3",
"@types/js-yaml": "^4.0.9",
"@types/node": "^20.1.2",

View file

@ -258,6 +258,7 @@ export async function handleBuild(argv) {
},
write: false,
bundle: true,
minify: true,
platform: "browser",
format: "esm",
})

View file

@ -1,4 +1,4 @@
import { Document, SimpleDocumentSearchResultSetUnit } from "flexsearch"
import FlexSearch from "flexsearch"
import { ContentDetails } from "../../plugins/emitters/contentIndex"
import { registerEscapeHandler, removeAllChildren } from "./util"
import { FullSlug, resolveRelative } from "../../util/path"
@ -11,7 +11,7 @@ interface Item {
tags: string[]
}
let index: Document<Item> | undefined = undefined
let index: FlexSearch.Document<Item> | undefined = undefined
// Can be expanded with things like "term" in the future
type SearchType = "basic" | "tags"
@ -250,7 +250,7 @@ document.addEventListener("nav", async (e: unknown) => {
async function onType(e: HTMLElementEventMap["input"]) {
let term = (e.target as HTMLInputElement).value
let searchResults: SimpleDocumentSearchResultSetUnit[]
let searchResults: FlexSearch.SimpleDocumentSearchResultSetUnit[]
if (term.toLowerCase().startsWith("#")) {
searchType = "tags"
@ -305,24 +305,23 @@ document.addEventListener("nav", async (e: unknown) => {
// setup index if it hasn't been already
if (!index) {
index = new Document({
index = new FlexSearch.Document({
charset: "latin:extra",
optimize: true,
encode: encoder,
document: {
id: "id",
index: [
{
field: "title",
tokenize: "reverse",
tokenize: "forward",
},
{
field: "content",
tokenize: "reverse",
tokenize: "forward",
},
{
field: "tags",
tokenize: "reverse",
tokenize: "forward",
},
],
},
@ -340,7 +339,7 @@ document.addEventListener("nav", async (e: unknown) => {
* @param index index to fill
* @param data data to fill index with
*/
async function fillDocument(index: Document<Item, false>, data: any) {
async function fillDocument(index: FlexSearch.Document<Item, false>, data: any) {
let id = 0
for (const [slug, fileData] of Object.entries<ContentDetails>(data)) {
await index.addAsync(id, {

View file

@ -4,7 +4,7 @@
"experimentalDecorators": true,
"module": "esnext",
"target": "esnext",
"moduleResolution": "node",
"moduleResolution": "bundler",
"strict": true,
"incremental": true,
"resolveJsonModule": true,