quality: web debt batch (tests runner, FireContainer, rate-limit, maps, i18n)

Independent-of-prod quality debt from PENDIENTE.md §2:

- test: migrate broken Jest -> meteortesting:mocha. Tests rewritten to chai +
  Meteor 3 async APIs, moved to test/server/ (server-only). test/server/
  00-setup.test.js re-runs the collection2/accounts init that `meteor test`
  skips (no server/main.js). New comments method + mediaAnalyzers coverage.
  Dropped rest.test.js (removed meteor/http; covered by smoke/). 36 passing.
- fix: scope FireContainer read by the URL _id on the archive route instead of
  a selector-less FiresCollection.findOne() (imports/ui/pages/Fires/Fires.js).
- feat: rate-limit abusable publications via rateLimitSubscriptions (fireFrom*
  and comments.forReference 5/1000ms; geo subs 10/1000ms).
- perf: append loading=async to the Google Maps loader URL (Gkeys.js).
- deps: meteor-accounts-t9n 2.0 -> 2.6 (no gl build -> keep gl->es fallback,
  documented); add 3 missing gl/common.json keys (0 missing now).
- deps: drop jest/babel/enzyme, add chai.
This commit is contained in:
vjrj 2026-07-21 22:59:06 +02:00
parent bc778bfd97
commit 6b6f02d92d
27 changed files with 602 additions and 7042 deletions

View file

@ -3,7 +3,8 @@
"private": true,
"scripts": {
"start": "QT_QPA_PLATFORM='' MONGO_URL=mongodb://fuegos:fuegos@localhost:27017/fuegos meteor --settings settings-development.json",
"test": "jest"
"test": "meteor test --once --driver-package meteortesting:mocha --settings settings-development.json --port 3100",
"test-watch": "TEST_WATCH=1 meteor test --driver-package meteortesting:mocha --settings settings-development.json --port 3100"
},
"dependencies": {
"@babel/runtime": "^7.29.7",
@ -45,7 +46,7 @@
"loms.perlin": "^1.0.1",
"map-common-utils": "^0.5.0",
"maxmind": "^2.3.0",
"meteor-accounts-t9n": "^2.0.3",
"meteor-accounts-t9n": "^2.6.0",
"meteor-node-stubs": "^0.3.2",
"modernizr": "^3.6.0",
"moment": "^2.19.1",
@ -81,11 +82,8 @@
"twit": "^2.2.9"
},
"devDependencies": {
"babel-jest": "^21.2.0",
"babel-plugin-lodash": "^3.2.11",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"enzyme": "^3.1.0",
"chai": "^4.5.0",
"eslint": "^4.10.0",
"eslint-config-airbnb": "^16.1.0",
"eslint-import-resolver-meteor": "^0.4.0",
@ -93,7 +91,6 @@
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-meteor": "^4.1.6",
"eslint-plugin-react": "^7.4.0",
"jest": "^21.2.1",
"sass": "^1.101.0"
},
"eslintConfig": {