Past the client-bundle underscore linker (pin underscore@1.6.4) and now working
through the server async/await migration on Meteor 3.1 + Mongo 7:
- Removed fibers (imports/startup/server/fibers.js + import) — gone in Meteor 3.
- accounts/oauth.js: upsert -> upsertAsync (top-level await).
- migrations.js: startup async + await Migrations.migrateTo (async in 2.x).
mongo7 marked at version 18 so historical up() bodies (still sync Mongo) don't
run — prod data restores already-migrated. Documented.
- subsUnion.js: fully async (fetchAsync/findOneAsync/countAsync/upsertAsync,
observeAsync with async callbacks).
- facts.js: dropped dead sync findOne.
- email.js: ostrio:mailer 2.5 is a default export (was named import); dropped
removed static MailTime.Template (built-in default '{{{html}}}').
NEXT wall + remaining chain (multi-session):
1. aldeed:collection2@4.2.0 needs simpl-schema 3.x (app has 1.x) -> 'attachSchema
is not a function'. Requires upgrading npm simpl-schema to 3.x and migrating
all collection schemas (SimpleSchema.RegEx.Id etc.) across ~8 files.
2. Rest.js + helpers (countRealFires/firesUnion/whichAreFalsePositives/
fireFromHash/subscriptionsInsert/upsertFalsePositive) -> *Async.
3. Patch vendored restivus to await async endpoint handlers.
4. methods/publications/comments to async; cron SyncedCron(quave)/Facts imports.
5. alanning:roles@1.2.10 + gadicohen:sitemaps@0.0.17 warn incompatible -> bump.
6. React 16 -> 18 render root.
Run with: NODE_OPTIONS='--dns-result-order=ipv4first --no-network-family-autoselection'
MONGO_URL='mongodb://localhost:27019/fuegos?replicaSet=rs0'
|
||
|---|---|---|
| .meteor | ||
| bin | ||
| client | ||
| cucumber | ||
| designs | ||
| imports | ||
| packages/nimble-restivus | ||
| private | ||
| public | ||
| server | ||
| smoke | ||
| test | ||
| .gitignore | ||
| .meteorignore | ||
| API.md | ||
| COPYRIGHT.md | ||
| fonts.json | ||
| History.md | ||
| LICENSE.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| settings-development-sample.json | ||
| UPGRADE.md | ||
Tod@s contra el Fuego (All Against Fire)
This is web service that notifies about fires detected in an area of your interest. It helps the early detection of fires and facilitates local mobilization, while the professional extinction services arrive.
Install
Prerrequisites: a running meteor (we share the fuegos database with the telegram bot).
Install meteor and run meteor npm install and npm start
Some other development deps (in debian & ubuntu):
apt-get install libcairo2-dev libjpeg-dev libgif-dev pkg-config
GeoIP
Configure mirror and cron of the geoip database.
Telegram bot
See our bot.
More platforms and services in the future...
Tests
We do tests via:
TEST_PORT=3000 TEST_WATCH=1 TEST_CLIENT=0 MONGO_URL=mongodb://localhost:27017/fuegostest meteor --settings settings-development.json test --driver-package meteortesting:mocha --port 3010
# and
node_modules/.bin/chimp --watch --ddp=http://localhost:3000 --path=cucumber
# and
node_modules/.bin/chimp --ddp=http://localhost:3000 --path=cucumber
FAQ & Troubleshooting
Q - I get something like (...) /node_modules/fibers/future.js:280 (...) Error: Could not locate the bindings file. What can I do?
A - Try meteor npm rebuild
Data source acknowledgements
We acknowledge the use of data and imagery from LANCE FIRMS operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.
License
GNU APLv3. See our LICENSE, for a complete text.
Thanks & other acknowlegments
Thanks indeed to:
- Lupe Bao Reixa for Galician translation