mirror of
https://github.com/searxng/searxng.git
synced 2025-12-22 11:40:01 +00:00
* [mod] client/simple: client plugins
Defines a new interface for client side *"plugins"* that coexist with server
side plugin system. Each plugin (e.g., `InfiniteScroll`) extends the base
`ts Plugin`. Client side plugins are independent and lazy‑loaded via `router.ts`
when their `load()` conditions are met. On each navigation request, all
applicable plugins are instanced.
Since these are client side plugins, we can only invoke them once DOM is fully
loaded. E.g. `Calculator` will not render a new `answer` block until fully
loaded and executed.
For some plugins, we might want to handle its availability in `settings.yml`
and toggle in UI, like we do for server side plugins. In that case, we extend
`py Plugin` instancing only the information and then checking client side if
[`settings.plugins`](1ad832b1dc/client/simple/src/js/toolkit.ts (L134))
array has the plugin id.
* [mod] client/simple: rebuild static
51 lines
1.5 KiB
JSON
51 lines
1.5 KiB
JSON
{
|
|
"$schema": "https://json.schemastore.org/package.json",
|
|
"name": "@searxng/theme-simple",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"license": "AGPL-3.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "npm run build:icons && npm run build:vite",
|
|
"build:icons": "node theme_icons.ts",
|
|
"build:vite": "vite build",
|
|
"clean": "rm -Rf node_modules",
|
|
"fix": "npm run fix:stylelint && npm run fix:biome && npm run fix:package",
|
|
"fix:biome": "biome check --write",
|
|
"fix:package": "sort-package-json --quiet",
|
|
"fix:stylelint": "stylelint --fix strict 'src/**/*.{scss,sass,less,styl}'",
|
|
"lint": "npm run lint:biome && npm run lint:tsc",
|
|
"lint:biome": "biome lint",
|
|
"lint:tsc": "tsc --noEmit"
|
|
},
|
|
"browserslist": [
|
|
"baseline 2022",
|
|
"not dead"
|
|
],
|
|
"dependencies": {
|
|
"ionicons": "~8.0.13",
|
|
"normalize.css": "8.0.1",
|
|
"ol": "~10.7.0",
|
|
"swiped-events": "1.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "2.3.8",
|
|
"@types/node": "~24.10.1",
|
|
"browserslist": "~4.28.0",
|
|
"browserslist-to-esbuild": "~2.1.1",
|
|
"edge.js": "~6.3.0",
|
|
"less": "~4.4.2",
|
|
"lightningcss": "~1.30.2",
|
|
"mathjs": "~15.0.0",
|
|
"sharp": "~0.34.5",
|
|
"sort-package-json": "~3.5.0",
|
|
"stylelint": "~16.26.0",
|
|
"stylelint-config-standard-less": "~3.0.1",
|
|
"stylelint-prettier": "~5.0.3",
|
|
"svgo": "~4.0.0",
|
|
"typescript": "~5.9.3",
|
|
"vite": "npm:rolldown-vite@7.2.7",
|
|
"vite-bundle-analyzer": "~1.2.3"
|
|
}
|
|
}
|