330 строки
11 KiB
JSON
330 строки
11 KiB
JSON
{
|
|
"name": "mozilla-addons-frontend",
|
|
"version": "0.0.1",
|
|
"description": "Universal front-end projects to complement addons-server.",
|
|
"main": "index.js",
|
|
"private": true,
|
|
"engines": {
|
|
"node": ">=8.10"
|
|
},
|
|
"scripts": {
|
|
"build": "npm run clean && better-npm-run build",
|
|
"build-all": "npm run clean && NODE_APP_INSTANCE=amo better-npm-run build && NODE_APP_INSTANCE=disco better-npm-run build",
|
|
"build-check": "bin/build-checks.js",
|
|
"build-ci": "npm run build-all && npm run bundlesize",
|
|
"build-locales": "bin/build-locales",
|
|
"bundlesize": "bundlesize",
|
|
"extract-locales": "better-npm-run extract-locales",
|
|
"clean": "rimraf './dist/*!(.gitkeep)' './webpack-assets.json' './src/locale/**(!.gitkeep)'",
|
|
"amo": "better-npm-run amo",
|
|
"amo:dev": "better-npm-run amo:dev",
|
|
"amo:ui-tests": "better-npm-run amo:ui-tests",
|
|
"amo:no-proxy": "better-npm-run amo:no-proxy",
|
|
"amo:stage": "better-npm-run amo:stage",
|
|
"disco": "better-npm-run disco",
|
|
"eslint": "eslint .",
|
|
"flow": "flow",
|
|
"flow:check": "flow check",
|
|
"flow:dev": "flow stop; flow start; chokidar .flowconfig flow/ src/ tests/ -i flow/logs/flow.log -c 'flow status' --initial",
|
|
"stylelint": "stylelint --syntax scss **/*.scss",
|
|
"lint": "npm run eslint && npm run stylelint",
|
|
"prettier": "prettier --write '**'",
|
|
"prettier-ci": "npm run prettier -- --list-different || (echo '\n\nThis failure means you did not run `yarn prettier-dev` before committing\n\n' && exit 1)",
|
|
"prettier-dev": "pretty-quick --branch master",
|
|
"snyk": "snyk --org=add-ons-team",
|
|
"snyk-ci": "npm run snyk test --severity-threshold=medium --file=package.json && npm run snyk monitor",
|
|
"snyk-wizard": "npm run snyk wizard",
|
|
"start": "npm run version-check && better-npm-run --silent node bin/server.js | pino-mozlog",
|
|
"start-func-test-server": "better-npm-run node bin/start-func-test-server.js",
|
|
"test-ci": "bin/config-check.js && better-npm-run test-ci && codecov",
|
|
"test": "bin/config-check.js && better-npm-run jest --watch",
|
|
"test-coverage": "bin/config-check.js && better-npm-run jest --coverage --watch",
|
|
"test-coverage-once": "bin/config-check.js && better-npm-run jest --coverage",
|
|
"test-once": "bin/config-check.js && better-npm-run jest && npm run lint",
|
|
"version-check": "bin/version-check.js",
|
|
"webpack-dev-server": "npm run build-locales && better-npm-run webpack-dev-server"
|
|
},
|
|
"betterScripts": {
|
|
"build": {
|
|
"command": "npm run build-check && npm run version-check && npm run build-locales && webpack --bail --verbose --display-error-details --progress --colors --config webpack.prod.config.babel.js",
|
|
"env": {
|
|
"NODE_ICU_DATA": "./node_modules/full-icu",
|
|
"NODE_PATH": "./:./src"
|
|
}
|
|
},
|
|
"amo": {
|
|
"command": "better-npm-run start-dev-proxy",
|
|
"env": {
|
|
"NODE_APP_INSTANCE": "amo"
|
|
}
|
|
},
|
|
"amo:dev": {
|
|
"command": "better-npm-run start-dev-proxy",
|
|
"env": {
|
|
"AMO_CDN": "https://addons-dev-cdn.allizom.org",
|
|
"PROXY_API_HOST": "https://addons-dev.allizom.org",
|
|
"NODE_APP_INSTANCE": "amo"
|
|
}
|
|
},
|
|
"amo:ui-tests": {
|
|
"command": "better-npm-run start-dev-proxy",
|
|
"env": {
|
|
"NODE_APP_INSTANCE": "amo",
|
|
"NODE_ENV": "production"
|
|
}
|
|
},
|
|
"amo:no-proxy": {
|
|
"command": "better-npm-run start-dev",
|
|
"env": {
|
|
"NODE_APP_INSTANCE": "amo",
|
|
"PROXY_ENABLED": "false"
|
|
}
|
|
},
|
|
"amo:stage": {
|
|
"command": "better-npm-run start-dev-proxy",
|
|
"env": {
|
|
"AMO_CDN": "https://addons-stage-cdn.allizom.org",
|
|
"PROXY_API_HOST": "https://addons.allizom.org",
|
|
"FXA_CONFIG": "local",
|
|
"CSP": false,
|
|
"NODE_APP_INSTANCE": "amo"
|
|
}
|
|
},
|
|
"disco": {
|
|
"command": "better-npm-run start-dev",
|
|
"env": {
|
|
"NODE_APP_INSTANCE": "disco"
|
|
}
|
|
},
|
|
"extract-locales": {
|
|
"command": "webpack --verbose --bail --display-error-details --progress --colors --config webpack.l10n.config.babel.js",
|
|
"env": {
|
|
"NODE_ENV": "production",
|
|
"NODE_ICU_DATA": "./node_modules/full-icu",
|
|
"NODE_PATH": "./:./src"
|
|
}
|
|
},
|
|
"start-dev": {
|
|
"command": "npm run clean && concurrently 'npm run webpack-dev-server' 'node bin/server.js | pino-devtools --mode buffer'",
|
|
"env": {
|
|
"ENABLE_PIPING": "true",
|
|
"NODE_ENV": "development",
|
|
"NODE_ICU_DATA": "./node_modules/full-icu",
|
|
"NODE_PATH": "./:./src"
|
|
}
|
|
},
|
|
"start-dev-proxy": {
|
|
"command": "npm run clean && concurrently 'npm run webpack-dev-server' 'node bin/server.js | pino-devtools --mode buffer' 'node bin/proxy.js | pino-pretty'",
|
|
"env": {
|
|
"ENABLE_PIPING": "true",
|
|
"NODE_ENV": "development",
|
|
"NODE_ICU_DATA": "./node_modules/full-icu",
|
|
"NODE_PATH": "./:./src",
|
|
"SERVER_PORT": "3333"
|
|
}
|
|
},
|
|
"node": {
|
|
"command": "node",
|
|
"env": {
|
|
"NODE_ICU_DATA": "./node_modules/full-icu",
|
|
"NODE_PATH": "./:./src"
|
|
}
|
|
},
|
|
"jest": {
|
|
"command": "jest",
|
|
"env": {
|
|
"NODE_ICU_DATA": "./node_modules/full-icu"
|
|
}
|
|
},
|
|
"test-ci": {
|
|
"command": "npm run version-check && npm run flow:check && bin/config-check.js && better-npm-run jest --color=false --coverage",
|
|
"env": {
|
|
"NODE_ICU_DATA": "./node_modules/full-icu",
|
|
"NODE_PATH": "./:./src",
|
|
"NODE_ENV": "test"
|
|
}
|
|
},
|
|
"webpack-dev-server": {
|
|
"command": "node bin/webpack-dev-server.js",
|
|
"env": {
|
|
"NODE_ENV": "development",
|
|
"NODE_ICU_DATA": "./node_modules/full-icu",
|
|
"NODE_PATH": "./:./src"
|
|
}
|
|
}
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/mozillla/addons-frontend.git"
|
|
},
|
|
"author": "Mozilla Add-ons Team",
|
|
"license": "MPL-2.0",
|
|
"bugs": {
|
|
"url": "https://github.com/mozillla/addons-frontend/issues"
|
|
},
|
|
"homepage": "https://github.com/mozillla/addons-frontend#readme",
|
|
"dependencies": {
|
|
"babel-polyfill": "6.26.0",
|
|
"base62": "1.2.8",
|
|
"base64url": "3.0.0",
|
|
"better-npm-run": "0.1.1",
|
|
"chokidar": "2.0.4",
|
|
"classnames": "2.2.6",
|
|
"common-tags": "1.8.0",
|
|
"config": "2.0.1",
|
|
"connected-react-router": "4.4.1",
|
|
"deep-eql": "3.0.1",
|
|
"deepcopy": "0.6.3",
|
|
"dompurify": "1.0.2",
|
|
"es6-error": "4.1.0",
|
|
"express": "4.16.2",
|
|
"extract-text-webpack-plugin": "3.0.2",
|
|
"fastclick": "1.0.6",
|
|
"full-icu": "1.2.1",
|
|
"helmet": "3.13.0",
|
|
"history": "4.7.2",
|
|
"hot-shots": "5.9.0",
|
|
"html-entities": "1.2.1",
|
|
"humps": "2.0.1",
|
|
"invariant": "2.2.4",
|
|
"isomorphic-fetch": "2.2.1",
|
|
"jed": "1.1.1",
|
|
"join-url": "2.0.0",
|
|
"jsdom": "12.0.0",
|
|
"knuth-shuffle": "1.0.8",
|
|
"localforage": "1.7.2",
|
|
"lodash.debounce": "4.0.8",
|
|
"moment": "2.22.2",
|
|
"mozilla-version-comparator": "1.0.2",
|
|
"normalize.css": "8.0.0",
|
|
"normalizr": "3.2.2",
|
|
"pino": "5.4.1",
|
|
"pino-mozlog": "1.1.0",
|
|
"prop-types": "15.6.2",
|
|
"qhistory": "1.0.2",
|
|
"qs": "6.5.2",
|
|
"raf": "3.4.0",
|
|
"raven": "2.6.4",
|
|
"raven-js": "3.26.4",
|
|
"rc-tooltip": "3.7.2",
|
|
"react": "16.4.2",
|
|
"react-autosuggest": "9.4.0",
|
|
"react-cookie": "1.0.5",
|
|
"react-dom": "16.4.2",
|
|
"react-helmet": "5.2.0",
|
|
"react-nested-status": "0.2.1",
|
|
"react-onclickoutside": "6.7.1",
|
|
"react-photoswipe": "1.3.0",
|
|
"react-redux": "5.0.7",
|
|
"react-router": "4.3.1",
|
|
"react-router-dom": "4.3.1",
|
|
"react-super-responsive-table": "4.3.2",
|
|
"react-textarea-autosize": "7.0.4",
|
|
"react-transition-group": "2.4.0",
|
|
"redux": "3.7.2",
|
|
"redux-logger": "3.0.6",
|
|
"redux-saga": "0.16.0",
|
|
"response-time": "2.3.2",
|
|
"serialize-javascript": "1.5.0",
|
|
"touch": "3.1.0",
|
|
"ua-parser-js": "0.7.18",
|
|
"url": "0.11.0",
|
|
"url-loader": "1.0.1",
|
|
"utf8": "3.0.0",
|
|
"webpack-isomorphic-tools": "3.0.6"
|
|
},
|
|
"devDependencies": {
|
|
"autoprefixer": "^9.0.0",
|
|
"babel-core": "^6.24.1",
|
|
"babel-eslint": "^9.0.0",
|
|
"babel-gettext-extractor": "git+https://github.com/muffinresearch/babel-gettext-extractor.git#0d39d3882bc846e7dcb6c9ff6463896c96920ce6",
|
|
"babel-jest": "^23.0.0",
|
|
"babel-loader": "^7.0.0",
|
|
"babel-plugin-transform-class-properties": "^6.24.1",
|
|
"babel-plugin-transform-decorators-legacy": "^1.3.4",
|
|
"babel-plugin-transform-flow-strip-types": "^6.22.0",
|
|
"babel-plugin-transform-object-rest-spread": "^6.20.2",
|
|
"babel-preset-es2015": "^6.24.1",
|
|
"babel-preset-react": "^6.24.1",
|
|
"babel-preset-stage-2": "^6.24.1",
|
|
"babel-register": "^6.24.1",
|
|
"bundle-loader": "^0.5.5",
|
|
"bundlesize": "^0.17.0",
|
|
"chalk": "^2.0.1",
|
|
"cheerio": "^1.0.0-rc.2",
|
|
"chokidar-cli": "^1.2.0",
|
|
"circular-dependency-plugin": "^4.2.1",
|
|
"codecov": "^3.0.0",
|
|
"concurrently": "^4.0.1",
|
|
"content-security-policy-parser": "^0.1.0",
|
|
"cookie": "^0.3.1",
|
|
"css-loader": "^0.28.3",
|
|
"enzyme": "^3.2.0",
|
|
"enzyme-adapter-react-16": "^1.1.0",
|
|
"eslint": "^5.3.0",
|
|
"eslint-config-amo": "^1.8.3",
|
|
"eslint-plugin-amo": "^1.7.0",
|
|
"eslint-plugin-promise": "^4.0.0",
|
|
"file-loader": "^1.1.11",
|
|
"flow-bin": "^0.80.0",
|
|
"glob": "^7.1.1",
|
|
"http-proxy": "^1.16.2",
|
|
"intl": "^1.2.5",
|
|
"intl-locales-supported": "^1.0.0",
|
|
"jest": "^23.1.0",
|
|
"jest-enzyme": "^6.0.0",
|
|
"jest-watch-typeahead": "^0.2.0",
|
|
"json-loader": "^0.5.4",
|
|
"mock-express-request": "^0.2.0",
|
|
"mock-express-response": "^0.2.0",
|
|
"node-sass": "^4.5.2",
|
|
"object.values": "^1.0.4",
|
|
"photon-colors": "^3.0.1",
|
|
"pino-devtools": "^2.0.0",
|
|
"pino-pretty": "^2.0.1",
|
|
"piping": "^1.0.0-rc.4",
|
|
"po2json": "^0.4.5",
|
|
"postcss-loader": "^3.0.0",
|
|
"potools": "^0.3.0",
|
|
"prettier": "1.14.2",
|
|
"pretty-quick": "1.6.0",
|
|
"react-hot-loader": "^4.3.3",
|
|
"react-test-renderer": "^16.4.2",
|
|
"redux-saga-tester": "^1.0.372",
|
|
"require-uncached": "^1.0.3",
|
|
"rimraf": "^2.6.1",
|
|
"sass-loader": "^7.0.1",
|
|
"semver": "^5.3.0",
|
|
"shelljs": "^0.8.0",
|
|
"sinon": "^6.0.0",
|
|
"snyk": "^1.69.7",
|
|
"style-loader": "^0.23.0",
|
|
"stylelint": "^9.1.1",
|
|
"stylelint-config-standard": "^18.2.0",
|
|
"stylelint-config-suitcss": "^14.0.0",
|
|
"supertest": "^3.0.0",
|
|
"svg-url-loader": "^2.0.2",
|
|
"tmp": "^0.0.33",
|
|
"tosource": "^1.0.0",
|
|
"uglifyjs-webpack-plugin": "^1.2.7",
|
|
"webpack": "^3.12.0",
|
|
"webpack-dev-middleware": "^2.0.6",
|
|
"webpack-hot-middleware": "^2.18.0",
|
|
"webpack-subresource-integrity": "^1.0.0-rc.1"
|
|
},
|
|
"bundlesize": [
|
|
{
|
|
"path": "./dist/@(amo|disco)-!(i18n-)*.js",
|
|
"maxSize": "400 kB"
|
|
},
|
|
{
|
|
"path": "./dist/@(amo|disco)-i18n-*.js",
|
|
"maxSize": "25 kB"
|
|
}
|
|
],
|
|
"snyk": true,
|
|
"resolutions": {
|
|
"react/fbjs": "0.8.17"
|
|
}
|
|
}
|