elabftw/elabftw

View on GitHub
package.json

Summary

Maintainability
Test Coverage
{
  "name": "elabftw",
  "description": "Free and open source electronic lab notebook for research labs",
  "main": "builder.js",
  "directories": {
    "test": "tests"
  },
  "dependencies": {
    "3dmol": "^2.1.0",
    "@deltablot/chemdoodle-web-mini": "^9.5.1",
    "@deltablot/dropzone": "^7.1.2",
    "@deltablot/malle": "^2.6.0",
    "@fancyapps/fancybox": "^3.5.7",
    "@fullcalendar/bootstrap": "^6.1.11",
    "@fullcalendar/core": "^6.1.11",
    "@fullcalendar/daygrid": "^6.1.11",
    "@fullcalendar/interaction": "^6.1.11",
    "@fullcalendar/list": "^6.1.11",
    "@fullcalendar/timegrid": "^6.1.11",
    "@teselagen/bio-parsers": "^0.4.15",
    "@teselagen/ove": "^0.4.10",
    "@yarnpkg/core": "^4.0.3",
    "@yarnpkg/fslib": "^3.0.2",
    "@yarnpkg/libzip": "^3.0.1",
    "bootstrap": "^4.6.2",
    "bootstrap-markdown-fa5": "^2.10.2",
    "css-loader": "^6.11.0",
    "css-minimizer-webpack-plugin": "^5.0.1",
    "diff-match-patch": "^1.0.5",
    "expose-loader": "^4.1.0",
    "i18next": "^23.11.2",
    "jquery": "^3.7.1",
    "jquery-ui": "^1.13.2",
    "jsoneditor": "^9.10.5",
    "luxon": "^3.4.4",
    "marked": "^11.2.0",
    "mathjax-full": "^3.2.2",
    "mini-css-extract-plugin": "^2.9.0",
    "peggy": "^3.0.2",
    "phpeggy": "^2.0.1",
    "popper.js": "^1.16.1",
    "prismjs": "^1.29.0",
    "sass": "^1.75.0",
    "terser-webpack-plugin": "^5.3.10",
    "tinymce": "^6.8.3",
    "tom-select": "^2.3.1",
    "ts-loader": "^9.5.1",
    "typescript": "5.2.2",
    "webpack": "^5.91.0",
    "webpack-cli": "^5.1.4"
  },
  "devDependencies": {
    "@types/bootstrap": "^5.2.10",
    "@types/dropzone": "^5.7.8",
    "@types/fancybox": "^3.5.7",
    "@types/jquery": "^3.5.29",
    "@types/jqueryui": "^1.12.22",
    "@types/luxon": "^3.4.2",
    "@types/marked": "^6.0.0",
    "@typescript-eslint/eslint-plugin": "^6.21.0",
    "@typescript-eslint/parser": "^6.21.0",
    "cypress": "^13.8.1",
    "cypress-html-validate": "^6.1.0",
    "eslint": "^8.57.0",
    "html-validate": "^8.18.2",
    "postcss": "^8.4.38",
    "postcss-scss": "^4.0.9",
    "sass-loader": "^13.3.3",
    "stylelint": "^15.11.0",
    "stylelint-config-sass-guidelines": "^10.0.0",
    "webpack-bundle-analyzer": "^4.10.2"
  },
  "scripts": {
    "analyzejs": "yarn run buildprofile && webpack-bundle-analyzer stats.json web/assets -m static -O",
    "api": "tests/run.sh api",
    "apidocv2": "docker run --name swagger --rm -e SWAGGER_JSON=/c/openapi.yaml -v $(pwd)/apidoc/v2/:/c -p 8085:8080 -d swaggerapi/swagger-ui && echo 'APIv2 Doc: http://localhost:8085' && echo 'Run docker stop swagger to remove it.'",
    "brotli": "brotli -vf web/assets/*.css web/assets/*.js web/assets/*.svg web/assets/images/*.svg",
    "zopfli": "zopfli -i1000 web/assets/*.css web/assets/*.js web/assets/*.svg web/assets/images/*.svg",
    "build": "webpack-cli --progress --config builder.js",
    "build:dev": "webpack-cli --config builder.js",
    "build:prod": "webpack-cli --mode production --env production --config builder.js",
    "buildnode": "webpack-cli --progress --config node-builder.js",
    "buildnode:dev": "webpack-cli --config node-builder.js",
    "buildall": "CYPRESS_INSTALL_BINARY=0 yarn install --immutable && yarn buildjs && yarn buildcss && yarn buildparser && yarn brotli && yarn zopfli",
    "buildall:prod": "CYPRESS_INSTALL_BINARY=0 yarn install --immutable && yarn buildjs:prod && yarn buildcss && yarn buildparser && yarn brotli && yarn zopfli",
    "buildall:dev": "CYPRESS_INSTALL_BINARY=0 yarn install --immutable && yarn build:dev && yarn buildnode:dev && yarn buildcss && yarn buildparser",
    "buildcss": "yarn sass --quiet-deps --style compressed src/scss/pdf.scss:web/assets/pdf.min.css",
    "buildjs": "yarn build && yarn buildnode",
    "buildjs:prod": "yarn build:prod && yarn buildnode",
    "buildparser": "mkdir -p ./cache/advancedSearchQuery && yarn peggy --extra-options-file ./src/node/grammar/peggy-config.js",
    "buildprofile": "webpack-cli --config builder.js --profile --json > stats.json",
    "buildnodeprofile": "webpack-cli --config node-builder.js --profile --json > node-stats.json",
    "clean": "rm -rvf web/assets/*.min.css* web/assets/*.bundle.js*",
    "codespell": "codespell --config src/tools/codespellrc",
    "csslint": "yarn run stylelint src/scss/*.scss",
    "cy": "tests/run.sh cy",
    "full": "yarn phpcs && yarn jslint && yarn csslint && yarn psalm && yarn phpstan && yarn test unit",
    "jslint:all": "yarn run jslint && yarn run jslint:cy",
    "jslint-ci:all": "yarn run jslint-ci && yarn run jslint-ci:cy",
    "jslint": "eslint --ext .ts src/ts",
    "jslint-ci": "eslint --ext .ts --quiet src/ts",
    "jslint:cy": "eslint --ext .ts tests/cypress",
    "jslint-ci:cy": "eslint --ext .ts --quiet tests/cypress",
    "phpcs": "./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v",
    "phpcs-dry": "./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --dry-run --stop-on-violation",
    "phpmetrics": "phpmetrics --report-html=metrics . && firefox metrics/index.html",
    "phpstan": "composer run-script phpstan",
    "pre-commit": "yarn phpcs-dry && yarn static && yarn csslint && yarn jslint:all && yarn twigcs",
    "psalm": "composer run-script psalm",
    "srcdoc": "phpDocumentor run --cache-folder /tmp -i ./cache -i ./uploads -d src/classes -d src/controllers -d src/exceptions -d src/interfaces -d src/models -d src/services -d src/traits -d web/app/controllers -t _srcdoc --setting=graphs.enabled=true",
    "static": "composer run-script psalm && composer run-script phpstan",
    "test": "tests/run.sh",
    "test:clean": "php vendor/bin/codecept clean",
    "twigcs": "php vendor/bin/twigcs",
    "unit": "tests/run.sh unit",
    "unit-ci": "php vendor/bin/codecept run unit",
    "watchpdfcss": "sass --quiet-deps --watch src/scss/pdf.scss:web/assets/pdf.min.css",
    "watchjs": "webpack-cli --config builder.js --mode=development --watch --progress",
    "watchnode": "webpack-cli --config node-builder.js --mode=development --watch --progress"
  },
  "repository": "git+https://github.com/elabftw/elabftw.git",
  "author": "Nicolas CARPi",
  "license": "AGPL-3.0",
  "bugs": {
    "url": "https://github.com/elabftw/elabftw/issues"
  },
  "homepage": "https://www.elabftw.net",
  "packageManager": "yarn@4.0.0"
}