{ "name": "felicity-lims", "version": "0.1.5", "main": "webapp/main.ts", "license": "Public", "scripts": { "webapp:dev": "vite", "webapp:dev:watch": "concurrently \"pnpm run webapp:codegen\" \"pnpm run webapp:dev\"", "webapp:vf": "vite --force", "webapp:build:report": "npx vite-bundle-visualizer", "webapp:build:only": "vite build", "webapp:prettier:check": "prettier --check \"{,webapp/**/}*.{md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss}\"", "webapp:prettier:format": "prettier --write \"{,webapp/**/}*.{md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss}\"", "webapp:lint": "eslint . --ext .js,.ts,.tsx,.vue", "webapp:lint:fix": "npm run lint -- --fix", "webapp:codegen": "graphql-codegen --config codegen.yml --watch --verbose", "server:install": "pip install -e .", "server:uv": "uvicorn felicity.main:felicity", "server:uv:watch": "uvicorn felicity.main:felicity --reload", "server:gu": "gunicorn felicity.main:felicity --workers 5 --worker-class uvicorn.workers.UvicornH11Worker --bind 0.0.0.0:8000 --name felicity --access-logfile - --error-logfile - --log-level info --timeout 600", "server:gu:watch": "gunicorn felicity.main:felicity --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", "server:test": "bash ./felicity/scripts/test.sh", "server:lint": "bash ./felicity/scripts/lint.sh", "server:format": "bash ./felicity//scripts/format.sh", "server:format:imports": "bash ./felicity/scripts/format_imports.sh", "server:schema:export": "strawberry export-schema felicity.api.gql.schema:schema > ./felicity/api/gql/schema.graphql", "server:schema:export:tofront": "strawberry export-schema felicity.api.gql.schema:schema > ./webapp/graphql/schema.graphql", "standalone:build": "rm -rf felicity/templates/static/* && vite build && cp -r dist/** felicity/templates/static", "db:upgrade": "felicity-lims upgrade", "db:revision": "felicity-lims revision", "db:updates": "felicity-lims updates" }, "dependencies": { "@antv/g2": "^4.2.10", "@antv/g2plot": "^2.4.31", "@ckeditor/ckeditor5-build-decoupled-document": "^35.4.0", "@ckeditor/ckeditor5-vue": "^7.2.0", "@editorjs/editorjs": "^2.28.2", "@fortawesome/fontawesome-svg-core": "^6.5.1", "@fortawesome/free-brands-svg-icons": "^6.5.1", "@fortawesome/free-regular-svg-icons": "^6.5.1", "@fortawesome/free-solid-svg-icons": "^6.5.1", "@fortawesome/vue-fontawesome": "^3.0.5", "@graphql-codegen/cli": "^5.0.0", "@graphql-codegen/client-preset": "^4.1.0", "@graphql-codegen/near-operation-file-preset": "^3.0.0", "@graphql-codegen/typescript": "^4.0.1", "@graphql-codegen/typescript-operations": "^4.0.1", "@graphql-codegen/typescript-urql": "^3.7.3", "@graphql-codegen/typescript-urql-graphcache": "^3.1.0", "@graphql-codegen/typescript-vue-urql": "^2.3.6", "@graphql-codegen/urql-introspection": "^3.0.0", "@graphql-typed-document-node/core": "^3.2.0", "@kyvg/vue3-notification": "^3.4.1", "@magidoc/cli": "^4.1.2", "@types/lodash-es": "^4.17.12", "@urql/core": "^3.2.2", "@urql/exchange-auth": "^1.0.0", "@urql/vue": "^1.1.2", "@vueform/multiselect": "^2.6.6", "@vuepic/vue-datepicker": "^10.0.0", "@vueuse/core": "^9.13.0", "@vueuse/motion": "2.0.0-beta.12", "axios": "^1.6.5", "ckeditor5": "^43.3.1", "crypto-js": "^4.2.0", "dayjs": "^1.11.10", "floating-vue": "2.0.0-beta.20", "graphql": "^16.8.1", "graphql-tag": "^2.12.6", "graphql-ws": "^5.14.3", "js-confetti": "^0.11.0", "jstat": "^1.9.6", "jwt-decode": "^3.1.2", "lodash-es": "^4.17.21", "mitt": "^3.0.1", "moment": "^2.30.1", "notyf": "^3.10.0", "pdf-lib": "^1.17.1", "pinia": "^2.1.7", "process": "^0.11.10", "react": "^18.2.0", "socket.io": "^4.7.4", "socket.io-client": "^4.7.4", "split.js": "^1.6.5", "subscriptions-transport-ws": "^0.11.0", "sweetalert2": "^11.10.3", "tailwindcss": "^3.4.1", "urql": "^3.0.4", "vee-validate": "^4.12.4", "vite-tsconfig-paths": "^4.3.1", "vue": "^3.4.15", "vue-multiselect": "3.0.0-alpha.2", "vue-router": "^4.2.5", "vue-sweetalert2": "^5.0.5", "vuedraggable": "^4.1.0", "wonka": "^6.3.4", "yup": "^0.32.11" }, "devDependencies": { "@parcel/watcher": "^2.5.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.15", "@types/node": "^18.19.8", "@urql/devtools": "^2.0.3", "@vitejs/plugin-vue": "^4.6.2", "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/compiler-sfc": "^3.4.15", "autoprefixer": "^10.4.17", "concurrently": "^9.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "^8.10.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-vue": "^9.20.1", "jshint": "^2.13.6", "postcss": "^8.4.33", "prettier": "^2.8.8", "typescript": "^5.3.3", "vite": "^4.5.2" } }