1{ 2 "private": true, 3 "scripts": { 4 "check-dependencies": "scripts/frontend/check_dependencies.sh", 5 "block-dependencies": "node scripts/frontend/block_dependencies.js", 6 "check:startup_css": "scripts/frontend/startup_css/startup_css_changed.sh", 7 "clean": "rm -rf public/assets tmp/cache/*-loader", 8 "dev-server": "NODE_OPTIONS=\"--max-old-space-size=3584\" node scripts/frontend/webpack_dev_server.js", 9 "file-coverage": "scripts/frontend/file_test_coverage.js", 10 "lint-docs": "scripts/lint-doc.sh", 11 "internal:eslint": "eslint --cache --max-warnings 0 --report-unused-disable-directives --ext .js,.vue,.graphql", 12 "internal:stylelint": "stylelint -q '{ee/,}app/assets/stylesheets/**/*.{css,scss}'", 13 "prejest": "yarn check-dependencies", 14 "jest": "jest --config jest.config.js", 15 "jest-debug": "node --inspect-brk node_modules/.bin/jest --runInBand", 16 "jest:ci": "jest --config jest.config.js --ci --coverage --testSequencer ./scripts/frontend/parallel_ci_sequencer.js", 17 "jest:ci:minimal": "jest --config jest.config.js --ci --coverage --findRelatedTests $(cat tmp/changed_files.txt) --passWithNoTests --testSequencer ./scripts/frontend/parallel_ci_sequencer.js", 18 "jest:integration": "jest --config jest.config.integration.js", 19 "jsdoc": "jsdoc -c config/jsdocs.config.js", 20 "lint:eslint": "yarn run internal:eslint", 21 "lint:eslint:fix": "yarn run internal:eslint --fix", 22 "lint:eslint:all": "yarn run internal:eslint .", 23 "lint:eslint:all:fix": "yarn run lint:eslint:all --fix", 24 "lint:eslint:report": "yarn run internal:eslint --format html --output-file ./eslint-report.html --no-inline-config .", 25 "lint:eslint:staged": "scripts/frontend/execute-on-staged-files.sh internal:eslint '(js|vue)'", 26 "lint:eslint:staged:fix": "yarn run lint:eslint:staged --fix", 27 "lint:prettier": "yarn run prettier --check '**/*.{graphql,js,vue}'", 28 "lint:prettier:fix": "yarn run prettier --write '**/*.{graphql,js,vue}'", 29 "lint:prettier:staged": "scripts/frontend/execute-on-staged-files.sh prettier '(graphql|js|vue)' --check", 30 "lint:prettier:staged:fix": "scripts/frontend/execute-on-staged-files.sh prettier '(graphql|js|vue)' --write", 31 "lint:stylelint": "stylelint '{ee/,}app/assets/stylesheets/**/*.{css,scss}'", 32 "lint:stylelint:fix": "yarn run lint:stylelint --fix", 33 "lint:stylelint:staged": "scripts/frontend/execute-on-staged-files.sh stylelint '(css|scss)' -q", 34 "lint:stylelint:staged:fix": "yarn run lint:stylelint:staged --fix", 35 "generate:startup_css": "scripts/frontend/startup_css/setup.sh && node scripts/frontend/startup_css/main.js", 36 "generate:startup_css:full": "scripts/frontend/startup_css/setup.sh force && node scripts/frontend/startup_css/main.js", 37 "markdownlint": "markdownlint --config .markdownlint.yml", 38 "markdownlint:no-trailing-spaces": "markdownlint --config doc/.markdownlint/markdownlint-no-trailing-spaces.yml", 39 "markdownlint:no-trailing-spaces:fix": "yarn run markdownlint:no-trailing-spaces --fix", 40 "postinstall": "node ./scripts/frontend/postinstall.js", 41 "storybook:install": "yarn --cwd ./storybook install", 42 "storybook:build": "yarn --cwd ./storybook build", 43 "storybook:start": "./scripts/frontend/start_storybook.sh", 44 "stylelint-create-utility-map": "node scripts/frontend/stylelint/stylelint-utility-map.js", 45 "webpack": "NODE_OPTIONS=\"--max-old-space-size=3584\" webpack --config config/webpack.config.js", 46 "webpack-vendor": "NODE_OPTIONS=\"--max-old-space-size=3584\" webpack --config config/webpack.vendor.config.js", 47 "webpack-prod": "NODE_OPTIONS=\"--max-old-space-size=3584\" NODE_ENV=production webpack --config config/webpack.config.js" 48 }, 49 "dependencies": { 50 "@babel/core": "^7.10.1", 51 "@babel/plugin-proposal-class-properties": "^7.10.1", 52 "@babel/plugin-proposal-json-strings": "^7.10.1", 53 "@babel/plugin-proposal-private-methods": "^7.10.1", 54 "@babel/plugin-syntax-import-meta": "^7.10.1", 55 "@babel/preset-env": "^7.10.1", 56 "@gitlab/at.js": "1.5.7", 57 "@gitlab/favicon-overlay": "2.0.0", 58 "@gitlab/svgs": "2.0.0", 59 "@gitlab/tributejs": "1.0.0", 60 "@gitlab/ui": "32.50.0", 61 "@gitlab/visual-review-tools": "1.6.1", 62 "@rails/actioncable": "6.1.4-1", 63 "@rails/ujs": "6.1.4-1", 64 "@sentry/browser": "5.30.0", 65 "@sourcegraph/code-host-integration": "0.0.60", 66 "@tiptap/core": "^2.0.0-beta.143", 67 "@tiptap/extension-blockquote": "^2.0.0-beta.25", 68 "@tiptap/extension-bold": "^2.0.0-beta.24", 69 "@tiptap/extension-bullet-list": "^2.0.0-beta.23", 70 "@tiptap/extension-code": "^2.0.0-beta.25", 71 "@tiptap/extension-code-block-lowlight": "2.0.0-beta.57", 72 "@tiptap/extension-document": "^2.0.0-beta.15", 73 "@tiptap/extension-dropcursor": "^2.0.0-beta.25", 74 "@tiptap/extension-gapcursor": "^2.0.0-beta.33", 75 "@tiptap/extension-hard-break": "^2.0.0-beta.30", 76 "@tiptap/extension-heading": "^2.0.0-beta.23", 77 "@tiptap/extension-history": "^2.0.0-beta.21", 78 "@tiptap/extension-horizontal-rule": "^2.0.0-beta.30", 79 "@tiptap/extension-image": "^2.0.0-beta.24", 80 "@tiptap/extension-italic": "^2.0.0-beta.24", 81 "@tiptap/extension-link": "^2.0.0-beta.28", 82 "@tiptap/extension-list-item": "^2.0.0-beta.19", 83 "@tiptap/extension-ordered-list": "^2.0.0-beta.24", 84 "@tiptap/extension-paragraph": "^2.0.0-beta.22", 85 "@tiptap/extension-strike": "^2.0.0-beta.26", 86 "@tiptap/extension-subscript": "^2.0.0-beta.9", 87 "@tiptap/extension-superscript": "^2.0.0-beta.9", 88 "@tiptap/extension-table": "^2.0.0-beta.43", 89 "@tiptap/extension-table-cell": "^2.0.0-beta.20", 90 "@tiptap/extension-table-header": "^2.0.0-beta.22", 91 "@tiptap/extension-table-row": "^2.0.0-beta.19", 92 "@tiptap/extension-task-item": "^2.0.0-beta.29", 93 "@tiptap/extension-task-list": "^2.0.0-beta.23", 94 "@tiptap/extension-text": "^2.0.0-beta.15", 95 "@tiptap/vue-2": "^2.0.0-beta.69", 96 "@toast-ui/editor": "^2.5.2", 97 "@toast-ui/vue-editor": "^2.5.2", 98 "apollo-cache-inmemory": "^1.6.6", 99 "apollo-client": "^2.6.10", 100 "apollo-link": "^1.2.14", 101 "apollo-link-batch-http": "^1.2.14", 102 "apollo-link-error": "^1.1.13", 103 "apollo-link-http": "^1.5.17", 104 "apollo-upload-client": "^13.0.0", 105 "autosize": "^5.0.1", 106 "aws-sdk": "^2.637.0", 107 "axios": "^0.24.0", 108 "babel-loader": "^8.2.2", 109 "babel-plugin-lodash": "^3.3.4", 110 "bootstrap": "4.5.3", 111 "cache-loader": "^4.1.0", 112 "canvas-confetti": "^1.4.0", 113 "clipboard": "^1.7.1", 114 "codemirror": "^5.48.4", 115 "codesandbox-api": "0.0.23", 116 "compression-webpack-plugin": "^5.0.2", 117 "copy-webpack-plugin": "^6.4.1", 118 "core-js": "^3.20.0", 119 "cron-validator": "^1.1.1", 120 "cronstrue": "^1.122.0", 121 "cropper": "^2.3.0", 122 "css-loader": "^2.1.1", 123 "d3": "^5.16.0", 124 "d3-sankey": "^0.12.3", 125 "d3-selection": "^1.2.0", 126 "dateformat": "^5.0.1", 127 "deckar01-task_list": "^2.3.1", 128 "diff": "^3.4.0", 129 "dompurify": "^2.3.4", 130 "dropzone": "^4.2.0", 131 "editorconfig": "^0.15.3", 132 "emoji-regex": "^10.0.0", 133 "fast-mersenne-twister": "1.0.2", 134 "file-loader": "^6.2.0", 135 "fuzzaldrin-plus": "^0.6.0", 136 "graphql": "^15.4.0", 137 "graphql-tag": "^2.11.0", 138 "highlight.js": "^11.3.1", 139 "immer": "^7.0.7", 140 "ipaddr.js": "^1.9.1", 141 "jed": "^1.1.1", 142 "jquery": "^3.6.0", 143 "jquery.caret": "^0.3.1", 144 "js-cookie": "^2.2.1", 145 "js-yaml": "^3.13.1", 146 "jszip": "^3.1.3", 147 "jszip-utils": "^0.0.2", 148 "katex": "^0.13.2", 149 "lodash": "^4.17.20", 150 "lowlight": "^1.20.0", 151 "marked": "^0.3.12", 152 "mathjax": "3", 153 "mermaid": "^8.13.4", 154 "minimatch": "^3.0.4", 155 "monaco-editor": "^0.25.2", 156 "monaco-editor-webpack-plugin": "^4.0.0", 157 "monaco-yaml": "^2.5.1", 158 "mousetrap": "1.6.5", 159 "papaparse": "^5.3.1", 160 "pdfjs-dist": "^2.0.943", 161 "pikaday": "^1.8.0", 162 "popper.js": "^1.16.1", 163 "portal-vue": "^2.1.7", 164 "prismjs": "^1.21.0", 165 "prosemirror-markdown": "^1.6.0", 166 "prosemirror-model": "^1.15.0", 167 "prosemirror-state": "^1.3.4", 168 "prosemirror-tables": "^1.1.1", 169 "prosemirror-view": "^1.23.3", 170 "raphael": "^2.2.7", 171 "raw-loader": "^4.0.2", 172 "scrollparent": "^2.0.1", 173 "select2": "3.5.2-browserify", 174 "smooshpack": "^0.0.62", 175 "sortablejs": "^1.10.2", 176 "sql.js": "^0.4.0", 177 "string-hash": "1.1.3", 178 "style-loader": "^2.0.0", 179 "swagger-ui-dist": "^3.52.3", 180 "three": "^0.84.0", 181 "three-orbit-controls": "^82.1.0", 182 "three-stl-loader": "^1.0.4", 183 "timeago.js": "^4.0.2", 184 "tiptap": "^1.32.2", 185 "tiptap-extensions": "^1.35.2", 186 "url-loader": "^4.1.1", 187 "uuid": "8.1.0", 188 "visibilityjs": "^1.2.4", 189 "vue": "^2.6.12", 190 "vue-apollo": "^3.0.3", 191 "vue-loader": "^15.9.6", 192 "vue-observe-visibility": "^1.0.0", 193 "vue-resize": "^1.0.1", 194 "vue-router": "3.4.9", 195 "vue-template-compiler": "^2.6.12", 196 "vue-virtual-scroll-list": "^1.4.7", 197 "vuedraggable": "^2.23.0", 198 "vuex": "^3.6.0", 199 "web-vitals": "^0.2.4", 200 "webpack": "^4.46.0", 201 "webpack-bundle-analyzer": "^4.4.2", 202 "webpack-cli": "^3.3.12", 203 "webpack-stats-plugin": "^0.3.1", 204 "worker-loader": "^2.0.0", 205 "xterm": "3.14.5", 206 "yaml": "^2.0.0-8" 207 }, 208 "devDependencies": { 209 "@babel/plugin-transform-modules-commonjs": "^7.10.1", 210 "@gitlab/eslint-plugin": "10.0.0", 211 "@gitlab/stylelint-config": "2.6.0", 212 "@graphql-eslint/eslint-plugin": "2.3.0", 213 "@testing-library/dom": "^7.16.2", 214 "@vue/test-utils": "1.2.0", 215 "acorn": "^6.3.0", 216 "axios-mock-adapter": "^1.15.0", 217 "babel-jest": "^26.5.2", 218 "babel-plugin-dynamic-import-node": "^2.3.3", 219 "babel-plugin-istanbul": "^6.0.0", 220 "chalk": "^2.4.1", 221 "cheerio": "^1.0.0-rc.9", 222 "commander": "^2.20.3", 223 "custom-jquery-matchers": "^2.1.0", 224 "docdash": "^1.0.2", 225 "eslint": "7.32.0", 226 "eslint-import-resolver-jest": "3.0.2", 227 "eslint-import-resolver-webpack": "0.13.2", 228 "eslint-plugin-no-jquery": "2.7.0", 229 "gettext-extractor": "^3.5.3", 230 "gettext-extractor-vue": "^5.0.0", 231 "glob": "^7.1.6", 232 "istanbul-lib-coverage": "^3.0.0", 233 "istanbul-lib-report": "^3.0.0", 234 "istanbul-reports": "^3.0.0", 235 "jest": "^26.5.2", 236 "jest-canvas-mock": "^2.1.2", 237 "jest-environment-jsdom": "^26.5.2", 238 "jest-junit": "^12.0.0", 239 "jest-raw-loader": "^1.0.1", 240 "jest-transform-graphql": "^2.1.0", 241 "jest-util": "^26.5.2", 242 "jsdoc": "^3.5.5", 243 "jsdoc-vue": "^1.0.0", 244 "markdownlint-cli": "0.26.0", 245 "md5": "^2.2.1", 246 "miragejs": "^0.1.40", 247 "mock-apollo-client": "^0.7.0", 248 "nodemon": "^2.0.4", 249 "postcss": "^7.0.14", 250 "prettier": "2.2.1", 251 "prosemirror-schema-basic": "^1.1.2", 252 "prosemirror-schema-list": "^1.1.6", 253 "prosemirror-test-builder": "^1.0.5", 254 "purgecss": "^4.0.3", 255 "purgecss-from-html": "^4.0.3", 256 "sass": "^1.32.12", 257 "timezone-mock": "^1.0.8", 258 "vue-jest": "4.0.1", 259 "webpack-dev-server": "^3.11.3", 260 "xhr-mock": "^2.5.1", 261 "yarn-check-webpack-plugin": "^1.2.0", 262 "yarn-deduplicate": "^3.1.0" 263 }, 264 "blockedDependencies": { 265 "bootstrap-vue": "https://docs.gitlab.com/ee/development/fe_guide/dependencies.html#bootstrapvue" 266 }, 267 "resolutions": { 268 "chokidar": "^3.4.0", 269 "@types/node": "14.17.5" 270 }, 271 "engines": { 272 "node": ">=12.22.1", 273 "yarn": "^1.10.0" 274 } 275} 276