impress-2020/package.json
Matchu b84c8ba34e Script to set up dev db with public DTI data
Now, someone with production DB access can run `yarn db:export:public-data` to create `public-data-constants.sql` and `public-data-from-modeling.sql`.

Then, someone setting up their dev database can run `yarn db:setup-dev:full` and get all the wearables data imported right into their dev database!

I'm noticing just how poorly I'm keeping up with my own goals for finishing up DTI, and wondering if now is a good time to circle back to some old offers for code contributions I got last year… I also just figure that making this app Possible To Run with a backup of the basic public database is like. a pretty handy thing to have for archival's sake imo

Note that, for this change, we also set up Git LFS (Large File Storage). Github should be automatically compatible with this! It's a way to not write the whole 30MB database dump into the repository history, and instead keep it in a secondary filestore, because Git's core algorithms aren't really built to handle large blobs of data very well. Users setting up their dev environment will therefore also need to have Git LFS installed for this script to work! (Otherwise, they'll see a "pointer" file in `public-data-from-modeling.sql.gz` that contains some metadata about the file state but not the data itself.)
2022-11-13 07:03:44 -08:00

136 lines
6.4 KiB
JSON

{
"name": "impress-2020-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@apollo/client": "^3.6.9",
"@apollographql/graphql-playground-html": "^1.6.24",
"@auth0/auth0-react": "^1.0.0",
"@aws-sdk/client-s3": "^3.178.0",
"@chakra-ui/icons": "^1.0.4",
"@chakra-ui/react": "^1.6.0",
"@chakra-ui/theme-tools": "^1.0.3",
"@emotion/react": "^11.1.4",
"@emotion/styled": "^11.0.0",
"@loadable/component": "^5.12.0",
"@sendgrid/mail": "^7.2.6",
"@sentry/react": "^5.30.0",
"@sentry/tracing": "^5.30.0",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"@types/node": "^14.14.22",
"@types/react": "^17.0.1",
"@types/react-dom": "^17.0.0",
"apollo-link-persisted-queries": "^0.2.2",
"apollo-server": "^2.25.3",
"apollo-server-core": "^2.19.2",
"apollo-server-env": "^3.0.0",
"aws-sdk": "^2.814.0",
"canvas": "^2.6.1",
"chrome-aws-lambda": "^10.1.0",
"dataloader": "^2.0.0",
"dompurify": "^2.2.0",
"easeljs": "^1.0.2",
"escape-html": "^1.0.3",
"framer-motion": "^4.1.11",
"generic-pool": "^3.8.2",
"graphql": "^15.5.0",
"honeycomb-beeline": "^2.7.4",
"immer": "^9.0.6",
"jimp": "^0.14.0",
"jsonwebtoken": "^8.5.1",
"jwks-rsa": "^1.9.0",
"lru-cache": "^6.0.0",
"mysql2": "^2.1.0",
"next": "12.0.2",
"node-fetch": "^2.6.0",
"puppeteer": "^11.0.0",
"react": "^17.0.1",
"react-autosuggest": "^10.0.2",
"react-dom": "^17.0.1",
"react-icons": "^4.2.0",
"react-router-hash-link": "^2.4.3",
"react-transition-group": "^4.3.0",
"react-virtualized": "^9.22.3",
"sharp": "^0.29.2",
"simple-markdown": "^0.7.2",
"tweenjs": "^1.0.2",
"typescript": "^4.4.4",
"xmlrpc": "^1.3.2"
},
"scripts": {
"prepare": "husky install",
"start": "next start",
"dev": "yarn build-cached-data && DB_ENV=development REACT_APP_IMPRESS_LOG_IN_AS=$IMPRESS_LOG_IN_AS TS_NODE_COMPILER=typescript-cached-transpile next dev",
"local-prod": "yarn build-cached-data && DB_ENV=production REACT_APP_IMPRESS_LOG_IN_AS=$IMPRESS_LOG_IN_AS TS_NODE_COMPILER=typescript-cached-transpile next dev",
"build": "yarn build-cached-data && next build",
"vercel-build": "yum install libuuid-devel libmount-devel && cp /lib64/{libuuid,libmount,libblkid}.so.1 node_modules/canvas/build/Release/",
"test": "jest test --env=jsdom",
"lint": "next lint --dir src --dir pages",
"deploy-setup": "echo $'Setup requires you to become the root user. You\\'ll need to enter the password for your account on the remote web server below, and you must be part of the `sudo` user group.' && ansible-playbook -K -i deploy/inventory.cfg deploy/playbooks/setup.yml",
"deploy": "ansible-playbook -i deploy/inventory.cfg deploy/playbooks/deploy.yml",
"deploy-skip-build": "ansible-playbook -i deploy/inventory.cfg deploy/playbooks/deploy.yml --extra-vars='{\"skip_build\": true}'",
"mysql": "mysql --host=impress.openneo.net --user=$(dotenv -p IMPRESS_MYSQL_USER) --password=$(dotenv -p IMPRESS_MYSQL_PASSWORD) --database=openneo_impress",
"mysql-dev": "mysql --host=localhost --user=impress_2020_dev --password=impress_2020_dev --database=openneo_impress",
"mysql-admin": "mysql --host=impress.openneo.net --user=matchu --password --database=openneo_impress",
"mysqldump": "mysqldump --host=impress.openneo.net --user=$(dotenv -p IMPRESS_MYSQL_USER) --password=$(dotenv -p IMPRESS_MYSQL_PASSWORD)",
"setup-mysql": "yarn mysql-admin < scripts/setup-mysql.sql",
"setup-mysql-dev": "yarn mysql-dev < scripts/setup-mysql-dev-constants.sql && yarn mysql-dev < scripts/setup-mysql-dev-schema-impress.sql && yarn mysql-dev --database=openneo_id < scripts/setup-mysql-dev-schema-id.sql",
"run-script": "ts-node --compiler=typescript-cached-transpile --transpile-only -r dotenv/config",
"build-cached-data": "yarn run-script scripts/build-cached-data.js",
"cache-asset-manifests": "yarn run-script scripts/cache-asset-manifests.js",
"delete-user": "yarn run-script scripts/delete-user.js",
"export-users-to-auth0": "yarn run-script scripts/export-users-to-auth0.js",
"model-needed-items": "yarn run-script scripts/model-needed-items.js",
"validate-owls-data": "yarn run-script scripts/validate-owls-data.js",
"aws": "AWS_ACCESS_KEY_ID=$(dotenv -p ARCHIVE_STORAGE_READWRITE_ACCESS_KEY) AWS_SECRET_ACCESS_KEY=$(dotenv -p ARCHIVE_STORAGE_READWRITE_SECRET_KEY) aws --endpoint=https://$(dotenv -p ARCHIVE_STORAGE_HOST)",
"archive:full": "yarn archive:prepare:full && yarn archive:create:full && yarn archive:upload:full",
"archive:delta": "yarn archive:prepare:delta && yarn archive:create:delta && yarn archive:upload:delta",
"archive:prepare:full": "yarn run-script scripts/archive/prepare/full.js",
"archive:prepare:remote": "dotenv -- ./scripts/archive/prepare/remote.sh",
"archive:prepare:delta": "dotenv -- ./scripts/archive/prepare/delta.sh",
"archive:create:full": "dotenv -- ./scripts/archive/create/full.sh",
"archive:create:delta": "dotenv -- ./scripts/archive/create/delta.sh",
"archive:upload:full": "dotenv -- ./scripts/archive/upload/full.sh",
"archive:upload:delta": "dotenv -- ./scripts/archive/upload/delta.sh",
"archive:upload:test": "dotenv -- ./scripts/archive/upload/test.sh",
"db:export:schema": "./scripts/db/export/schema.sh",
"db:export:public-data": "./scripts/db/export/public-data.sh",
"db:setup-dev:minimal": "./scripts/db/setup-dev/minimal.sh",
"db:setup-dev:full": "./scripts/db/setup-dev/full.sh"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"5to6-codemod": "^1.8.0",
"@typescript-eslint/eslint-plugin": "^5.3.0",
"@typescript-eslint/parser": "^5.3.0",
"apollo-server-testing": "^2.12.0",
"auth0": "^2.28.0",
"dotenv-cli": "^3.1.0",
"es6-promise-pool": "^2.5.0",
"eslint": "<8.0.0",
"eslint-config-next": "12.0.2",
"husky": "^6.0.0",
"imports-loader": "^1.2.0",
"inquirer": "^7.3.3",
"jest-image-snapshot": "^4.3.0",
"lint-staged": "^10.5.4",
"prettier": "^2.0.5",
"react-is": "^16.13.1",
"ts-node": "^9.1.1",
"typescript-cached-transpile": "^0.0.6",
"yargs": "^17.3.1"
}
}