{ "name": "matrix-hookshot", "version": "5.3.0", "description": "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.", "main": "lib/app.js", "repository": "https://github.com/matrix-org/matrix-hookshot", "author": "matrix.org", "license": "Apache-2.0", "napi": { "name": "matrix-hookshot-rs" }, "engines": { "node": ">=20" }, "scripts": { "build:web": "vite build", "build:app": "tsc --project tsconfig.json", "build:app:rs": "napi build --dts ../src/libRs.d.ts --release ./lib", "build:app:fix-defs": "ts-node scripts/definitions-fixer.ts src/libRs.d.ts", "build:docs": "ts-node scripts/build-metrics-docs.ts > docs/metrics.md && mdbook build", "dev:web": "vite dev", "build": "scripts/build-app.sh", "clean:web": "rimraf public/", "clean:app": "tsc --build tsconfig.json --clean", "clean:app:rs": "rimraf src/libRs.d.ts target/", "clean:docs": "mdbook clean", "clean": "scripts/clean.sh", "prepare": "yarn build", "start": "node --require source-map-support/register lib/App/BridgeApp.js", "start:app": "node --require source-map-support/register lib/App/BridgeApp.js", "start:webhooks": "node --require source-map-support/register lib/App/GithubWebhookApp.js", "start:matrixsender": "node --require source-map-support/register lib/App/MatrixSenderApp.js", "start:resetcrypto": "node --require source-map-support/register lib/App/ResetCryptoStore.js", "test": "mocha -r ts-node/register tests/init.ts tests/*.ts tests/**/*.ts", "test:e2e": "yarn node --experimental-vm-modules $(yarn bin jest)", "test:cover": "nyc --reporter=lcov --reporter=text yarn test", "lint": "yarn run lint:js && yarn run lint:rs", "lint:js": "eslint -c .eslintrc.js 'src/**/*.ts' 'tests/**/*.ts' 'web/**/*.ts' 'web/**/*.tsx'", "lint:rs": "cargo fmt --all -- --check && cargo clippy -- -Dwarnings", "lint:rs:apply": "cargo clippy --fix && cargo fmt --all", "generate-default-config": "ts-node src/config/Defaults.ts --config > config.sample.yml", "validate-config": "ts-node src/config/Config.ts" }, "dependencies": { "@alloc/quick-lru": "^5.2.0", "@octokit/auth-app": "^6.0.2", "@octokit/auth-token": "^4.0.0", "@octokit/rest": "^20.0.2", "@octokit/webhooks": "^12.0.10", "@sentry/node": "^7.52.1", "@vector-im/compound-design-tokens": "^0.1.0", "@vector-im/compound-web": "^0.9.4", "ajv": "^8.11.0", "axios": "^1.6.3", "cors": "^2.8.5", "express": "^4.18.2", "figma-js": "^1.14.0", "helmet": "^7.1.0", "http-status-codes": "^2.2.0", "ioredis": "^5.2.3", "jira-client": "^8.2.2", "markdown-it": "^14.0.0", "matrix-appservice-bridge": "^9.0.1", "matrix-bot-sdk": "npm:@vector-im/matrix-bot-sdk@^0.7.0-specific-device-2", "matrix-widget-api": "^1.6.0", "micromatch": "^4.0.5", "mime": "^4.0.1", "node-emoji": "^2.1.3", "p-queue": "^6.6.2", "preact-render-to-string": "^6.3.1", "prom-client": "^15.1.0", "quickjs-emscripten": "^0.26.0", "reflect-metadata": "^0.2.1", "source-map-support": "^0.5.21", "string-argv": "^0.3.1", "tiny-typed-emitter": "^2.1.0", "vite-plugin-magical-svg": "^1.1.1", "winston": "^3.11.0", "xml2js": "^0.6.2", "yaml": "^2.3.4" }, "devDependencies": { "@codemirror/lang-javascript": "^6.0.2", "@napi-rs/cli": "^2.13.2", "@preact/preset-vite": "^2.2.0", "@rollup/plugin-alias": "^5.1.0", "@tsconfig/node18": "^18.2.2", "@types/ajv": "^1.0.0", "@types/chai": "^4.2.22", "@types/cors": "^2.8.12", "@types/express": "^4.17.14", "@types/jest": "^29.5.11", "@types/jira-client": "^7.1.0", "@types/markdown-it": "^13.0.7", "@types/micromatch": "^4.0.1", "@types/mime": "^3.0.4", "@types/mocha": "^10.0.6", "@types/node": "20.10.6", "@types/xml2js": "^0.4.11", "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", "@uiw/react-codemirror": "^4.12.3", "chai": "^4.3.4", "eslint": "^8.49.0", "eslint-config-preact": "^1.3.0", "eslint-plugin-mocha": "^10.1.0", "homerunner-client": "^1.0.0", "jest": "^29.7.0", "mini.css": "^3.0.1", "mocha": "^10.2.0", "nyc": "^15.1.0", "preact": "^10.5.15", "rimraf": "^5.0.5", "sass": "^1.69.6", "ts-jest": "^29.1.1", "ts-node": "^10.9.1", "typescript": "^5.3.3", "vite": "^5.0.13" } }