120 строки
6.2 KiB
JSON
120 строки
6.2 KiB
JSON
{
|
|
"name": "chromestatus-dashboard",
|
|
"description": "Chrome platform status - chromestatus.com",
|
|
"homepage": "https://www.chromestatus.com",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
},
|
|
"workspaces": [
|
|
"./gen/js/*",
|
|
"packages/playwright"
|
|
],
|
|
"scripts": {
|
|
"setup": "npm ci; python3.11 -m venv cs-env; npm run deps",
|
|
"clean-setup": "rm -rf node_modules cs-env; npm run setup",
|
|
"deps": "source cs-env/bin/activate; pip install -r requirements.txt --upgrade && pip install -r requirements.dev.txt --upgrade",
|
|
"dev-deps": "echo 'dev-deps is no longer needed'",
|
|
"dev-ot-key": "gcloud secrets versions access latest --secret=DEV_OT_API_KEY --out-file=ot_api_key.txt --project=cr-status-staging",
|
|
"do-tests": "source cs-env/bin/activate; curl -X POST 'http://localhost:15606/reset' && python3.11 -m unittest discover -p '*_test.py' -b",
|
|
"start-emulator-persist": "gcloud beta emulators datastore start --host-port=:15606 --use-firestore-in-datastore-mode",
|
|
"start-emulator": "gcloud beta emulators datastore start --host-port=:15606 --no-store-on-disk --use-firestore-in-datastore-mode",
|
|
"stop-emulator": "curl -X POST 'http://localhost:15606/shutdown'; pkill -f \"CloudDatastore.jar\"",
|
|
"build": "gulp",
|
|
"watch": "gulp watch",
|
|
"start-app": "npm run build && curl --retry 4 http://localhost:15606/ --retry-connrefused && ./scripts/start_server.sh",
|
|
"debug-app": "npm run build && curl --retry 4 http://localhost:15606/ --retry-connrefused && ./scripts/debug_server.sh",
|
|
"start": "npm stop; source cs-env/bin/activate; (npm run start-emulator-persist > /dev/null 2>&1 &); npm run start-app; status=$?; npm run stop-emulator; exit $status",
|
|
"stop": "npm run pwtests-shutdown --workspace=playwright; kill `pgrep gunicorn`",
|
|
"test": "(npm run start-emulator > /dev/null 2>&1 &); sleep 6; curl --retry 4 http://localhost:15606/ --retry-connrefused; npm run do-tests; status=$?; npm run stop-emulator; exit $status",
|
|
"webtest": "web-test-runner \"client-src/**/*_test.js\" --node-resolve --playwright --browsers chromium firefox",
|
|
"webtest:watch": "web-test-runner \"client-src/**/*_test.js\" --node-resolve --playwright --watch --browsers chromium",
|
|
"webtest-coverage": "web-test-runner \"client-src/**/*_test.js\" --node-resolve --playwright --coverage --browsers chromium firefox",
|
|
"do-coverage": "coverage3 erase && coverage3 run -m unittest discover -p '*_test.py' -b && coverage3 html",
|
|
"coverage": "source cs-env/bin/activate; (npm run start-emulator > /dev/null 2>&1 &); sleep 3; curl --retry 4 http://localhost:15606/ --retry-connrefused; npm run do-coverage; npm run stop-emulator",
|
|
"view-coverage": "pushd htmlcov/; python3.11 -m http.server 8080; popd",
|
|
"mypy": "source cs-env/bin/activate; mypy --ignore-missing-imports --exclude cs-env/ --exclude gen/ --exclude appengine_config.py .",
|
|
"lint": "gulp lint-fix && lit-analyzer \"client-src/elements/chromedash-!(featurelist)*.js\"",
|
|
"presubmit": "npm test && npm run webtest && npm run lint && npm run mypy",
|
|
"pylint": "pylint --output-format=parseable *py api/*py framework/*py internals/*py pages/*py",
|
|
"staging": "./scripts/deploy_site.sh `git describe --always --abbrev=7 --match 'NOT A TAG' --dirty='-tainted'` cr-status-staging",
|
|
"staging-rc": "./scripts/deploy_site.sh rc cr-status-staging",
|
|
"deploy": "./scripts/deploy_site.sh `git describe --always --abbrev=7 --match 'NOT A TAG' --dirty='-tainted'`",
|
|
"deploy-rc": "./scripts/deploy_site.sh rc",
|
|
"openapi": "npm run openapi-backend && npm run openapi-frontend",
|
|
"openapi-frontend": "rm -rf gen/js/chromestatus-openapi && openapi-generator-cli generate -i openapi/api.yaml -g typescript-fetch -o gen/js/chromestatus-openapi --additional-properties=npmName=chromestatus-openapi,withInterfaces=true,supportsES6=true && npm install",
|
|
"openapi-backend": "rm -rf gen/py/chromestatus_openapi && openapi-generator-cli generate -i openapi/api.yaml -g python-flask -o gen/py/chromestatus_openapi --additional-properties=packageName=chromestatus_openapi && pip install -r requirements.txt",
|
|
"openapi-validate": "openapi-generator-cli validate -i openapi/api.yaml"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/GoogleChrome/chromium-dashboard"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/GoogleChrome/chromium-dashboard/issues"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.23.0",
|
|
"@babel/eslint-parser": "^7.22.15",
|
|
"@babel/eslint-plugin": "^7.22.10",
|
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
"@babel/preset-env": "^7.22.20",
|
|
"@babel/register": "^7.22.15",
|
|
"@open-wc/testing": "^3.2.0",
|
|
"@openapitools/openapi-generator-cli": "^2.7.0",
|
|
"@rollup/plugin-babel": "^6.0.3",
|
|
"@rollup/plugin-node-resolve": "^15.2.1",
|
|
"@shoelace-style/shoelace": "^2.8.0",
|
|
"@web/test-runner": "^0.16.1",
|
|
"@web/test-runner-playwright": "^0.10.1",
|
|
"acorn": ">=8.10.0",
|
|
"color-string": ">=1.9.0",
|
|
"del": "^7.1.0",
|
|
"dot-prop": ">=8.0.2",
|
|
"eslint": "^8.49.0",
|
|
"eslint-config-google": "^0.14.0",
|
|
"glob-parent": ">=6.0.2",
|
|
"gulp": "^4.0.2",
|
|
"gulp-autoprefixer": "^8.0.0",
|
|
"gulp-babel": "^8.0.0",
|
|
"gulp-concat": "^2.6.1",
|
|
"gulp-eslint": "^6.0.0",
|
|
"gulp-eslint-if-fixed": "^1.0.0",
|
|
"gulp-license": "^1.1.0",
|
|
"gulp-rename": "^2.0.0",
|
|
"gulp-sass": "^5.1.0",
|
|
"gulp-uglify-es": "^3.0.0",
|
|
"ini": ">=4.1.1",
|
|
"kind-of": ">=6.0.3",
|
|
"lit-analyzer": "^1.2.1",
|
|
"lodash": ">=4.17.21",
|
|
"lodash.template": ">=4.5.0",
|
|
"minimist": ">=1.2.8",
|
|
"path-parse": ">=1.0.7",
|
|
"regenerator-runtime": "^0.14.0",
|
|
"rollup": "^3.29.3",
|
|
"rollup-plugin-babel-minify": "^10.0.0",
|
|
"sinon": "^15.2.0",
|
|
"tar": ">=6.2.0",
|
|
"trim-newlines": ">=5.0.0",
|
|
"typescript": "^5.2.2"
|
|
},
|
|
"dependencies": {
|
|
"@lit-labs/context": "^0.4.1",
|
|
"@polymer/iron-collapse": "^3.0.1",
|
|
"@polymer/iron-icon": "^3.0.1",
|
|
"@polymer/iron-iconset-svg": "^3.0.1",
|
|
"lit": "^2",
|
|
"node-fetch": ">=3.3.2",
|
|
"page": "^1.11.6",
|
|
"sass": ">=1.68.0",
|
|
"urijs": ">=1.19.11",
|
|
"yargs-parser": ">=21.1.1"
|
|
},
|
|
"overrides": {
|
|
"glob-parent@<5.1.2": ">=5.1.2"
|
|
}
|
|
}
|