{ "name": "felicity-lims", "version": "0.1.0", "main": "webapp/main.ts", "license": "Public", "scripts": { "uv": "cd felicity && uvicorn main:flims --host=0.0.0.0 --port=8000 --workers 1", "uv:watch": "cd felicity && uvicorn main:flims --reload --host=0.0.0.0 --port=8000 --workers 1", "gu": "cd felicity && gunicorn main:flims --workers 1 --worker-class uvicorn.workers.UvicornH11Worker --bind 0.0.0.0:8000 --name felicity --access-logfile - --error-logfile - --log-level info --timeout 600", "gu:watch": "cd felicity && gunicorn main:flims --workers 1 --worker-class uvicorn.workers.UvicornH11Worker --bind 0.0.0.0:8000 --name felicity --reload --access-logfile - --error-logfile - --log-level info --timeout 600", "al:upgrade": "cd felicity && alembic upgrade head", "al:revision": "cd felicity && alembic revision --autogenerate -m", "backend:test": "cd felicity && bash ./scripts/test.sh", "backend:lint": "cd felicity && bash ./scripts/lint.sh", "backend:format": "cd felicity && bash ./scripts/format.sh", "backend:format:imports": "cd felicity && bash ./scripts/format_imports.sh", "dev": "vite", "vf": "vite --force", "build": "rm -rf felicity/static/* && vite build && cp -r dist/** felicity/static", "prettier:check": "prettier --check \"{,webapp/**/}*.{md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss}\"", "prettier:format": "prettier --write \"{,webapp/**/}*.{md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss}\"", "lint": "eslint . --ext .js,.ts,.tsx,.vue", "lint:fix": "npm run lint -- --fix" }, "dependencies": { "@antv/g2": "^4.2.8", "@antv/g2plot": "^2.4.23", "@ckeditor/ckeditor5-build-decoupled-document": "^35.4.0", "@editorjs/editorjs": "^2.26.4", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/free-brands-svg-icons": "^6.2.1", "@fortawesome/free-regular-svg-icons": "^6.2.1", "@fortawesome/free-solid-svg-icons": "^6.2.1", "@fortawesome/vue-fontawesome": "^3.0.2", "@types/lodash-es": "^4.17.6", "@urql/core": "^3.1.1", "@urql/exchange-auth": "^1.0.0", "@urql/vue": "^1.0.4", "@vueform/multiselect": "^2.5.8", "@vueuse/core": "^9.9.0", "@vueuse/motion": "2.0.0-beta.12", "axios": "^1.2.2", "crypto-js": "^4.1.1", "dayjs": "^1.11.7", "floating-vue": "2.0.0-beta.20", "graphql": "^16.6.0", "graphql-tag": "^2.12.6", "graphql-ws": "^5.11.2", "js-confetti": "^0.11.0", "jstat": "^1.9.6", "jwt-decode": "^3.1.2", "lodash-es": "^4.17.21", "mitt": "^3.0.0", "moment": "^2.29.4", "notyf": "^3.10.0", "pdf-lib": "^1.17.1", "pinia": "^2.0.28", "process": "^0.11.10", "react": "^18.2.0", "split.js": "^1.6.5", "subscriptions-transport-ws": "^0.11.0", "sweetalert2": "^11.6.16", "tailwindcss": "^3.2.4", "urql": "^3.0.3", "vee-validate": "^4.7.3", "vite-tsconfig-paths": "^4.0.3", "vue": "^3.2.45", "vue-multiselect": "3.0.0-alpha.2", "vue-router": "^4.1.6", "vue-sweetalert2": "^5.0.5", "vuedraggable": "^4.1.0", "wonka": "^6.1.2", "yup": "^0.32.11" }, "devDependencies": { "@tailwindcss/forms": "^0.5.3", "@types/node": "^18.11.18", "@urql/devtools": "^2.0.3", "@vitejs/plugin-vue": "^4.0.0", "@vitejs/plugin-vue-jsx": "^3.0.0", "@vue/compiler-sfc": "^3.2.45", "autoprefixer": "^10.4.13", "eslint": "^8.31.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-vue": "^9.8.0", "jshint": "^2.13.6", "postcss": "^8.4.20", "prettier": "^2.8.1", "typescript": "^4.9.4", "vite": "^4.0.3" } }