{
    "name": "xtralab",
    "version": "0.13.1",
    "description": "An opinionated JupyterLab meta-package that bundles a curated set of extensions, ships a path-first file browser, renders jupyterlab-git's text, notebook and image diffs with its own viewers, and applies a quieter default workspace configuration.",
    "keywords": [
        "jupyter",
        "jupyterlab",
        "jupyterlab-extension",
        "meta-package",
        "file-browser",
        "git",
        "diff"
    ],
    "homepage": "https://github.com/jtpio/xtralab",
    "bugs": {
        "url": "https://github.com/jtpio/xtralab/issues"
    },
    "license": "BSD-3-Clause",
    "author": "Jeremy Tuloup",
    "files": [
        "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
        "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
        "src/**/*.{ts,tsx}",
        "schema/*.json"
    ],
    "main": "lib/index.js",
    "types": "lib/index.d.ts",
    "style": "style/index.css",
    "repository": {
        "type": "git",
        "url": "https://github.com/jtpio/xtralab.git"
    },
    "packageManager": "pnpm@10.28.0",
    "scripts": {
        "build": "pnpm build:lib && pnpm build:labextension:dev",
        "build:prod": "pnpm clean && pnpm build:lib:prod && pnpm build:labextension",
        "build:labextension": "jupyter-builder build .",
        "build:labextension:dev": "jupyter-builder build --development True .",
        "build:lib": "tsc --sourceMap",
        "build:lib:prod": "tsc",
        "clean": "pnpm clean:lib",
        "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
        "clean:lintcache": "rimraf .eslintcache .stylelintcache",
        "clean:labextension": "rimraf xtralab/labextension xtralab/_version.py",
        "clean:all": "pnpm clean:lib && pnpm clean:labextension && pnpm clean:lintcache",
        "eslint": "pnpm eslint:check --fix",
        "eslint:check": "eslint . --cache --ext .ts,.tsx",
        "install:extension": "pnpm build",
        "lint": "pnpm stylelint && pnpm prettier && pnpm eslint",
        "lint:check": "pnpm stylelint:check && pnpm prettier:check && pnpm eslint:check",
        "prettier": "pnpm prettier:base --write --list-different",
        "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
        "prettier:check": "pnpm prettier:base --check",
        "stylelint": "pnpm stylelint:check --fix",
        "stylelint:check": "stylelint --cache \"style/**/*.css\"",
        "watch": "run-p watch:src watch:labextension",
        "watch:src": "tsc -w --sourceMap",
        "watch:labextension": "jupyter-builder watch ."
    },
    "dependencies": {
        "@codemirror/language": "^6.12.3",
        "@codemirror/state": "^6.7.0",
        "@codemirror/view": "^6.43.2",
        "@jupyterlab/application": "^4.6.0",
        "@jupyterlab/apputils": "^4.7.0",
        "@jupyterlab/codemirror": "^4.6.0",
        "@jupyterlab/coreutils": "^6.6.0",
        "@jupyterlab/docmanager": "^4.6.0",
        "@jupyterlab/docregistry": "^4.6.0",
        "@jupyterlab/fileeditor": "^4.6.0",
        "@jupyterlab/git": "^0.54.0",
        "@jupyterlab/mainmenu": "^4.6.0",
        "@jupyterlab/nbformat": "^4.6.0",
        "@jupyterlab/notebook": "^4.6.0",
        "@jupyterlab/outputarea": "^4.6.0",
        "@jupyterlab/rendermime": "^4.6.0",
        "@jupyterlab/services": "^7.6.0",
        "@jupyterlab/settingregistry": "^4.6.0",
        "@jupyterlab/statedb": "^4.6.0",
        "@jupyterlab/terminal": "^4.6.0",
        "@jupyterlab/translation": "^4.6.0",
        "@jupyterlab/ui-components": "^4.6.0",
        "@lumino/algorithm": "^2.0.4",
        "@lumino/commands": "^2.3.3",
        "@lumino/coreutils": "^2.2.2",
        "@lumino/disposable": "^2.1.5",
        "@lumino/dragdrop": "^2.1.8",
        "@lumino/messaging": "^2.0.4",
        "@lumino/polling": "^2.1.5",
        "@lumino/signaling": "^2.1.5",
        "@lumino/widgets": "^2.8.0",
        "@pierre/diffs": "^1.2.11",
        "@pierre/trees": "1.0.0-beta.4",
        "detect-indent": "^7.0.2",
        "ignore": "^5.3.2",
        "react": "^18.3.1"
    },
    "devDependencies": {
        "@jupyter/builder": "^1.0.2",
        "@types/react": "^18.3.31",
        "@typescript-eslint/eslint-plugin": "^6.21.0",
        "@typescript-eslint/parser": "^6.21.0",
        "eslint": "^8.57.1",
        "eslint-config-prettier": "^8.10.2",
        "eslint-plugin-prettier": "^5.5.6",
        "npm-run-all2": "^7.0.2",
        "prettier": "^3.8.4",
        "rimraf": "^5.0.10",
        "stylelint": "^15.11.0",
        "stylelint-config-recommended": "^13.0.0",
        "stylelint-config-standard": "^34.0.0",
        "stylelint-csstree-validator": "^3.1.0",
        "stylelint-prettier": "^4.1.0",
        "typescript": "~5.5.4",
        "yjs": "^13.6.31"
    },
    "pnpm": {
        "ignoredBuiltDependencies": [
            "@fortawesome/fontawesome-free"
        ]
    },
    "sideEffects": [
        "style/*.css",
        "style/index.js"
    ],
    "styleModule": "style/index.js",
    "publishConfig": {
        "access": "public"
    },
    "jupyterlab": {
        "extension": true,
        "outputDir": "xtralab/labextension",
        "schemaDir": "schema",
        "sharedPackages": {
            "@jupyterlab/git": {
                "bundled": false,
                "singleton": true
            }
        },
        "disabledExtensions": [
            "@jupyterlab/git:notebook-diff",
            "@jupyterlab/git:plain-text-diff",
            "@jupyterlab/git:image-diff",
            "@jupyterlab/launcher-extension"
        ]
    },
    "eslintIgnore": [
        "node_modules",
        "dist",
        "coverage",
        "**/*.d.ts",
        "docs",
        "ui-tests",
        "desktop/out",
        "desktop/dist",
        "desktop/python/wheels",
        "desktop/python/runtime",
        "desktop/python/runtime.staging"
    ],
    "eslintConfig": {
        "extends": [
            "eslint:recommended",
            "plugin:@typescript-eslint/eslint-recommended",
            "plugin:@typescript-eslint/recommended",
            "plugin:prettier/recommended"
        ],
        "parser": "@typescript-eslint/parser",
        "parserOptions": {
            "project": [
                "tsconfig.json",
                "desktop/tsconfig.json",
                "desktop/tsconfig.forge.json"
            ],
            "sourceType": "module"
        },
        "plugins": [
            "@typescript-eslint"
        ],
        "overrides": [
            {
                "files": [
                    "desktop/src/**/*.ts"
                ],
                "rules": {
                    "@typescript-eslint/naming-convention": "off"
                }
            }
        ],
        "rules": {
            "@typescript-eslint/naming-convention": [
                "error",
                {
                    "selector": "interface",
                    "format": [
                        "PascalCase"
                    ],
                    "custom": {
                        "regex": "^I[A-Z]",
                        "match": true
                    }
                }
            ],
            "@typescript-eslint/no-unused-vars": [
                "warn",
                {
                    "args": "none"
                }
            ],
            "@typescript-eslint/no-explicit-any": "off",
            "@typescript-eslint/no-namespace": "off",
            "@typescript-eslint/no-use-before-define": "off",
            "@typescript-eslint/quotes": [
                "error",
                "single",
                {
                    "avoidEscape": true,
                    "allowTemplateLiterals": false
                }
            ],
            "curly": [
                "error",
                "all"
            ],
            "eqeqeq": "error",
            "prefer-arrow-callback": "error"
        }
    },
    "prettier": {
        "singleQuote": true,
        "trailingComma": "none",
        "arrowParens": "avoid",
        "endOfLine": "auto",
        "overrides": [
            {
                "files": "package.json",
                "options": {
                    "tabWidth": 4
                }
            }
        ]
    },
    "stylelint": {
        "extends": [
            "stylelint-config-recommended",
            "stylelint-config-standard",
            "stylelint-prettier/recommended"
        ],
        "plugins": [
            "stylelint-csstree-validator"
        ],
        "rules": {
            "csstree/validator": true,
            "property-no-vendor-prefix": null,
            "selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
            "selector-no-vendor-prefix": null,
            "value-no-vendor-prefix": null
        }
    }
}
