mjolnir/package.json

49 lines
1.7 KiB
JSON
Raw Permalink Normal View History

2019-09-25 22:13:20 -04:00
{
"name": "mjolnir",
2022-03-21 10:28:21 -04:00
"version": "1.4.1",
2019-09-25 22:13:20 -04:00
"description": "A moderation tool for Matrix",
"main": "lib/index.js",
"repository": "git@github.com:matrix-org/mjolnir.git",
"author": "The Matrix.org Foundation C.I.C.",
"license": "Apache-2.0",
"private": true,
"scripts": {
"build": "tsc",
"postbuild": "rm -rf lib/test/ && cp -r lib/src/* lib/ && rm -rf lib/src/",
"lint": "tslint --project ./tsconfig.json -t stylish",
"start:dev": "yarn build && node --async-stack-traces lib/index.js",
"test": "ts-mocha --project ./tsconfig.json test/commands/**/*.ts",
"test:integration": "NODE_ENV=harness ts-mocha --async-stack-traces --require test/integration/fixtures.ts --project ./tsconfig.json \"test/integration/**/*Test.ts\"",
"test:manual": "NODE_ENV=harness ts-node test/integration/manualLaunchScript.ts",
"version": "sed -i '/# version automated/s/[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*/'$npm_package_version'/' synapse_antispam/setup.py && git add synapse_antispam/setup.py && cat synapse_antispam/setup.py"
2019-09-25 22:13:20 -04:00
},
"devDependencies": {
2022-02-02 07:43:05 -05:00
"@types/config": "0.0.41",
"@types/crypto-js": "^4.0.2",
2022-02-02 07:43:05 -05:00
"@types/html-to-text": "^8.0.1",
"@types/jsdom": "^16.2.11",
"@types/mocha": "^9.0.0",
"@types/node": "^16.7.10",
"crypto-js": "^4.1.1",
"eslint": "^7.32",
2021-07-01 15:45:28 -04:00
"expect": "^27.0.6",
"mocha": "^9.0.1",
"ts-mocha": "^8.0.0",
"tslint": "^6.1.3",
"typescript": "^4.3.5",
"typescript-formatter": "^7.2"
2019-09-25 22:13:20 -04:00
},
"dependencies": {
2021-07-01 15:45:28 -04:00
"config": "^3.3.6",
"express": "^4.17",
"html-to-text": "^8.0.0",
2021-07-01 15:45:28 -04:00
"js-yaml": "^4.1.0",
"jsdom": "^16.6.0",
"matrix-bot-sdk": "^0.5.19",
Revert "New command `!mjolnir since <date or duration> <kick | ban | show> <limit> [reason] [...rooms]` (#238)" This reverts commit e05616b327380b2d1058ee7795b338fc3185b71a. We are reverting the since command for multiple reasons. 1. The roomMemberTest that this commit brings has an `it` block ("RoomMemberManager counts correctly when we actually join/leave/get banned from the room") that now fails in an infinite loop and we struggle to understand how it ever passed. > essentially they assert that Mjolnir is in the room here https://github.com/matrix-org/mjolnir/blob/main/test/integration/roomMembersTest.ts#L303 Which is great, but they've never joined it or have been invited. https://github.com/matrix-org/mjolnir/blob/main/test/integration/roomMembersTest.ts#L302 but then we also assert that there's only one person in the room, but this can't be Mjolnir because Mjolnir didn't create these rooms https://github.com/matrix-org/mjolnir/blob/main/test/integration/roomMembersTest.ts#L273, yet they're checking that Mjolnir is indeed there. The loop in question is also over complicated and hard to read https://github.com/matrix-org/mjolnir/pull/225/files#diff-67e09dce96f975b2df641d3c600f60f48aeeb9e54a472b612bce90535b4aa0e4R285-R295 Should have been written like this. ``` while(!roomIds.each(roomId => this.mjolnir.protectedRooms[roomId])) { await new Promise(resolve => setTimeout(resolve, 1_000)); } ``` 2. The RoomMemberManager is broken even after fixing the test (fixing so that it fails "normally" without getting caught in the loop by changing the setup code) and we have decided is not worth fixing yet. This is because it is complex & the manager only knows about joins that have happened since Mjolnir has started syncing, this has proven un-initiative to Mjolnir users already. Possible solutions are using the planned the full rolling room member/state cache (https://github.com/matrix-org/mjolnir/issues/273) or using `/messages` with a filter for member events for the `!since` command, since `/messages` is "chronologically" ordered.
2022-04-29 07:10:09 -04:00
"parse-duration": "^1.0.2"
},
"engines": {
"node": ">=14.0.0"
2019-09-25 22:13:20 -04:00
}
}