{ "name": "homebrewery", "description": "Create authentic looking D&D homebrews using only markdown", "version": "3.15.0", "engines": { "npm": "^10.2.x", "node": "^20.8.x" }, "repository": { "type": "git", "url": "git://github.com/naturalcrit/homebrewery.git" }, "scripts": { "dev": "node scripts/dev.js", "quick": "node scripts/quick.js", "build": "node scripts/buildHomebrew.js && node scripts/buildAdmin.js", "builddev": "node scripts/buildHomebrew.js --dev", "lint": "eslint --fix", "lint:dry": "eslint", "stylelint": "stylelint --fix **/*.{less}", "stylelint:dry": "stylelint **/*.less", "circleci": "npm test && eslint **/*.{js,jsx} --max-warnings=0", "verify": "npm run lint && npm test", "test": "jest --runInBand", "test:api-unit": "jest \"server/.*.spec.js\" --verbose", "test:api-unit:themes": "jest \"server/.*.spec.js\" -t \"theme bundle\" --verbose", "test:api-unit:css": "jest \"server/.*.spec.js\" -t \"Get CSS\" --verbose", "test:coverage": "jest --coverage --silent --runInBand", "test:dev": "jest --verbose --watch", "test:basic": "jest tests/markdown/basic.test.js --verbose", "test:variables": "jest tests/markdown/variables.test.js --verbose", "test:mustache-syntax": "jest \".*(mustache-syntax).*\" --verbose --noStackTrace", "test:mustache-syntax:inline": "jest \".*(mustache-syntax).*\" -t '^Inline:.*' --verbose --noStackTrace", "test:mustache-syntax:block": "jest \".*(mustache-syntax).*\" -t '^Block:.*' --verbose --noStackTrace", "test:mustache-syntax:injection": "jest \".*(mustache-syntax).*\" -t '^Injection:.*' --verbose --noStackTrace", "test:definition-lists": "jest tests/markdown/definition-lists.test.js --verbose --noStackTrace", "test:hard-breaks": "jest tests/markdown/hard-breaks.test.js --verbose --noStackTrace", "test:emojis": "jest tests/markdown/emojis.test.js --verbose --noStackTrace", "test:route": "jest tests/routes/static-pages.test.js --verbose", "phb": "node scripts/phb.js", "prod": "set NODE_ENV=production && npm run build", "postinstall": "npm run build", "start": "node server.js" }, "author": "stolksdorf", "license": "MIT", "eslintIgnore": [ "build/*" ], "jest": { "testTimeout": 30000, "modulePaths": [ "node_modules", "shared", "server" ], "coveragePathIgnorePatterns": [ "build/*" ], "coverageThreshold": { "global": { "statements": 50, "branches": 40, "functions": 40, "lines": 50 }, "server/homebrew.api.js": { "statements": 70, "branches": 50, "functions": 65, "lines": 70 } }, "setupFilesAfterEnv": [ "jest-expect-message" ] }, "babel": { "presets": [ "@babel/preset-env", "@babel/preset-react" ], "plugins": [ "@babel/plugin-transform-runtime" ] }, "dependencies": { "@babel/core": "^7.25.2", "@babel/plugin-transform-runtime": "^7.25.4", "@babel/preset-env": "^7.25.4", "@babel/preset-react": "^7.24.7", "@googleapis/drive": "^8.14.0", "body-parser": "^1.20.2", "classnames": "^2.5.1", "codemirror": "^5.65.6", "cookie-parser": "^1.4.6", "create-react-class": "^15.7.0", "dedent-tabs": "^0.10.3", "dompurify": "^3.1.6", "expr-eval": "^2.0.2", "express": "^4.21.0", "express-async-handler": "^1.2.0", "express-static-gzip": "2.1.7", "fs-extra": "11.2.0", "js-yaml": "^4.1.0", "jwt-simple": "^0.5.6", "less": "^3.13.1", "lodash": "^4.17.21", "marked": "11.2.0", "marked-emoji": "^1.4.2", "marked-extended-tables": "^1.0.10", "marked-gfm-heading-id": "^3.2.0", "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", "mongoose": "^8.6.2", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-frame-component": "^4.1.3", "react-router-dom": "6.26.2", "sanitize-filename": "1.6.3", "superagent": "^10.1.0", "vitreum": "git+https://git@github.com/calculuschild/vitreum.git" }, "devDependencies": { "@stylistic/stylelint-plugin": "^3.0.1", "eslint": "^9.10.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-react": "^7.36.1", "globals": "^15.9.0", "jest": "^29.7.0", "jest-expect-message": "^1.1.3", "postcss-less": "^6.0.0", "stylelint": "^16.9.0", "stylelint-config-recess-order": "^5.1.0", "stylelint-config-recommended": "^14.0.1", "supertest": "^7.0.0" } }