package.json 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. {
  2. "scripts": {
  3. "lint": "xo src/*.js",
  4. "format": "npm run format:js && npm run format:md",
  5. "format:md": "prettier --write --parser markdown '**/*.md'",
  6. "format:js": "prettier --write '{src,demos,scripts,test,website}/*.js'",
  7. "commit-amend-build": "scripts/commit-amend-build.sh",
  8. "prebuild": "rimraf dist/**",
  9. "dev": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -w -c -o dist/purify.js",
  10. "build": "cross-env run-p build:umd build:umd:min build:es build:cjs",
  11. "build:umd": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -c -f umd -o dist/purify.js",
  12. "build:umd:min": "cross-env NODE_ENV=production BABEL_ENV=rollup rollup -c -f umd -o dist/purify.min.js",
  13. "build:es": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -c -f es -o dist/purify.es.js",
  14. "build:cjs": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -c -f cjs -o dist/purify.cjs.js",
  15. "test:jsdom": "cross-env NODE_ENV=test BABEL_ENV=rollup node test/jsdom-node-runner --dot",
  16. "test:karma": "cross-env NODE_ENV=test BABEL_ENV=rollup karma start test/karma.conf.js --log-level warn ",
  17. "test:ci": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run test:jsdom && npm run test:karma -- --log-level error --reporters dots --single-run --shouldTestOnBrowserStack=\"${TEST_BROWSERSTACK}\" --shouldProbeOnly=\"${TEST_PROBE_ONLY}\"",
  18. "test": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run lint && npm run test:jsdom && npm run test:karma -- --browsers Chrome"
  19. },
  20. "main": "dist/purify.cjs.js",
  21. "module": "dist/purify.es.js",
  22. "browser": "dist/purify.js",
  23. "files": [
  24. "dist"
  25. ],
  26. "pre-commit": [
  27. "lint",
  28. "build",
  29. "commit-amend-build"
  30. ],
  31. "xo": {
  32. "semicolon": true,
  33. "space": 2,
  34. "extends": [
  35. "prettier"
  36. ],
  37. "plugins": [
  38. "prettier"
  39. ],
  40. "rules": {
  41. "import/no-useless-path-segments": 0,
  42. "unicorn/prefer-optional-catch-binding": 0,
  43. "unicorn/prefer-node-remove": 0,
  44. "prettier/prettier": [
  45. "error",
  46. {
  47. "trailingComma": "es5",
  48. "singleQuote": true
  49. }
  50. ],
  51. "camelcase": [
  52. "error",
  53. {
  54. "properties": "never"
  55. }
  56. ]
  57. },
  58. "globals": [
  59. "window",
  60. "VERSION"
  61. ]
  62. },
  63. "devDependencies": {
  64. "@babel/plugin-external-helpers": "7.12.13",
  65. "babel-core": "^6.26.3",
  66. "babel-preset-env": "^1.7.0",
  67. "cross-env": "^7.0.3",
  68. "eslint-config-prettier": "^8.3.0",
  69. "eslint-plugin-prettier": "^4.0.0",
  70. "he": "^1.2.0",
  71. "jquery": "^3.6.0",
  72. "jsdom": "16.x.x",
  73. "karma": "^6.3.14",
  74. "karma-browserstack-launcher": "^1.5.1",
  75. "karma-chrome-launcher": "^3.1.0",
  76. "karma-firefox-launcher": "^2.1.2",
  77. "karma-fixture": "^0.2.6",
  78. "karma-html2js-preprocessor": "^1.0.0",
  79. "karma-json-fixtures-preprocessor": "0.0.6",
  80. "karma-qunit": "^4.1.2",
  81. "karma-rollup-preprocessor": "^5.0.2",
  82. "lodash.sample": "^4.2.1",
  83. "minimist": "^1.2.5",
  84. "npm-run-all": "^4.1.5",
  85. "pre-commit": "^1.2.2",
  86. "prettier": "^2.5.1",
  87. "qunit-tap": "^1.5.0",
  88. "qunit": "^2.4.1",
  89. "rimraf": "^3.0.2",
  90. "rollup": "^0.68.2",
  91. "rollup-plugin-babel": "^3.0.3",
  92. "rollup-plugin-commonjs": "^8.4.1",
  93. "rollup-plugin-includepaths": "^0.2.3",
  94. "rollup-plugin-node-resolve": "^3.4.0",
  95. "rollup-plugin-replace": "^2.2.0",
  96. "rollup-plugin-terser": "^7.0.2",
  97. "xo": "^0.48.0"
  98. },
  99. "resolutions": {
  100. "natives": "1.1.6"
  101. },
  102. "name": "dompurify",
  103. "description": "DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Firefox and Chrome - as well as almost anything else using Blink or WebKit). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.",
  104. "version": "2.3.6",
  105. "directories": {
  106. "test": "test"
  107. },
  108. "repository": {
  109. "type": "git",
  110. "url": "git://github.com/cure53/DOMPurify.git"
  111. },
  112. "keywords": [
  113. "dom",
  114. "xss",
  115. "html",
  116. "svg",
  117. "mathml",
  118. "security",
  119. "secure",
  120. "sanitizer",
  121. "sanitize",
  122. "filter",
  123. "purify"
  124. ],
  125. "author": "Mario Heiderich <mario@cure53.de> (https://cure53.de/)",
  126. "license": "(MPL-2.0 OR Apache-2.0)",
  127. "bugs": {
  128. "url": "https://github.com/cure53/DOMPurify/issues"
  129. },
  130. "homepage": "https://github.com/cure53/DOMPurify"
  131. }