{
  "name": "ledgersmb-js",
  "version": "1.12.20",
  "lockfileVersion": 2,
  "description": "LedgerSMB JS files",
  "keywords": [
    "JavaScript",
    "Dojo",
    "Toolkit",
    "Dijit",
    "lsmb"
  ],
  "license": "GPL-2.0-or-later",
  "maintainers": [
    {
      "name": "Erik Huelsmann"
    },
    {
      "name": "Chris Travers"
    }
  ],
  "contributors": [
    {
      "name": "John Locke"
    },
    {
      "name": "David Godfrey"
    },
    {
      "name": "Yves Lavoie"
    }
  ],
  "_browserslist-comment": [
    "explicitly exclude Edge <= 18, because 'and supports input-event'",
    "fails to exclude Edge 16-18"
  ],
  "browserslist": [
    "supports es6-module and supports async-functions and supports xhr2 and supports bloburls and supports css-variables and supports css3-boxsizing and supports border-radius and supports fetch and supports classlist and supports multicolumn and not edge <= 18 and supports css-display-contents and supports same-site-cookie-attribute"
  ],
  "bugs": "https://github.com/ledgersmb/LedgerSMB/issues",
  "repository": {
    "type": "git",
    "url": "https://github.com/ledgersmb/LedgerSMB"
  },
  "dependencies": {
    "content-disposition": "2.0.1",
    "dijit": "1.17.3",
    "dojo": "1.17.3",
    "pinia": "3.0.4",
    "robot3": "1.2.0",
    "rtl-detect": "1.1.2",
    "tapable": "2.3.3",
    "vue": "3.5.39",
    "vue-i18n": "11.4.6",
    "vue-router": "5.1.0"
  },
  "devDependencies": {
    "@babel/core": "7.29.7",
    "@babel/eslint-parser": "7.29.7",
    "@babel/plugin-transform-object-rest-spread": "^7.24.7",
    "@babel/preset-env": "7.29.7",
    "@eslint/js": "9.39.4",
    "@pinia/testing": "1.0.3",
    "@redocly/cli": "2.36.0",
    "@vue/test-utils": "2.4.11",
    "@vue/vue3-jest": "29.2.6",
    "babel-jest": "30.4.1",
    "babel-loader": "10.1.1",
    "browserslist": "4.28.4",
    "buffer": "6.0.3",
    "clean-webpack-plugin": "4.0.0",
    "compression-webpack-plugin": "12.0.0",
    "copy-webpack-plugin": "14.0.0",
    "core-js": "3.49.0",
    "coveralls-next": "6.0.2",
    "css-loader": "7.1.4",
    "css-minimizer-webpack-plugin": "8.0.0",
    "cssnano": "8.0.2",
    "dojo-util": "1.17.3",
    "dojo-webpack-plugin": "3.0.14",
    "ejs-loader": "0.5.0",
    "eslint": "9.39.4",
    "eslint-config-eslint": "14.0.0",
    "eslint-config-prettier": "10.1.8",
    "eslint-import-resolver-webpack": "0.13.11",
    "eslint-plugin-compat": "7.0.2",
    "eslint-plugin-import-x": "4.17.1",
    "eslint-plugin-jest": "29.15.4",
    "eslint-plugin-json": "4.0.1",
    "eslint-plugin-n": "18.2.1",
    "eslint-plugin-package-json": "1.5.0",
    "eslint-plugin-prettier": "5.5.6",
    "eslint-plugin-vue": "10.9.2",
    "eslint-webpack-plugin": "6.0.0",
    "flush-promises": "1.0.2",
    "globals": "17.7.0",
    "html-webpack-plugin": "5.6.7",
    "http-status-codes": "2.3.0",
    "i18next-conv": "17.0.0",
    "jest": "30.4.2",
    "jest-environment-jsdom": "^30.0.0",
    "jest-fixed-jsdom": "^0.0.11",
    "jest-openapi": "0.14.2",
    "jest-serializer-vue": "3.1.0",
    "jsdom": "29.1.1",
    "jsonc-eslint-parser": "3.1.0",
    "markdown-include": "0.4.3",
    "markdownlint": "0.41.0",
    "markdownlint-cli": "0.49.0",
    "mini-css-extract-plugin": "2.10.2",
    "msw": "2.14.6",
    "npm-run-all2": "9.0.2",
    "openapi-merge-cli": "1.3.2",
    "path-browserify": "1.0.1",
    "postcss": "8.5.16",
    "prettier": "3.9.4",
    "stylelint": "17.14.0",
    "stylelint-config-standard": "40.0.0",
    "stylelint-declaration-block-no-ignored-properties": "3.0.0",
    "stylelint-no-nested-media": "0.1.0",
    "stylelint-no-unsupported-browser-features": "8.1.1",
    "stylelint-order": "8.1.1",
    "stylelint-webpack-plugin": "5.1.0",
    "tmp": "0.2.7",
    "typescript": "6.0.3",
    "undici": "8.5.0",
    "unix-timestamp": "1.1.0",
    "unused-webpack-plugin": "2.4.0",
    "vue-eslint-parser": "^10.0.0",
    "vue-i18n-extract-translations": "0.1.3",
    "vue-loader": "17.4.2",
    "webpack": "5.108.3",
    "webpack-bundle-analyzer": "5.3.0",
    "webpack-cli": "7.1.0",
    "webpack-deduplication-plugin": "0.0.8",
    "webpack-dev-server": "5.2.5",
    "webpack-merge": "6.0.1",
    "webpack-sources": "3.5.0",
    "webpack-virtual-modules": "0.6.2",
    "yaml-jest-transform": "^2.0.2",
    "yargs": "18.0.0"
  },
  "homepage": "http://ledgersmb.org/",
  "scripts": {
    "analyzer": "webpack-bundle-analyzer logs/stats.json UI/js -h 0.0.0.0",
    "build": "webpack --mode=production --stats errors-warnings",
    "build:dev": "webpack --progress --mode=development --stats errors-warnings",
    "lint": "yarn run lint:css && yarn run lint:js && yarn run lint:markdown && yarn run lint:vue",
    "lint:css": "stylelint css/**/*.css",
    "lint:js": "eslint {src,js-src,tests}/**/*.js",
    "lint:js:fix": "eslint --fix {src,js-src,tests}/**/*.js",
    "lint:markdown": "markdownlint --config ../.markdownlint.json --ignore ./node_modules --ignore ./js .",
    "lint:vue": "eslint src/**/*.vue",
    "lint:vue:fix": "eslint --fix src/**/*.vue",
    "profile": "webpack --progress=profile --json > logs/stats.json",
    "readme": "webpack --mode production --stats errors-warnings",
    "serve": "webpack serve --mode development",
    "test": "jest",
    "test:unit": "jest --group=test:unit"
  },
  "babel": {
    "presets": [
      [
        "@babel/preset-env"
      ]
    ]
  },
  "prettier": {
    "bracketSpacing": true,
    "printWidth": 80,
    "quote-props": [
      "error",
      "consistent"
    ],
    "semi": true,
    "singleQuote": false,
    "tabWidth": 4,
    "trailingComma": "none",
    "useTabs": false,
    "insertPragma": true,
    "proseWrap": "preserve"
  },
  "stylelint": {
    "defaultSeverity": "warning",
    "extends": "stylelint-config-standard",
    "plugins": [
      "stylelint-declaration-block-no-ignored-properties",
      "stylelint-no-nested-media",
      "stylelint-no-unsupported-browser-features",
      "stylelint-order"
    ],
    "ignoreFiles": [
      "**/*.js",
      "**/*.jsx",
      "**/*.html",
      "**/*.po*",
      "UI/**/dojo/**/*.css",
      "UI/**/dijit/**/*.css",
      "UI/**/util/**/*.css",
      "UI/js/**",
      "UI/pod/**",
      "doc/openapi/**"
    ],
    "rules": {
      "declaration-block-no-duplicate-custom-properties": null,
      "order/order": [
        "custom-properties",
        "declarations"
      ],
      "order/properties-alphabetical-order": true,
      "plugin/no-unsupported-browser-features": [
        true,
        {
          "ignorePartialSupport": true
        }
      ],
      "plugin/declaration-block-no-ignored-properties": true,
      "pitcher/no-nested-media": true,
      "selector-class-pattern": null,
      "custom-property-pattern": null,
      "selector-id-pattern": null
    }
  }
}
