]> BookStack Code Mirror - bookstack/blob - package.json
Lexical: Switched to ts for new editor build
[bookstack] / package.json
1 {
2   "private": true,
3   "scripts": {
4     "build:css:dev": "sass ./resources/sass:./public/dist --embed-sources",
5     "build:css:watch": "sass ./resources/sass:./public/dist --watch --embed-sources",
6     "build:css:production": "sass ./resources/sass:./public/dist -s compressed",
7     "build:js:dev": "node dev/build/esbuild.js",
8     "build:js:watch": "chokidar --initial \"./resources/**/*.js\" \"./resources/**/*.mjs\" -c \"npm run build:js:dev\"",
9     "build:js:production": "node dev/build/esbuild.js production",
10     "build": "npm-run-all --parallel build:*:dev",
11     "production": "npm-run-all --parallel build:*:production",
12     "dev": "npm-run-all --parallel watch livereload",
13     "watch": "npm-run-all --parallel build:*:watch",
14     "livereload": "livereload ./public/dist/",
15     "permissions": "chown -R $USER:$USER bootstrap/cache storage public/uploads",
16     "lint": "eslint \"resources/**/*.js\" \"resources/**/*.mjs\"",
17     "fix": "eslint --fix \"resources/**/*.js\" \"resources/**/*.mjs\""
18   },
19   "devDependencies": {
20     "@lezer/generator": "^1.5.1",
21     "chokidar-cli": "^3.0",
22     "esbuild": "^0.20",
23     "eslint": "^8.55.0",
24     "eslint-config-airbnb-base": "^15.0.0",
25     "eslint-plugin-import": "^2.29.0",
26     "livereload": "^0.9.3",
27     "npm-run-all": "^4.1.5",
28     "sass": "^1.69.5",
29     "typescript": "^5.4.5"
30   },
31   "dependencies": {
32     "@codemirror/commands": "^6.3.2",
33     "@codemirror/lang-css": "^6.2.1",
34     "@codemirror/lang-html": "^6.4.7",
35     "@codemirror/lang-javascript": "^6.2.1",
36     "@codemirror/lang-json": "^6.0.1",
37     "@codemirror/lang-markdown": "^6.2.3",
38     "@codemirror/lang-php": "^6.0.1",
39     "@codemirror/lang-xml": "^6.0.2",
40     "@codemirror/language": "^6.9.3",
41     "@codemirror/legacy-modes": "^6.3.3",
42     "@codemirror/state": "^6.3.3",
43     "@codemirror/theme-one-dark": "^6.1.2",
44     "@codemirror/view": "^6.22.2",
45     "@lexical/history": "^0.15.0",
46     "@lexical/html": "^0.15.0",
47     "@lexical/rich-text": "^0.15.0",
48     "@lexical/selection": "^0.15.0",
49     "@lexical/utils": "^0.15.0",
50     "@lezer/highlight": "^1.2.0",
51     "@ssddanbrown/codemirror-lang-smarty": "^1.0.0",
52     "@ssddanbrown/codemirror-lang-twig": "^1.0.0",
53     "codemirror": "^6.0.1",
54     "idb-keyval": "^6.2.1",
55     "lexical": "^0.15.0",
56     "markdown-it": "^14.1.0",
57     "markdown-it-task-lists": "^2.1.1",
58     "snabbdom": "^3.5.1",
59     "sortablejs": "^1.15.1"
60   },
61   "eslintConfig": {
62     "root": true,
63     "env": {
64       "browser": true,
65       "es2021": true
66     },
67     "extends": "airbnb-base",
68     "ignorePatterns": [
69       "resources/**/*-stub.js",
70       "resources/**/*.ts"
71     ],
72     "overrides": [],
73     "parserOptions": {
74       "ecmaVersion": "latest",
75       "sourceType": "module"
76     },
77     "rules": {
78       "indent": [
79         "error",
80         4
81       ],
82       "arrow-parens": [
83         "error",
84         "as-needed"
85       ],
86       "padded-blocks": [
87         "error",
88         {
89           "blocks": "never",
90           "classes": "always"
91         }
92       ],
93       "object-curly-spacing": [
94         "error",
95         "never"
96       ],
97       "space-before-function-paren": [
98         "error",
99         {
100           "anonymous": "never",
101           "named": "never",
102           "asyncArrow": "always"
103         }
104       ],
105       "import/prefer-default-export": "off",
106       "no-plusplus": [
107         "error",
108         {
109           "allowForLoopAfterthoughts": true
110         }
111       ],
112       "arrow-body-style": "off",
113       "no-restricted-syntax": "off",
114       "no-continue": "off",
115       "prefer-destructuring": "off",
116       "class-methods-use-this": "off",
117       "no-param-reassign": "off",
118       "no-console": [
119         "warn",
120         {
121           "allow": [
122             "error",
123             "warn"
124           ]
125         }
126       ],
127       "no-new": "off",
128       "max-len": [
129         "error",
130         {
131           "code": 110,
132           "tabWidth": 4,
133           "ignoreUrls": true,
134           "ignoreComments": false,
135           "ignoreRegExpLiterals": true,
136           "ignoreStrings": true,
137           "ignoreTemplateLiterals": true
138         }
139       ]
140     }
141   }
142 }