salience-editor/frontend/package.json
nobody 82bf67fc38
fix: map char level ranges to prosemirror positions
ProseMirror's document model is a tree structure where positions are
calculated by traversing nodes, accounting for structural elements
(opening/closing tags of nodes like paragraphs, lists, etc.). A position
in ProseMirror is not "character index N". Structual boundaries like
"start of paragraph" also get their own index. A document with two
paragraphs "ab" and "cd" has positions:

  0   1 2 3   4   5 6 7   8
  <p> a b </p><p> c d </p>

So when I serialize a ProseMirror document to plain text for external
processing:

   01 234
  "ab\ncd"

I need to save this mapping information so when the external system
says "there's something interesting at characters [3,4]", I can map that
back to ProseMirror positions to do something useful: highlighting,
applying marks, or making selections.

fix: measure site visits
2025-12-03 11:08:39 -08:00

66 lines
2.2 KiB
JSON

{
"name": "my-qwik-empty-starter",
"description": "Blank project with routing included",
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"engines-annotation": "Mostly required by sharp which needs a Node-API v9 compatible runtime",
"private": true,
"type": "module",
"scripts": {
"build": "qwik build",
"build.client": "vite build",
"build.preview": "vite build --ssr src/entry.preview.tsx",
"build.server": "qwik check-client src dist && vite build -c adapters/express/vite.config.ts",
"build.static": "vite build -c adapters/static/vite.config.ts",
"build.types": "tsc --incremental --noEmit",
"deploy": "echo 'Run \"npm run qwik add\" to install a server adapter'",
"dev": "vite --mode ssr",
"dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force",
"fmt": "prettier --write .",
"fmt.check": "prettier --check .",
"lint": "eslint \"src/**/*.ts*\"",
"preview": "qwik build preview && vite preview --open",
"serve": "node server/entry.express",
"start": "vite --open --mode ssr",
"qwik": "qwik"
},
"devDependencies": {
"@builder.io/qwik": "^1.17.1",
"@builder.io/qwik-city": "^1.17.1",
"@eslint/js": "latest",
"@tailwindcss/vite": "^4.1.16",
"@types/compression": "^1.7.2",
"@types/express": "^4.17.19",
"@types/node": "20.19.0",
"compression": "^1.7.4",
"dotenv": "^16.3.2",
"eslint": "9.32.0",
"eslint-plugin-qwik": "^1.17.1",
"globals": "16.4.0",
"prettier": "3.6.2",
"tailwindcss": "^4.1.16",
"tsx": "^4.21.0",
"typescript": "5.4.5",
"typescript-eslint": "8.38.0",
"typescript-plugin-css-modules": "latest",
"undici": "*",
"uvu": "^0.5.6",
"vite": "7.1.11",
"vite-tsconfig-paths": "^4.2.1"
},
"dependencies": {
"@tailwindcss/typography": "^0.5.19",
"express": "4.20.0",
"mathjs": "^15.0.0",
"prosemirror-commands": "^1.7.1",
"prosemirror-keymap": "^1.2.3",
"prosemirror-model": "^1.25.4",
"prosemirror-schema-basic": "^1.2.4",
"prosemirror-state": "^1.4.4",
"prosemirror-transform": "^1.10.4",
"prosemirror-view": "^1.41.3",
"temml": "^0.11.11"
},
"packageManager": "yarn@4.11.0"
}