{ "name": "ffffng", "version": "0.16.1", "description": "Node management form for Freifunk", "license": "MIT", "author": { "name": "Andreas Baldeau", "email": "andreas@baldeau.net" }, "private": true, "repository": { "type": "git", "url": "https://github.com/freifunkhamburg/ffffng" }, "bugs": { "url": "https://github.com/freifunkhamburg/ffffng/issues" }, "bin": { "ffffng": "server/main.js" }, "scripts": { "test": "npm run server:test", "build": "npm run server:build && grunt build && rsync -avzL --exclude='*/__mocks__/' --exclude='*.test.*' server-build/ dist/server/", "clean": "rm -rf server-build/ && grunt clean", "dist": "npm run clean && npm run build && npm run test", "client:serve": "grunt serve", "server:test": "jest --config=jest.server.config.js", "server:build": "tsc -b server && ln -sfv ../../server/db/patches ./server-build/db/ && ln -sfv ../server/templates ./server-build/ && ln -sfv ../server/mailTemplates ./server-build/", "server:run": "npm run server:build && node server-build/main.js" }, "dependencies": { "async": "^3.2.2", "body-parser": "^1.19.0", "command-line-args": "^5.2.0", "command-line-usage": "^6.1.1", "compression": "^1.7.3", "deep-extend": "^0.6.0", "express": "^4.17.1", "glob": "^7.2.0", "graceful-fs": "^4.2.8", "html-to-text": "^8.0.0", "http-auth": "^4.1.9", "http-auth-connect": "^1.0.5", "http-errors": "^1.7.3", "lodash": "^4.17.21", "moment": "^2.29.1", "ng-admin": "^1.0.13", "node-cron": "^3.0.0", "nodemailer": "^6.7.0", "nodemailer-html-to-text": "^3.2.0", "request": "^2.88.2", "scribe-js": "^2.0.4", "serve-static": "^1.14.1", "sparkson": "^1.3.6", "sqlite": "^3.0.6" }, "devDependencies": { "@types/async": "^3.2.9", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", "@types/compression": "^1.7.2", "@types/deep-extend": "^0.4.32", "@types/express": "^4.17.13", "@types/glob": "^7.2.0", "@types/graceful-fs": "^4.1.5", "@types/html-to-text": "^8.0.1", "@types/jest": "^27.0.2", "@types/lodash": "^4.14.176", "@types/node": "^16.11.6", "@types/node-cron": "^3.0.0", "@types/nodemailer": "^6.4.4", "@types/request": "^2.48.7", "bower": "^1.8.12", "escape-string-regexp": "^5.0.0", "grunt": "^1.4.1", "grunt-autoprefixer": "^3.0.4", "grunt-cli": "^1.4.3", "grunt-concurrent": "^3.0.0", "grunt-connect-proxy": "^0.2.0", "grunt-contrib-clean": "^2.0.0", "grunt-contrib-compass": "^1.1.1", "grunt-contrib-concat": "^2.0.0", "grunt-contrib-connect": "^3.0.0", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-cssmin": "^4.0.0", "grunt-contrib-htmlmin": "^3.1.0", "grunt-contrib-imagemin": "^4.0.0", "grunt-contrib-jshint": "^3.1.1", "grunt-contrib-uglify": "^5.0.1", "grunt-contrib-watch": "^1.1.0", "grunt-develop": "^0.4.0", "grunt-html2js": "^0.8.0", "grunt-newer": "^1.3.0", "grunt-ng-annotate": "^4.0.0", "grunt-replace": "^2.0.2", "grunt-rev": "^0.1.0", "grunt-svgmin": "^6.0.1", "grunt-usemin": "^3.1.1", "grunt-wiredep": "^3.0.1", "imagemin-gifsicle": "^7.0.0", "jest": "^27.3.1", "jshint-stylish": "^2.2.1", "load-grunt-tasks": "^5.1.0", "time-grunt": "^2.0.0", "ts-jest": "^27.0.7", "typescript": "^4.4.4" }, "engines": { "node": ">=16.0.0" } }