{
    "name": "@jupyterlite/cockle",
    "version": "1.6.0",
    "description": "In browser bash-like shell",
    "homepage": "https://github.com/jupyterlite/cockle",
    "license": "BSD-3-Clause",
    "author": "Ian Thomas",
    "repository": {
        "type": "git",
        "url": "git+https://github.com/jupyterlite/cockle.git"
    },
    "bugs": {
        "url": "https://github.com/jupyterlite/cockle/issues"
    },
    "files": [
        "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,wasm,woff2,ttf}",
        "src/**/*.ts",
        "src/**/*.d.ts",
        "cockle-config-base.json"
    ],
    "main": "lib/index.js",
    "types": "lib/index.d.ts",
    "sideEffects": false,
    "scripts": {
        "build": "tsc && npm run build:copy-dts",
        "build:copy-dts": "copyfiles -u 1 \"src/**/*.d.ts\" lib",
        "eslint": "npm run eslint:check -- --fix",
        "eslint:check": "eslint . --cache --ext .ts,.tsx",
        "lint": "npm run prettier && npm run eslint",
        "lint:check": "npm run prettier:check && npm run eslint:check",
        "prebuild": "node -p \"'export const COCKLE_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
        "prepack": "npm install && npm run build",
        "prettier": "prettier --list-different --write \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md,.yml}\"",
        "prettier:check": "prettier --list-different \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md,.yml}\""
    },
    "dependencies": {
        "@lumino/coreutils": "^2.2.0",
        "@lumino/disposable": "^2.1.3",
        "@lumino/signaling": "^2.1.3",
        "comlink": "^4.4.2",
        "deepmerge-ts": "^7.1.4",
        "rimraf": "^6.0.1",
        "zod": "^3.23.8"
    },
    "devDependencies": {
        "@types/json-schema": "^7.0.15",
        "@types/node": "^20.14.12",
        "@types/react": "^18.2.79",
        "@typescript-eslint/eslint-plugin": "^7.16.1",
        "@typescript-eslint/parser": "^7.16.1",
        "copyfiles": "^2.4.1",
        "eslint": "^8.56.0",
        "eslint-config-prettier": "^9.1.0",
        "eslint-plugin-prettier": "^5.5.6",
        "eslint-plugin-sort": "^4.0.0",
        "prettier": "^3.8.3",
        "source-map-loader": "^5.0.0",
        "ts-loader": "^9.6.0",
        "typescript": "~5.5.4"
    },
    "eslintIgnore": [
        "node_modules",
        "dist",
        "coverage",
        "**/*.d.ts",
        "**/*.wasm",
        "**/package-lock.json",
        "src/version.ts"
    ],
    "eslintConfig": {
        "extends": [
            "eslint:recommended",
            "plugin:@typescript-eslint/eslint-recommended",
            "plugin:@typescript-eslint/recommended",
            "plugin:prettier/recommended"
        ],
        "parser": "@typescript-eslint/parser",
        "parserOptions": {
            "sourceType": "module"
        },
        "plugins": [
            "@typescript-eslint",
            "eslint-plugin-sort"
        ],
        "rules": {
            "@typescript-eslint/consistent-type-imports": [
                "error",
                {
                    "prefer": "type-imports",
                    "fixStyle": "separate-type-imports"
                }
            ],
            "@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",
            "sort/imports": [
                "warn",
                {
                    "caseSensitive": false,
                    "groups": [
                        {
                            "regex": "^@",
                            "order": 0
                        },
                        {
                            "regex": "^\\./",
                            "order": 20
                        },
                        {
                            "regex": "^\\.\\./",
                            "order": 30
                        },
                        {
                            "type": "other",
                            "order": 10
                        }
                    ],
                    "typeOrder": "first"
                }
            ],
            "sort/import-members": [
                "error",
                {
                    "caseSensitive": false
                }
            ]
        }
    },
    "prettier": {
        "printWidth": 100,
        "singleQuote": true,
        "trailingComma": "none",
        "arrowParens": "avoid",
        "endOfLine": "auto",
        "overrides": [
            {
                "files": "package.json",
                "options": {
                    "tabWidth": 4
                }
            }
        ]
    },
    "publishConfig": {
        "access": "public"
    }
}
