{
    "name": "matrix-js-sdk",
    "version": "24.1.0",
    "description": "Matrix Client-Server SDK for Javascript",
    "engines": {
        "node": ">=16.0.0"
    },
    "scripts": {
        "prepublishOnly": "yarn build",
        "start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && babel src -w -s -d lib --verbose --extensions \".ts,.js\"",
        "dist": "echo 'This is for the release script so it can make assets (browser bundle).' && yarn build",
        "clean": "rimraf lib dist",
        "build": "yarn build:dev && yarn build:compile-browser && yarn build:minify-browser",
        "build:dev": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:types",
        "build:types": "tsc -p tsconfig-build.json --emitDeclarationOnly",
        "build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src",
        "build:compile-browser": "mkdir dist && BROWSERIFYSWAP_ENV='no-rust-crypto' browserify -d src/browser-index.ts -p [ tsify -p ./tsconfig-build.json ] | exorcist dist/browser-matrix.js.map > dist/browser-matrix.js",
        "build:minify-browser": "terser dist/browser-matrix.js --compress --mangle --source-map --output dist/browser-matrix.min.js",
        "gendoc": "typedoc",
        "lint": "yarn lint:types && yarn lint:js",
        "lint:js": "eslint --max-warnings 0 src spec && prettier --check .",
        "lint:js-fix": "prettier --loglevel=warn --write . && eslint --fix src spec",
        "lint:types": "tsc --noEmit",
        "test": "jest",
        "test:watch": "jest --watch",
        "coverage": "yarn test --coverage"
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/matrix-org/matrix-js-sdk"
    },
    "keywords": [
        "matrix-org"
    ],
    "main": "./lib/index.js",
    "browser": "./lib/browser-index.js",
    "matrix_src_main": "./src/index.ts",
    "matrix_src_browser": "./src/browser-index.ts",
    "matrix_lib_main": "./lib/index.js",
    "matrix_lib_browser": "./lib/browser-index.js",
    "matrix_lib_typings": "./lib/index.d.ts",
    "author": "matrix.org",
    "license": "Apache-2.0",
    "files": [
        "dist",
        "lib",
        "src",
        "git-revision.txt",
        "CHANGELOG.md",
        "CONTRIBUTING.rst",
        "LICENSE",
        "README.md",
        "package.json",
        "release.sh"
    ],
    "dependencies": {
        "@babel/runtime": "^7.12.5",
        "@matrix-org/matrix-sdk-crypto-js": "^0.1.0-alpha.5",
        "another-json": "^0.2.0",
        "bs58": "^5.0.0",
        "content-type": "^1.0.4",
        "loglevel": "^1.7.1",
        "matrix-events-sdk": "0.0.1",
        "matrix-widget-api": "^1.3.1",
        "p-retry": "4",
        "sdp-transform": "^2.14.1",
        "unhomoglyph": "^1.0.6",
        "uuid": "9"
    },
    "devDependencies": {
        "@babel/cli": "^7.12.10",
        "@babel/core": "^7.12.10",
        "@babel/eslint-parser": "^7.12.10",
        "@babel/eslint-plugin": "^7.12.10",
        "@babel/plugin-proposal-class-properties": "^7.12.1",
        "@babel/plugin-proposal-numeric-separator": "^7.12.7",
        "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
        "@babel/plugin-transform-runtime": "^7.12.10",
        "@babel/preset-env": "^7.12.11",
        "@babel/preset-typescript": "^7.12.7",
        "@babel/register": "^7.12.10",
        "@casualbot/jest-sonar-reporter": "^2.2.5",
        "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz",
        "@types/bs58": "^4.0.1",
        "@types/content-type": "^1.1.5",
        "@types/debug": "^4.1.7",
        "@types/domexception": "^4.0.0",
        "@types/jest": "^29.0.0",
        "@types/node": "18",
        "@types/sdp-transform": "^2.4.5",
        "@types/uuid": "9",
        "@typescript-eslint/eslint-plugin": "^5.45.0",
        "@typescript-eslint/parser": "^5.45.0",
        "allchange": "^1.0.6",
        "babel-jest": "^29.0.0",
        "babelify": "^10.0.0",
        "better-docs": "^2.4.0-beta.9",
        "browserify": "^17.0.0",
        "browserify-swap": "^0.2.2",
        "debug": "^4.3.4",
        "docdash": "^2.0.0",
        "domexception": "^4.0.0",
        "eslint": "8.35.0",
        "eslint-config-google": "^0.14.0",
        "eslint-config-prettier": "^8.5.0",
        "eslint-import-resolver-typescript": "^3.5.1",
        "eslint-plugin-import": "^2.26.0",
        "eslint-plugin-jest": "^27.1.6",
        "eslint-plugin-jsdoc": "^40.0.0",
        "eslint-plugin-matrix-org": "^1.0.0",
        "eslint-plugin-tsdoc": "^0.2.17",
        "eslint-plugin-unicorn": "^46.0.0",
        "exorcist": "^2.0.0",
        "fake-indexeddb": "^4.0.0",
        "fetch-mock-jest": "^1.5.1",
        "jest": "^29.0.0",
        "jest-environment-jsdom": "^29.0.0",
        "jest-localstorage-mock": "^2.4.6",
        "jest-mock": "^29.0.0",
        "matrix-mock-request": "^2.5.0",
        "prettier": "2.8.4",
        "rimraf": "^4.0.0",
        "terser": "^5.5.1",
        "tsify": "^5.0.2",
        "typedoc": "^0.23.20",
        "typedoc-plugin-missing-exports": "^1.0.0",
        "typescript": "^4.5.3"
    },
    "jest": {
        "testEnvironment": "node",
        "testMatch": [
            "<rootDir>/spec/**/*.spec.{js,ts}"
        ],
        "setupFilesAfterEnv": [
            "<rootDir>/spec/setupTests.ts"
        ],
        "collectCoverageFrom": [
            "<rootDir>/src/**/*.{js,ts}"
        ],
        "coverageReporters": [
            "text-summary",
            "lcov"
        ],
        "testResultsProcessor": "@casualbot/jest-sonar-reporter"
    },
    "@casualbot/jest-sonar-reporter": {
        "outputDirectory": "coverage",
        "outputName": "jest-sonar-report.xml",
        "relativePaths": true
    },
    "browserify": {
        "transform": [
            "browserify-swap",
            [
                "babelify",
                {
                    "sourceMaps": "inline",
                    "presets": [
                        "@babel/preset-env",
                        "@babel/preset-typescript"
                    ]
                }
            ]
        ]
    },
    "browserify-swap": {
        "no-rust-crypto": {
            "src/rust-crypto/index.ts$": "./src/rust-crypto/browserify-index.ts"
        }
    },
    "typings": "./lib/index.d.ts"
}