mirror of
https://github.com/gramps-project/gramps-web.git
synced 2026-10-18 14:27:27 +08:00
a3b3123c46
* Show KML and GeoJSON files of the selected place on the map When a place is selected on the map, the KML and GeoJSON media objects attached to it are drawn as shapes, lines and points, using the styles in the file where it has them. A place without coordinates stays selected and the map fits its files. The files are listed in the layer switcher while the place is selected and can be switched off; the setting is saved like that of image overlays. A hidden file is not downloaded. * Move place map file loading into a controller PlaceVectorsController owns the KML and GeoJSON files of the selected place. Each load aborts the previous one and its downloads, so an older refresh can no longer overwrite newer files, and a refresh keeps files whose checksum is unchanged. Only a 404 closes the selection; other errors keep it. Switching on a file of a place without coordinates fits the map to the files shown. A file without description is listed by its Gramps ID.
166 lines
4.6 KiB
JSON
166 lines
4.6 KiB
JSON
{
|
|
"scripts": {
|
|
"lint:eslint": "eslint --ext .js,.ts . --ignore-path .gitignore",
|
|
"format:eslint": "eslint --ext .js,.ts . --fix --ignore-path .gitignore",
|
|
"lint:prettier": "prettier \"**/*.{js,ts}\" --check --ignore-path .gitignore",
|
|
"format:prettier": "prettier \"**/*.{js,ts}\" --write --ignore-path .gitignore",
|
|
"lint": "npm run lint:eslint && npm run lint:prettier",
|
|
"format": "npm run format:eslint && npm run format:prettier",
|
|
"test": "vitest run --coverage",
|
|
"test:watch": "vitest",
|
|
"build": "rimraf dist && rollup -c rollup.config.js",
|
|
"start:build": "npm run build && web-dev-server --root-dir dist --app-index index.html --open --compatibility none",
|
|
"start": "web-dev-server --app-index index.html --host 0.0.0.0 --node-resolve --open --watch --port 8001",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"devDependencies": {
|
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
"@rollup/plugin-replace": "^5.0.7",
|
|
"@rollup/plugin-terser": "^1.0.0",
|
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
"@typescript-eslint/parser": "^8.56.1",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"@web/dev-server": "^0.4.6",
|
|
"@web/dev-server-esbuild": "^1.0.5",
|
|
"@web/dev-server-rollup": "^0.6.4",
|
|
"@web/rollup-plugin-html": "^3.1.0",
|
|
"@web/rollup-plugin-polyfills-loader": "^2.1.3",
|
|
"eslint": "^8.57.1",
|
|
"eslint-config-prettier": "^7.2.0",
|
|
"eslint-config-standard": "^17.1.0",
|
|
"eslint-plugin-import": "^2.31.0",
|
|
"eslint-plugin-lit": "^2.2.1",
|
|
"eslint-plugin-lit-a11y": "^4.1.4",
|
|
"eslint-plugin-n": "^16.6.2",
|
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
"eslint-plugin-promise": "^6.6.0",
|
|
"eslint-plugin-wc": "^3.1.0",
|
|
"happy-dom": "^20.8.3",
|
|
"husky": "^4.3.8",
|
|
"lint-staged": "^10.5.4",
|
|
"prettier": "^2.8.8",
|
|
"rimraf": "^3.0.2",
|
|
"rollup": "^4.59.0",
|
|
"rollup-plugin-copy": "^3.5.0",
|
|
"rollup-plugin-version-injector": "^1.3.3",
|
|
"rollup-plugin-workbox": "^8.1.3",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.0.18"
|
|
},
|
|
"browser": {
|
|
"crypto": false
|
|
},
|
|
"eslintConfig": {
|
|
"extends": [
|
|
"standard",
|
|
"plugin:lit/recommended",
|
|
"plugin:wc/recommended",
|
|
"plugin:lit-a11y/recommended",
|
|
"prettier"
|
|
],
|
|
"plugins": [
|
|
"no-only-tests"
|
|
],
|
|
"rules": {
|
|
"no-only-tests/no-only-tests": "error"
|
|
},
|
|
"env": {
|
|
"browser": true
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": [
|
|
"test/**/*.js"
|
|
],
|
|
"rules": {
|
|
"import/no-extraneous-dependencies": [
|
|
"error",
|
|
{
|
|
"devDependencies": true
|
|
}
|
|
],
|
|
"no-unused-expressions": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"vitest.config.js"
|
|
],
|
|
"rules": {
|
|
"import/no-unresolved": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"**/*.ts"
|
|
],
|
|
"parser": "@typescript-eslint/parser",
|
|
"rules": {
|
|
"no-undef": "off"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"prettier": {
|
|
"singleQuote": true,
|
|
"arrowParens": "avoid",
|
|
"semi": false,
|
|
"bracketSpacing": false
|
|
},
|
|
"husky": {
|
|
"hooks": {
|
|
"pre-commit": "lint-staged"
|
|
}
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,ts}": [
|
|
"eslint --fix",
|
|
"prettier --write"
|
|
]
|
|
},
|
|
"name": "gramps-js",
|
|
"version": "26.10.1",
|
|
"description": "The frontend for the Gramps Web genealogical research system.",
|
|
"author": "David M. Straub",
|
|
"license": "AGPL",
|
|
"type": "module",
|
|
"dependencies": {
|
|
"@americana/diplomat": "^0.5.0",
|
|
"@awesome.me/webawesome": "^3.4.0",
|
|
"@hpcc-js/wasm": "^2.22.4",
|
|
"@material/material-color-utilities": "^0.4.0",
|
|
"@material/mwc-button": "^0.27.0",
|
|
"@material/mwc-circular-progress": "^0.27.0",
|
|
"@material/mwc-drawer": "^0.27.0",
|
|
"@material/mwc-linear-progress": "^0.27.0",
|
|
"@material/mwc-snackbar": "^0.27.0",
|
|
"@material/mwc-textfield": "^0.27.0",
|
|
"@material/mwc-top-app-bar": "^0.27.0",
|
|
"@material/web": "^2.2.0",
|
|
"@mdi/js": "^7.4.47",
|
|
"@openhistoricalmap/maplibre-gl-dates": "^1.3.0",
|
|
"@tmcw/togeojson": "7.1.2",
|
|
"d3": "^7.9.0",
|
|
"d3-array": "^3.2.4",
|
|
"d3-axis": "^3.0.0",
|
|
"d3-color": "^3.1.0",
|
|
"d3-hierarchy": "^3.1.2",
|
|
"d3-interpolate": "^3.0.1",
|
|
"d3-scale": "^4.0.2",
|
|
"d3-scale-chromatic": "^3.1.0",
|
|
"d3-selection": "^3.0.0",
|
|
"d3-shape": "^3.2.0",
|
|
"d3-zoom": "^3.0.0",
|
|
"dayjs": "^1.11.13",
|
|
"dompurify": "^3.4.5",
|
|
"jsondiffpatch": "^0.7.6",
|
|
"jwt-decode": "^4.0.0",
|
|
"lit": "^3.2.1",
|
|
"maplibre-gl": "^5.22.0",
|
|
"marked": "^18.0.4",
|
|
"pwa-helper-components": "^0.2.10",
|
|
"pwa-helpers": "^0.9.1",
|
|
"tippy.js": "^6.3.7"
|
|
}
|
|
}
|