todos-contra-el-fuego-web/package.json
vjrj bddfb392c1 bootstrap: swap BS4 (alexwine) CSS for bootstrap@5 npm
Completes the Bootstrap 4->5 migration now that every jQuery/BS4 widget is React
(navbar, carousel, dropdowns) — plus the feedback toggle here (Feedback.js:
global `$('#feedback-form').toggle()` -> React state).

- Load Bootstrap 5 CSS from the `bootstrap` npm package in client/index.js
  (imported first so app + component styles and react-bootstrap override it).
- Remove the `alexwine:bootstrap-4` meteor package (BS4 CSS + jQuery + BS4 JS).
  jQuery for jquery-validation still comes from the npm `jquery` dep.
- Utility renames to BS5: ml-auto->ms-auto, float-right->float-end,
  btn-block->w-100, data-toggle->data-bs-toggle (FromNow tooltip).
- forms.scss `.form-label` is no longer a shim (BS5 ships it); comment updated.

Full-app build boots clean; server suite 36 passing. Needs a visual staging pass
across all pages (BS4->5 shifts grid gutters/typography); forms should improve
since react-bootstrap v2 already emitted BS5 markup.
2026-07-22 05:55:34 +02:00

165 lines
4.4 KiB
JSON

{
"name": "tcef",
"private": true,
"scripts": {
"start": "QT_QPA_PLATFORM='' MONGO_URL=mongodb://fuegos:fuegos@localhost:27017/fuegos meteor --settings settings-development.json",
"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",
"@cleverbeagle/dates": "^0.5.1",
"@sentry/browser": "^8.55.2",
"@sentry/node": "^8.55.2",
"@turf/buffer": "^5.1.5",
"babel-runtime": "^6.26.0",
"bcrypt": "^5.1.1",
"bootstrap": "^5.3.8",
"commonmark": "^0.28.1",
"core-js": "^2.5.1",
"crypto-random-hex": "^1.0.0",
"emoji-flags": "^1.2.0",
"fs": "0.0.1-security",
"google-maps": "^3.2.1",
"google-maps-image-api-url": "^1.0.3",
"handlebars": "^4.0.11",
"history": "^5.3.0",
"html5-device-mockups": "^3.2.0",
"i18next": "^23.16.8",
"i18next-browser-languagedetector": "^8.2.1",
"i18next-fs-backend": "^2.6.6",
"i18next-http-backend": "^2.7.3",
"immutability-helper": "^2.5.1",
"indexof": "0.0.1",
"iron": "^5.0.4",
"ismobilejs": "^0.4.1",
"jquery": "^2.2.4",
"jquery-validation": "^1.17.0",
"jsend": "^1.0.2",
"juice": "^4.2.2",
"leaflet": "^1.9.4",
"leaflet-graphicscale": "0.0.2",
"leaflet-sleep": "^0.5.1",
"leaflet.fullscreen": "^3.0.2",
"leaflet.gridlayer.googlemutant": "^0.14.1",
"lodash": "^4.17.4",
"loms.perlin": "^1.0.1",
"map-common-utils": "^0.5.0",
"maxmind": "^2.3.0",
"meteor-accounts-t9n": "^2.6.0",
"meteor-node-stubs": "^0.3.2",
"modernizr": "^3.6.0",
"moment": "^2.19.1",
"moment-timezone": "^0.5.14",
"node-geocoder": "^3.21.1",
"node-gyp": "^3.7.0",
"nodemailer": "^6.10.1",
"npm": "^5.8.0",
"pm2-master": "^1.1.3",
"popper.js": "^1.12.7",
"prerender-node": "^2.7.4",
"progressbar.js": "^1.1.1",
"prop-types": "^15.6.0",
"push.js": "^1.0.5",
"rc-slider": "^8.5.0",
"rc-tooltip": "^3.7.0",
"react": "^18.3.1",
"react-bootstrap": "^2.10.10",
"react-confirm": "^0.1.16",
"react-dom": "^18.3.1",
"react-helmet-async": "^2.0.5",
"react-i18next": "^14.1.3",
"react-leaflet": "^4.2.1",
"react-mobile-store-button": "0.0.3",
"react-places-autocomplete": "^5.4.3",
"react-resize-detector": "^1.1.0",
"react-router-bootstrap": "^0.26.3",
"react-router-dom": "^6.30.4",
"react-share": "^5.3.0",
"simpl-schema": "^1.5.0",
"simple-line-icons": "^2.4.1",
"store": "^2.0.12",
"twit": "^2.2.9"
},
"devDependencies": {
"babel-plugin-lodash": "^3.2.11",
"chai": "^4.5.0",
"eslint": "^4.10.0",
"eslint-config-airbnb": "^16.1.0",
"eslint-import-resolver-meteor": "^0.4.0",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-meteor": "^4.1.6",
"eslint-plugin-react": "^7.4.0",
"sass": "^1.101.0"
},
"eslintConfig": {
"parserOptions": {
"ecmaFeatures": {
"jsx": true
}
},
"plugins": [
"meteor",
"react"
],
"extends": [
"airbnb",
"plugin:meteor/recommended",
"plugin:react/recommended"
],
"env": {
"browser": true
},
"globals": {
"expect": false
},
"rules": {
"import/no-unresolved": 0,
"import/no-extraneous-dependencies": 0,
"import/extensions": 0,
"jsx-a11y/anchor-is-valid": [
"error",
{
"components": [
"Link"
],
"specialLink": [
"to"
]
}
],
"max-len": 0,
"no-alert": 0,
"no-console": 0,
"no-restricted-globals": 0,
"no-return-assign": [
"error",
"except-parens"
],
"comma-dangle": [
"error",
"never"
],
"no-underscore-dangle": [
"error",
{
"allow": [
"_id",
"_ensureIndex",
"_verifyEmailToken",
"_resetPasswordToken",
"_name",
"_str"
]
}
],
"class-methods-use-this": 0,
"react/jsx-filename-extension": 0,
"react/forbid-prop-types": 0
},
"settings": {
"import/resolver": "meteor"
}
}
}