emilepharand/Babilonia

View on GitHub
package.json

Summary

Maintainability
Test Coverage
{
  "name": "babilonia",
  "version": "2.2.0-dev",
  "author": "Émile Pharand",
  "license": "MIT",
  "private": true,
  "type": "module",
  "scripts": {
    "clean": "rimraf -g tests/coverage release .nyc_output_cypress dist/tests 'dist/!(*.db)'",
    "build": "export $(xargs < .env${NODE_ENV:+.${NODE_ENV}}) && npm run clean && vite build && webpack",
    "postbuild": "scripts/postbuild.sh",
    "release": "scripts/release.sh",
    "release:test": "npm run release && rm -rf dist && unzip -o release/*.zip -d dist && tests/bash/tests.sh sqlite3",
    "dev": "export $(xargs < .env) && run-p dev:serve dev:serve:vue",
    "dev:serve": "nodemon server/index.ts --dev-mode",
    "dev:serve:vue": "vite --port=$VITE_BASE_PORT",
    "check": "npx vue-tsc --noEmit && npm run lint",
    "lint": "eslint . --ext .ts --max-warnings=0 && eslint . --ext .vue --max-warnings=0 && eslint . --ext .js --max-warnings=0",
    "test:build": "NODE_ENV=test npm run build && npm run test:prepare",
    "test:prepare": "bash tests/bash/prepare.sh",
    "test": "npm run check && npm run test:build && npm run test:bash && npm run test:integration && npm run test:e2e",
    "test:quick": "export $(xargs < .env.test) && npm run clean && webpack && npm run postbuild && npm run test:prepare && npm run test:integration",
    "test:serve": "cd dist && npm start >> log.txt 2>&1",
    "test:bash": "export $(xargs < .env.test) && tests/bash/tests.sh",
    "test:integration": "export $(xargs < .env.test) && start-server-and-test test:serve :$VITE_API_PORT test:integration:run",
    "test:integration:run": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --silent=false && npm run test:integration:coverage",
    "test:integration:coverage": "cp tests/coverage/jest/coverage-final.json tests/coverage/merged/coverage-jest.json && curl localhost:$VITE_BASE_PORT/__coverage__ | cut -c13- | sed 's/.$//' > tests/coverage/merged/coverage-nyc.json",
    "test:e2e": "export $(xargs < .env.test) && npm run test:prepare && start-server-and-test test:serve :$VITE_API_PORT test:e2e:run",
    "test:e2e:run": "cypress run --browser chromium && npm run test:coverage",
    "test:coverage": "npm run test:merge && npm run test:report",
    "test:merge": "cp tests/coverage/cypress/coverage-final.json tests/coverage/merged/coverage-cypress.json",
    "test:report": "nyc report -t tests/coverage/merged --report-dir tests/coverage/merged -r=html -r=cobertura && rm -rf .nyc_output*",
    "test:dev:vue": "export $(xargs < .env.test) && start-server-and-test test:dev:serve :$VITE_BASE_PORT test:e2e:run",
    "test:dev:serve": "export $(xargs < .env.test) && run-p test:dev:serve:integration dev:serve:vue",
    "test:dev:serve:integration": "export $(xargs < .env.test) && nodemon server/index.ts --dev-mode",
    "test:dev:integration:run": "npm run test:prepare && TEST_DEV=true npm run test:integration:run"
  },
  "dependencies": {
    "@fortawesome/fontawesome-free": "^6.6.0",
    "ajv": "^8.17.1",
    "async-lock": "^1.4.1",
    "bootstrap": "^5.3.3",
    "cors": "^2.8.5",
    "datatables.net-bs5": "^2.1.7",
    "express": "^4.21.0",
    "rimraf": "^6.0.1",
    "sqlite": "^5.1.1",
    "sqlite3": "^5.1.7",
    "vue": "^3.5.10",
    "vue-router": "^4.4.5"
  },
  "devDependencies": {
    "@cypress/code-coverage": "^3.13.2",
    "@istanbuljs/nyc-config-typescript": "^1.0.2",
    "@types/async-lock": "^1.4.2",
    "@types/bootstrap": "^5.2.10",
    "@types/cors": "^2.8.17",
    "@types/jest": "^29.5.13",
    "@typescript-eslint/eslint-plugin": "^7.17.0",
    "@typescript-eslint/parser": "^7.18.0",
    "@vitejs/plugin-vue": "^5.1.4",
    "@vue/cli-plugin-babel": "~5.0.8",
    "@vue/cli-plugin-e2e-cypress": "~5.0.8",
    "@vue/cli-plugin-eslint": "~5.0.8",
    "@vue/cli-plugin-router": "~5.0.8",
    "@vue/cli-plugin-typescript": "~5.0.8",
    "@vue/cli-service": "~5.0.8",
    "@vue/compiler-sfc": "^3.3.7",
    "@vue/eslint-config-typescript": "^13.0.0",
    "@vue/test-utils": "^2.4.6",
    "cypress": "^13.15.0",
    "cypress-fail-on-console-error": "^5.1.1",
    "dotenv": "^16.4.5",
    "eslint": "^8.57.0",
    "eslint-config-standard": "^17.1.0",
    "eslint-config-xo": "^0.45.0",
    "eslint-config-xo-typescript": "^5.0.0",
    "eslint-plugin": "^1.0.1",
    "eslint-plugin-cypress": "^3.4.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^6.4.0",
    "eslint-plugin-vue": "^9.27.0",
    "jest": "^29.7.0",
    "node-fetch": "^3.3.2",
    "nodemon": "^3.1.7",
    "npm-run-all": "^4.1.5",
    "serve": "^14.2.3",
    "start-server-and-test": "^2.0.8",
    "ts-jest": "^29.2.5",
    "ts-loader": "^9.5.1",
    "ts-node": "^10.9.2",
    "typescript": "^5.6.2",
    "vite": "^5.4.8",
    "vite-plugin-istanbul": "^6.0.2",
    "vue-eslint-parser": "^9.4.3",
    "vue-tsc": "^2.1.6",
    "webpack": "^5.95.0",
    "webpack-cli": "^5.1.4",
    "webpack-node-externals": "^3.0.0"
  },
  "nyc": {
    "report-dir": "tests/coverage/cypress",
    "temp-dir": ".nyc_output_cypress"
  }
}