{ "private": true, "scripts": { "check-dependencies": "scripts/frontend/check_dependencies.sh", "clean": "rm -rf public/assets tmp/cache/*-loader", "dev-server": "NODE_OPTIONS=\"--max-old-space-size=3584\" nodemon -w 'config/webpack.config.js' --exec 'webpack-dev-server --config config/webpack.config.js'", "eslint": "eslint --cache --max-warnings 0 --report-unused-disable-directives --ext .js,.vue .", "eslint-fix": "eslint --cache --max-warnings 0 --report-unused-disable-directives --ext .js,.vue --fix .", "eslint-report": "eslint --max-warnings 0 --ext .js,.vue --format html --output-file ./eslint-report.html --no-inline-config .", "file-coverage": "scripts/frontend/file_test_coverage.js", "prejest": "yarn check-dependencies", "jest": "jest", "jest-debug": "node --inspect-brk node_modules/.bin/jest --runInBand", "jsdoc": "jsdoc -c config/jsdocs.config.js", "prekarma": "yarn check-dependencies", "karma": "BABEL_ENV=${BABEL_ENV:=karma} karma start --single-run true config/karma.config.js", "karma-coverage": "BABEL_ENV=coverage karma start --single-run true config/karma.config.js", "karma-start": "BABEL_ENV=karma karma start config/karma.config.js", "markdownlint": "markdownlint -c .markdownlint.json 'doc/**/*.md'", "postinstall": "node ./scripts/frontend/postinstall.js", "prettier-staged": "node ./scripts/frontend/prettier.js check", "prettier-staged-save": "node ./scripts/frontend/prettier.js save", "prettier-all": "node ./scripts/frontend/prettier.js check-all", "prettier-all-save": "node ./scripts/frontend/prettier.js save-all", "stylelint": "yarn stylelint-file app/assets/stylesheets/**/*.* ee/app/assets/stylesheets/**/*.* !**/vendors/**", "stylelint-file": "BROWSERSLIST_IGNORE_OLD_DATA=true node node_modules/stylelint/bin/stylelint.js", "stylelint-create-utility-map": "node scripts/frontend/stylelint/stylelint-utility-map.js", "test": "node scripts/frontend/test", "webpack": "NODE_OPTIONS=\"--max-old-space-size=3584\" webpack --config config/webpack.config.js", "webpack-vendor": "NODE_OPTIONS=\"--max-old-space-size=3584\" webpack --config config/webpack.vendor.config.js", "webpack-prod": "NODE_OPTIONS=\"--max-old-space-size=3584\" NODE_ENV=production webpack --config config/webpack.config.js" }, "dependencies": { "@babel/core": "^7.6.2", "@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-proposal-json-strings": "^7.2.0", "@babel/plugin-proposal-optional-chaining": "^7.7.5", "@babel/plugin-proposal-private-methods": "^7.6.0", "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/plugin-syntax-import-meta": "^7.2.0", "@babel/preset-env": "^7.6.2", "@gitlab/at.js": "^1.5.5", "@gitlab/svgs": "^1.96.0", "@gitlab/ui": "^9.8.0", "@gitlab/visual-review-tools": "1.5.1", "@sentry/browser": "^5.10.2", "@sourcegraph/code-host-integration": "0.0.30", "apollo-cache-inmemory": "^1.6.3", "apollo-client": "^2.6.4", "apollo-link": "^1.2.11", "apollo-link-batch-http": "^1.2.11", "apollo-upload-client": "^10.0.0", "autosize": "^4.0.0", "aws-sdk": "^2.526.0", "axios": "^0.19.0", "babel-loader": "^8.0.6", "babel-plugin-lodash": "^3.3.4", "bootstrap": "4.3.1", "bootstrap-vue": "2.1.0", "brace-expansion": "^1.1.8", "cache-loader": "^4.1.0", "chart.js": "2.7.2", "classlist-polyfill": "^1.2.0", "clipboard": "^1.7.1", "codesandbox-api": "^0.0.20", "compression-webpack-plugin": "^3.0.1", "copy-webpack-plugin": "^5.0.5", "core-js": "^3.2.1", "cropper": "^2.3.0", "css-loader": "^1.0.0", "d3": "^4.13.0", "d3-scale": "^1.0.7", "d3-selection": "^1.2.0", "dateformat": "^3.0.3", "deckar01-task_list": "^2.3.1", "diff": "^3.4.0", "document-register-element": "1.13.1", "dropzone": "^4.2.0", "emoji-regex": "^7.0.3", "emoji-unicode-version": "^0.2.1", "exports-loader": "^0.7.0", "file-loader": "^4.2.0", "formdata-polyfill": "^3.0.11", "fuzzaldrin-plus": "^0.5.0", "glob": "^7.1.2", "graphql": "^14.0.2", "immer": "^5.2.1", "imports-loader": "^0.8.0", "jed": "^1.1.1", "jest-transform-graphql": "^2.1.0", "jquery": "^3.4.1", "jquery-ujs": "1.2.2", "jquery.caret": "^0.3.1", "jquery.waitforimages": "^2.2.0", "js-cookie": "^2.1.3", "jszip": "^3.1.3", "jszip-utils": "^0.0.2", "katex": "^0.10.0", "lodash": "^4.17.15", "marked": "^0.3.12", "mermaid": "^8.4.5", "monaco-editor": "^0.18.1", "monaco-editor-webpack-plugin": "^1.7.0", "mousetrap": "^1.4.6", "pdfjs-dist": "^2.0.943", "pikaday": "^1.8.0", "popper.js": "^1.14.7", "prismjs": "^1.6.0", "prosemirror-markdown": "^1.3.0", "prosemirror-model": "^1.6.4", "raphael": "^2.2.7", "raw-loader": "^3.1.0", "sanitize-html": "^1.20.0", "select2": "3.5.2-browserify", "smooshpack": "^0.0.54", "sortablejs": "^1.10.0", "sql.js": "^0.4.0", "stickyfilljs": "^2.0.5", "style-loader": "^1.0.0", "svg4everybody": "2.1.9", "swagger-ui-dist": "^3.24.3", "three": "^0.84.0", "three-orbit-controls": "^82.1.0", "three-stl-loader": "^1.0.4", "timeago.js": "^4.0.1", "tiptap": "^1.8.0", "tiptap-commands": "^1.4.0", "tiptap-extensions": "^1.8.0", "underscore": "^1.9.0", "url-loader": "^2.1.0", "visibilityjs": "^1.2.4", "vue": "^2.6.10", "vue-apollo": "^3.0.0-beta.28", "vue-loader": "^15.7.1", "vue-router": "^3.0.2", "vue-template-compiler": "^2.6.10", "vue-virtual-scroll-list": "^1.4.4", "vuedraggable": "^2.23.0", "vuex": "^3.1.0", "webpack": "^4.41.5", "webpack-bundle-analyzer": "^3.5.1", "webpack-cli": "^3.3.9", "webpack-stats-plugin": "^0.3.0", "worker-loader": "^2.0.0", "xterm": "^3.5.0" }, "devDependencies": { "@babel/plugin-transform-modules-commonjs": "^7.5.0", "@gitlab/eslint-config": "^2.1.2", "@vue/test-utils": "^1.0.0-beta.30", "axios-mock-adapter": "^1.15.0", "babel-jest": "^24.1.0", "babel-plugin-dynamic-import-node": "^2.2.0", "babel-plugin-istanbul": "^5.1.0", "babel-plugin-rewire": "^1.2.0", "chalk": "^2.4.1", "commander": "^2.18.0", "custom-jquery-matchers": "^2.1.0", "docdash": "^1.0.2", "eslint": "~5.9.0", "eslint-import-resolver-jest": "^2.1.1", "eslint-import-resolver-webpack": "^0.10.1", "eslint-plugin-jasmine": "^2.10.1", "eslint-plugin-jest": "^22.3.0", "eslint-plugin-no-jquery": "^2.3.0", "gettext-extractor": "^3.4.3", "gettext-extractor-vue": "^4.0.2", "graphql-tag": "^2.10.0", "jasmine-core": "^2.9.0", "jasmine-diff": "^0.1.3", "jasmine-jquery": "^2.1.1", "jest": "^24.1.0", "jest-canvas-mock": "^2.1.2", "jest-environment-jsdom": "^24.0.0", "jest-junit": "^6.3.0", "jest-util": "^24.0.0", "jsdoc": "^3.5.5", "jsdoc-vue": "^1.0.0", "karma": "^4.2.0", "karma-chrome-launcher": "^3.0.0", "karma-coverage-istanbul-reporter": "^2.1.0", "karma-jasmine": "^1.1.2", "karma-junit-reporter": "^1.2.0", "karma-mocha-reporter": "^2.2.5", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^4.0.2", "markdownlint-cli": "0.18.0", "md5": "^2.2.1", "node-sass": "^4.12.0", "nodemon": "^1.18.9", "pixelmatch": "^4.0.2", "postcss": "^7.0.14", "prettier": "1.18.2", "readdir-enhanced": "^2.2.4", "stylelint": "^10.1.0", "stylelint-config-recommended": "^2.2.0", "stylelint-scss": "^3.9.2", "timezone-mock": "^1.0.8", "vue-jest": "^4.0.0-beta.2", "webpack-dev-server": "^3.8.1", "yarn-check-webpack-plugin": "^1.2.0", "yarn-deduplicate": "^1.1.1" }, "resolutions": { "vue-jest/ts-jest": "24.0.0", "monaco-editor": "0.18.1" }, "engines": { "node": ">=8.10.0", "yarn": "^1.10.0" } }