package.json
{
"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"
}
}