mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
* Preview markdown files formatted, with a raw toggle Markdown files are typed text/markdown (libmagic reports them as text/plain, or as a programming language when they hold code) and keep the text indexer, so they stay deep-searchable. Existing files switch type on their next refresh. The file preview renders markdown with markdown-it into the page, so it follows the theme tokens and the night media filter. A Formatted/Raw toggle shows the source instead, and the choice is remembered. Relative links and images resolve against the file's directory; URLs that climb out of /media/ are dropped. Raw HTML in a file is escaped rather than parsed, and the output is also sanitized with DOMPurify. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Do not load images from other sites in the markdown preview An image from another site (http:, https:, or protocol-relative //) loaded as soon as the preview opened, telling that site who was reading the file and when. Such an image now becomes a link labeled with its alt text, so the reader chooses whether to follow it. Inside a link (a README badge) it becomes the outer link's text, since links cannot nest. Media and embedded data: images still load. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
99 lines
2.7 KiB
JSON
99 lines
2.7 KiB
JSON
{
|
|
"name": "wrolpi-app",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@acalcutt/maplibre-contour-pmtiles": "^0.1.2",
|
|
"@artsy/fresnel": "^8.5.0",
|
|
"@cypress/react18": "^2.0.1",
|
|
"@mantine/core": "^8.3.18",
|
|
"@mantine/hooks": "^8.3.18",
|
|
"@mantine/notifications": "^8.3.18",
|
|
"@tabler/icons-react": "^3.48.0",
|
|
"@testing-library/react": "^13.4.0",
|
|
"@testing-library/user-event": "^14.6.7",
|
|
"cypress": "^15.21.1",
|
|
"dompurify": "^3.4.16",
|
|
"esptool-js": "^0.7.0",
|
|
"lodash": "^4.18.1",
|
|
"maplibre-gl": "^5.24.0",
|
|
"markdown-it": "^15.0.2",
|
|
"mathjs": "^15.2.0",
|
|
"pmtiles": "^4.5.0",
|
|
"protomaps-themes-base": "^4.5.0",
|
|
"query-string": "^9.5.1",
|
|
"react": "^18.3.1",
|
|
"react-colorful": "^5.8.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-dropzone": "^14.4.1",
|
|
"react-hotkeys-hook": "^5.3.3",
|
|
"react-qr-code": "^2.2.0",
|
|
"react-router": "^7.18.4",
|
|
"react-scripts": "5.0.1",
|
|
"react-stl-viewer": "^2.5.0",
|
|
"three": "^0.186",
|
|
"web-vitals": "^6.2.2"
|
|
},
|
|
"scripts": {
|
|
"start": "react-scripts start",
|
|
"build": "BROWSERSLIST_IGNORE_OLD_DATA=true react-scripts build",
|
|
"test": "react-scripts test",
|
|
"eject": "react-scripts eject",
|
|
"cy:run": "cypress run",
|
|
"cy:open": "cypress open"
|
|
},
|
|
"eslintConfig": {
|
|
"extends": [
|
|
"react-app"
|
|
]
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/dom": "^10.4.2",
|
|
"@testing-library/jest-dom": "^7.0.1",
|
|
"@types/lodash": "^4.17.25",
|
|
"@types/node": "^26.6.3",
|
|
"@types/react": "^18.3.17",
|
|
"@types/react-dom": "^18.3.5",
|
|
"typescript": "^5.9.3",
|
|
"webpack-dev-server": "^5.2.6"
|
|
},
|
|
"jest": {
|
|
"transformIgnorePatterns": [
|
|
"node_modules/(?!(react-hotkeys-hook)/)"
|
|
]
|
|
},
|
|
"overrides": {
|
|
"@babel/code-frame": "7.29.0",
|
|
"@babel/compat-data": "7.20.14",
|
|
"@babel/core": "7.20.12",
|
|
"@babel/generator": "7.29.1",
|
|
"@babel/helper-compilation-targets": "7.20.7",
|
|
"@babel/helper-globals": "7.28.0",
|
|
"@babel/helper-module-imports": "7.28.6",
|
|
"@babel/helper-module-transforms": "7.28.6",
|
|
"@babel/helper-string-parser": "7.27.1",
|
|
"@babel/helper-validator-identifier": "7.28.5",
|
|
"@babel/helper-validator-option": "7.18.6",
|
|
"@babel/helpers": "7.27.0",
|
|
"@babel/parser": "7.29.3",
|
|
"@babel/template": "7.28.6",
|
|
"@babel/traverse": "7.29.0",
|
|
"@babel/types": "7.29.0",
|
|
"react-scripts": {
|
|
"typescript": "$typescript"
|
|
},
|
|
"fork-ts-checker-webpack-plugin": "^6.5.3"
|
|
}
|
|
}
|