{ "name": "saleor-dashboard", "version": "3.9.0-dev", "main": "src/index.tsx", "repository": { "type": "git", "url": "git://github.com/mirumee/saleor-dashboard.git" }, "author": "Mirumee Software", "license": "BSD-3-Clause", "bugs": { "url": "https://github.com/mirumee/saleor-dashboard/issues" }, "homepage": "https://saleor.io/", "engines": { "node": ">=14 <15", "npm": ">=6.11.0 <7" }, "dependencies": { "@apollo/client": "3.4.15", "@editorjs/editorjs": "^2.24.3", "@editorjs/header": "^2.6.2", "@editorjs/image": "^2.6.2", "@editorjs/list": "^1.7.0", "@editorjs/paragraph": "^2.8.0", "@editorjs/quote": "^2.4.0", "@glideapps/glide-data-grid": "^5.0.0", "@material-ui/core": "^4.11.4", "@material-ui/icons": "^4.11.2", "@material-ui/lab": "^4.0.0-alpha.58", "@material-ui/styles": "^4.11.4", "@reach/auto-id": "^0.16.0", "@saleor/macaw-ui": "0.6.5", "@saleor/sdk": "^0.4.4", "@sentry/react": "^6.0.0", "@types/faker": "^5.1.6", "@uiw/react-color-hue": "0.0.34", "@uiw/react-color-material": "^0.1.0", "@uiw/react-color-saturation": "0.0.34", "apollo-upload-client": "^17.0.0", "classnames": "^2.2.6", "color-convert": "^2.0.1", "crc-32": "^1.2.0", "currency-codes": "^2.1.0", "cypress-mailhog": "^1.3.0", "cypress-mochawesome-reporter": "^2.3.0", "downshift": "^6.1.7", "editorjs-inline-tool": "^0.4.0", "faker": "^5.1.0", "fast-array-diff": "^0.2.0", "find-test-names": "^1.17.1", "fuzzaldrin": "^2.1.0", "graphql": "^15.4.0", "hotkeys-js": "^3.8.1", "is-url": "^1.2.4", "jss": "^9.8.7", "junit-report-merger": "^3.0.5", "jwt-decode": "^3.1.2", "keycode": "^2.2.0", "lodash": "^4.17.20", "marked": "^4.0.17", "moment-timezone": "^0.5.32", "qs": "^6.9.0", "react": "^17.0.2", "react-dom": "^17.0.2", "react-draggable": "^4.4.5", "react-dropzone": "^11.2.4", "react-editor-js": "^2.0.6", "react-error-boundary": "^3.1.4", "react-gtm-module": "^2.0.11", "react-helmet": "^6.1.0", "react-infinite-scroll-component": "^6.1.0", "react-inlinesvg": "^3.0.1", "react-intl": "^5.21.2", "react-jss": "^10.0.0", "react-markdown": "^4.3.1", "react-moment": "^1.0.0", "react-responsive-carousel": "^3.2.23", "react-router": "^5.0.1", "react-router-dom": "^5.0.1", "react-sortable-hoc": "^1.10.1", "react-sortable-tree": "^2.6.2", "semver-compare": "^1.0.0", "slugify": "^1.4.6", "url-join": "^4.0.1", "use-react-router": "^1.0.7" }, "devDependencies": { "@babel/cli": "^7.5.5", "@babel/core": "^7.7.7", "@babel/plugin-proposal-class-properties": "^7.5.0", "@babel/plugin-proposal-decorators": "^7.4.4", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", "@babel/plugin-proposal-numeric-separator": "^7.2.0", "@babel/plugin-proposal-object-rest-spread": "^7.5.4", "@babel/plugin-proposal-optional-chaining": "^7.8.3", "@babel/preset-env": "^7.5.4", "@babel/preset-react": "^7.7.4", "@babel/preset-typescript": "^7.13.0", "@babel/runtime": "^7.7.6", "@editorjs/embed": "^2.5.1", "@formatjs/cli": "^4.5.0", "@graphql-codegen/add": "^3.1.1", "@graphql-codegen/cli": "^2.1.1", "@graphql-codegen/fragment-matcher": "^3.1.0", "@graphql-codegen/import-types-preset": "^2.1.12", "@graphql-codegen/introspection": "^2.1.1", "@graphql-codegen/typescript": "^2.4.3", "@graphql-codegen/typescript-apollo-client-helpers": "^2.1.10", "@graphql-codegen/typescript-operations": "^2.2.4", "@graphql-codegen/typescript-react-apollo": "^3.2.5", "@pollyjs/adapter-node-http": "^5.0.0", "@pollyjs/core": "^5.0.0", "@pollyjs/persister-fs": "^5.0.0", "@release-it/bumper": "^2.0.0", "@saleor/app-sdk": "~0.11.0", "@sentry/webpack-plugin": "^1.14.0", "@storybook/addon-storyshots": "^5.2.8", "@storybook/react": "^5.1.9", "@testing-library/react": "^12.1.5", "@testing-library/react-hooks": "^8.0.1", "@types/apollo-upload-client": "^17.0.0", "@types/classnames": "^2.2.9", "@types/color-convert": "^2.0.0", "@types/enzyme": "^3.10.8", "@types/fuzzaldrin": "^2.1.2", "@types/jest": "^24.0.24", "@types/jscodeshift": "^0.11.3", "@types/lodash-es": "^4.17.3", "@types/pollyjs__adapter-node-http": "^2.0.1", "@types/pollyjs__persister-fs": "^2.0.1", "@types/react": "^17.0.50", "@types/react-dom": "^17.0.17", "@types/react-dropzone": "^4.2.2", "@types/react-helmet": "^5.0.8", "@types/react-infinite-scroller": "^1.2.1", "@types/react-router-dom": "^4.3.4", "@types/react-sortable-hoc": "^0.7.1", "@types/react-sortable-tree": "^0.3.6", "@types/react-test-renderer": "^16.9.5", "@types/semver-compare": "^1.0.1", "@types/setup-polly-jest": "^0.5.0", "@types/storybook__addon-storyshots": "^3.4.9", "@types/storybook__react": "^4.0.2", "@types/url-join": "^4.0.0", "@types/webappsec-credential-management": "^0.5.1", "@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/parser": "^4.16.1", "@wojtekmaj/enzyme-adapter-react-17": "^0.6.7", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^23.6.0", "babel-loader": "^8.0.6", "codecov": "^3.7.1", "core-js": "^3.7.0", "cross-env": "^6.0.3", "cypress": "^10.0.2", "cypress-file-upload": "^5.0.8", "cypress-multi-reporters": "^1.5.0", "cypress-timings": "^1.0.0", "dotenv": "^10.0.0", "enzyme": "^3.11.0", "enzyme-to-json": "^3.6.1", "esbuild-loader": "^2.18.0", "eslint": "^7.4.0", "eslint-plugin-chai-friendly": "^0.6.0", "eslint-plugin-cypress": "^2.11.2", "eslint-plugin-formatjs": "^2.18.0", "eslint-plugin-import": "^2.19.1", "eslint-plugin-local-rules": "^0.1.1", "eslint-plugin-prefer-arrow": "^1.1.6", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-simple-import-sort": "^5.0.3", "file-loader": "^5.0.2", "fork-ts-checker-webpack-plugin": "^3.1.1", "graphql-request": "^3.7.0", "html-webpack-plugin": "^3.2.0", "husky": "^4.3.0", "identity-obj-proxy": "^3.0.0", "jest": "^24.8.0", "jest-canvas-mock": "^2.4.0", "jest-file": "^1.0.0", "jest-localstorage-mock": "^2.4.3", "jest-mock-random": "^1.1.1", "jscodeshift": "^0.13.0", "lint-staged": "^10.5.1", "mocha-junit-reporter": "^2.0.2", "mochawesome": "^7.0.1", "mochawesome-merge": "^4.2.1", "mochawesome-report-generator": "^6.0.1", "prettier": "^1.19.1", "react-test-renderer": "^16.12.0", "regenerator-runtime": "^0.11.1", "register-service-worker": "^1.7.2", "release-it": "^14.5.0", "require-context.macro": "^1.1.1", "rimraf": "^3.0.0", "setup-polly-jest": "^0.9.1", "speed-measure-webpack-plugin": "^1.5.0", "start-server-and-test": "^1.11.0", "ts-jest": "^27.0.7", "tsconfig-paths-webpack-plugin": "^3.2.0", "typescript": "^4.3.5", "webpack": "^4.35.3", "webpack-bundle-analyzer": "^4.4.1", "webpack-cli": "^3.3.6", "webpack-dev-server": "^3.11.0", "webpack-manifest-plugin": "2.2.0", "workbox-cacheable-response": "^6.1.2", "workbox-expiration": "^6.1.2", "workbox-precaching": "^6.1.2", "workbox-routing": "^6.1.2", "workbox-strategies": "^6.1.2", "workbox-webpack-plugin": "^6.1.2" }, "optionalDependencies": { "fsevents": "^1.2.9" }, "jest": { "resetMocks": false, "setupFiles": [ "jest-canvas-mock", "jest-localstorage-mock", "/testUtils/setup.ts" ], "transform": { "^.+\\.(jsx?|tsx?)$": "babel-jest", "^.+\\.(png|svg|jpe?g)$": "jest-file" }, "testRegex": ".*\\.test\\.tsx?$", "moduleFileExtensions": [ "ts", "tsx", "js", "jsx", "json", "node" ], "moduleNameMapper": { "\\.(css)$": "identity-obj-proxy", "@assets(.*)$": "/assets/$1", "@locale(.*)$": "/locale/$1", "@saleor(?!.*macaw)(?!.*sdk)(.*)$": "/src/$1", "@test/(.*)$": "/testUtils/$1", "^lodash-es(.*)$": "lodash/$1", "^@material-ui/core$": "/node_modules/@material-ui/core", "^@material-ui/icons$": "/node_modules/@material-ui/icons", "^@material-ui/styles$": "/node_modules/@material-ui/styles", "^react$": "/node_modules/react", "^react-dom$": "/node_modules/react-dom" } }, "husky": { "hooks": { "pre-commit": "lint-staged", "pre-push": "npm run check-types" } }, "lint-staged": { "*.{ts,tsx}": [ "eslint --fix", "prettier --write" ], "*.{js,jsx}": [ "eslint --fix", "prettier --write" ] }, "scripts": { "build-storybook": "build-storybook -c src/storybook/ -o build/storybook", "build-types": "graphql-codegen", "build": "npm run build-types && webpack -p", "check-strict-null-errors": "tsc --noEmit --strictNullChecks | node scripts/count-strict-null-check-errors.js", "check-types": "tsc --noEmit", "extract-json-messages": "formatjs extract 'src/**/*.{ts,tsx}' --out-file locale/defaultMessages.json --format scripts/formatter.js", "extract-messages": "npm run extract-json-messages", "fetch-schema": "graphql-codegen --config ./fetch-schema.yml && node scripts/build-schema.js", "heroku-postbuild": "npm run build", "serve:lhci": "NODE_ENV=production npm run server", "start": "npm run build-types && webpack-dev-server -d", "storybook": "start-storybook -p 3000 -c src/storybook/", "cy:run": "cypress run", "cy:run:dashboard": "cypress run --record", "cy:open": "cypress open", "cy:run:critical": "cypress run --record --env grepTags=@critical", "cy:run:allEnv": "cypress run --record --env grepTags=@allEnv", "cy:run:critical:parallel": "cypress run --record --env grepTags=@critical --parallel --tag Critical", "cy:run:allEnv:parallel": "cypress run --record --env grepTags=@allEnv --parallel", "cy:run:stable:parallel": "cypress run --record --env grepTags=@critical --parallel --tag Stable", "test": "TZ=UTC jest src/", "lint": "npx eslint \"src/**/*.@(tsx|ts|jsx|js)\" --fix ; npx prettier --check \"src/**/*.@(tsx|ts|jsx|js)\" --write", "postbuild": "rimraf ./build/**/*.js.map", "release": "release-it" }, "description": "![Saleor Dashboard](https://user-images.githubusercontent.com/249912/82305745-5c52fd00-99be-11ea-9ac6-cc04a6f28c91.png)" }