{ "private": true, "scripts": { "build:css:dev": "sass ./resources/sass:./public/dist --embed-sources", "build:css:watch": "sass ./resources/sass:./public/dist --watch --embed-sources", "build:css:production": "sass ./resources/sass:./public/dist -s compressed", "build:js:dev": "node dev/build/esbuild.js", "build:js:watch": "chokidar --initial \"./resources/**/*.js\" \"./resources/**/*.mjs\" \"./resources/**/*.ts\" -c \"npm run build:js:dev\"", "build:js:production": "node dev/build/esbuild.js production", "build": "npm-run-all --parallel build:*:dev", "production": "npm-run-all --parallel build:*:production", "dev": "npm-run-all --parallel watch livereload", "watch": "npm-run-all --parallel build:*:watch", "livereload": "livereload ./public/dist/", "permissions": "chown -R $USER:$USER bootstrap/cache storage public/uploads", "lint": "eslint \"resources/**/*.js\" \"resources/**/*.mjs\"", "fix": "eslint --fix \"resources/**/*.js\" \"resources/**/*.mjs\"", "ts:lint": "tsc --noEmit", "test": "jest" }, "devDependencies": { "@lezer/generator": "^1.5.1", "babel-jest": "^29.7.0", "chokidar-cli": "^3.0", "esbuild": "^0.20", "eslint": "^8.55.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-plugin-import": "^2.29.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "livereload": "^0.9.3", "npm-run-all": "^4.1.5", "sass": "^1.69.5", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "typescript": "^5.4.5" }, "dependencies": { "@codemirror/commands": "^6.3.2", "@codemirror/lang-css": "^6.2.1", "@codemirror/lang-html": "^6.4.7", "@codemirror/lang-javascript": "^6.2.1", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-markdown": "^6.2.3", "@codemirror/lang-php": "^6.0.1", "@codemirror/lang-xml": "^6.0.2", "@codemirror/language": "^6.9.3", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/state": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", "@codemirror/view": "^6.22.2", "@lezer/highlight": "^1.2.0", "@ssddanbrown/codemirror-lang-smarty": "^1.0.0", "@ssddanbrown/codemirror-lang-twig": "^1.0.0", "@types/jest": "^29.5.13", "codemirror": "^6.0.1", "idb-keyval": "^6.2.1", "markdown-it": "^14.1.0", "markdown-it-task-lists": "^2.1.1", "snabbdom": "^3.5.1", "sortablejs": "^1.15.1" }, "eslintConfig": { "root": true, "env": { "browser": true, "es2021": true }, "extends": "airbnb-base", "ignorePatterns": [ "resources/**/*-stub.js", "resources/**/*.ts" ], "overrides": [], "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, "rules": { "indent": [ "error", 4 ], "arrow-parens": [ "error", "as-needed" ], "padded-blocks": [ "error", { "blocks": "never", "classes": "always" } ], "object-curly-spacing": [ "error", "never" ], "space-before-function-paren": [ "error", { "anonymous": "never", "named": "never", "asyncArrow": "always" } ], "import/prefer-default-export": "off", "no-plusplus": [ "error", { "allowForLoopAfterthoughts": true } ], "arrow-body-style": "off", "no-restricted-syntax": "off", "no-continue": "off", "prefer-destructuring": "off", "class-methods-use-this": "off", "no-param-reassign": "off", "no-console": [ "warn", { "allow": [ "error", "warn" ] } ], "no-new": "off", "max-len": [ "error", { "code": 110, "tabWidth": 4, "ignoreUrls": true, "ignoreComments": false, "ignoreRegExpLiterals": true, "ignoreStrings": true, "ignoreTemplateLiterals": true } ] } } }