{
	"name": "html-minifier-terser",
	"versions": {
		"5.0.0": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.0.0",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier": "./cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=6"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^3.0.0",
				"clean-css": "^4.2.1",
				"commander": "^4.0.0",
				"grunt-terser": "^1.0.0",
				"he": "^1.2.0",
				"param-case": "^2.1.1",
				"relateurl": "^0.2.7",
				"terser": "^4.3.9"
			},
			"devDependencies": {
				"grunt": "^1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"node-qunit-puppeteer": "^1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "3cc38da8fd2d1f90da9f7a4951e3081c7cec9343",
			"_id": "html-minifier-terser@5.0.0",
			"_nodeVersion": "12.4.0",
			"_npmVersion": "6.9.0",
			"dist": {
				"integrity": "sha512-CnFobZFSQSuaBIyro6S9AYVFnXoQhWO6H33N6hFOgt1mXkhsL2/3iPPu95A4ZVrh8Rjh9DpCYxEDCul26wMtwA==",
				"shasum": "8502590f32d9b98a11e190f1cc17ecf2a2eac008",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.0.tgz",
				"fileCount": 9,
				"unpackedSize": 96789,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvZbrCRA9TVsSAnZWagAADoIP+QB7Ed88n6ZRaJm+UcT6\nF131h8pJQO3nh/G88nA7+6XP/WyOjrcfGWI5aP775pBdvGnq8xyJLFrag5YE\neqMl0zvJb4LapHgmtnStOjb8u+ltciUXixwsOPAE0X5McCOJJELXRhGLX286\nw1exqNNwEHZhmx6udyL+Phn02OhD8fSBHYEyXjgtxZWK5iFcn4B47k20C1/Y\nOqjpMD3emNh+WfwoKkNlKya/yXr1BfABQjDzgqD/0re2A0o7atGF6Stg9h5s\nYn25Ur5T7I1Uf8kncCgXdcmJWxS0GmXsVIhlTzGVIdO2a0EQZntk7t4wic/R\n2bU4rAGs94+c8dA9/WWV2GX52qlVbXaneUMxEDWq9DUlK2RFCQBAoK+w97yb\n91txqbCznptEZEBs5RcNqzdKShXZcCFi+9kdH2IfMf9hTbcEPaQT9lIsTzH0\n1wZd+0ireLTfPX9RxkCEVnXywTRjCaXlT3ftDnYcZbmT8Upu013vDKxIb76g\ncsKhC/W741rgunpaPZtwFMvlF4tRy76fk3NcUZSaCzYX04aQ4tsvgYdsNG2A\noyKW3gYy9l+OwQCQtdODPEMjUFlXdciNod1+e7FrGmZqg8asm74lqDPZ6jDo\nB7715zuNO27J6aYih4VIdQJiTcMi0P0Lfww3IfEqVs20Jzeou0StQ2eKT1n5\n7Fbn\r\n=cRoP\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.0.0_1572706026880_0.14694157126651475"
			},
			"_hasShrinkwrap": false
		},
		"5.0.1": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.0.1",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier-terser": "./cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=10"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^3.0.0",
				"clean-css": "^4.2.1",
				"commander": "^4.0.0",
				"grunt-terser": "^1.0.0",
				"he": "^1.2.0",
				"param-case": "^2.1.1",
				"relateurl": "^0.2.7",
				"terser": "^4.3.9"
			},
			"devDependencies": {
				"grunt": "^1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"node-qunit-puppeteer": "^1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "4585270e1f6662a07a819a032805c5068e38acaa",
			"_id": "html-minifier-terser@5.0.1",
			"_nodeVersion": "10.16.3",
			"_npmVersion": "6.9.0",
			"dist": {
				"integrity": "sha512-vAEPryFyVB++xULObI5Ywktkkmtv0tVXlVnUc0CDuuivXQ7zgiRSubk46ScvbjFkQMNBbvUd6B19FnCraplSqA==",
				"shasum": "a9b21430d6929656830c7e3d65d7cad41752d4fb",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.1.tgz",
				"fileCount": 9,
				"unpackedSize": 96846,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvrxXCRA9TVsSAnZWagAA3fQP/A4PEZwk3mTSYHp3+TZZ\nIWZDtzEZgmsPU0eflSqKDGu3g+d5T1qg9fWHwfW1x5TQoAteV8IzaFcyK1CP\nHRnj8RZqZ/2/J/iXZ0LEEy1wYR/MQCoUyx+dsVxtmhm+6yzQjvUgPuArm2Bg\n/yKqeQ42n/UJKCeqadmXnUQWbymTG5+N0Ix3Tk9r3Rnvbraz4uL525R3FIqj\ne5gMjQzz067iAAewnn6oOBCFjI9Loe0/c2JD9YywxUsSOIfAk7ovC+fBWSRI\naUCDPnXcbXbsOSEyDYUcEcBmJr5twESCc2tcqqq4RTQt44McRas5XNxyi70d\nW/G/igFYSy+/mVzQJMs4CA5hudF7846VqXcGFNx8sJlaSPVMd9d3c/NempFe\nvoG8FW6ai196ham12ZiOPINppg+mFJKExiNT2b0ySwAxdQlBMqLyO8s+yNTI\nthCY4mT5iXx2PQvmXcRgmHr6cFiHLQ9r+Vpm2lTCHAiTpa5YIPGHMnAsO7Ch\nIsBnwjg7Mn6y3wPoTO1B6iTIWBHYXpkGhTC+jevB5S+f92VAYT0uE6Vt9xfS\nVNqontD78AZAe9/Ky9wTSLL3rXWm66zR4JcAtf/wU2ExuarviPwP8w2bzJdQ\n6u+4cOAwr/kTID2vzHK7vZkGJ7s4bl2RQGAjpb8MCLs+D6pOa4MQq9vIYkGc\nxHrs\r\n=Fi5j\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.0.1_1572781143414_0.9673997847676548"
			},
			"_hasShrinkwrap": false
		},
		"5.0.2": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.0.2",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier-terser": "./cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=6"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^3.0.0",
				"clean-css": "^4.2.1",
				"commander": "^4.0.0",
				"he": "^1.2.0",
				"param-case": "^2.1.1",
				"relateurl": "^0.2.7",
				"terser": "^4.3.9"
			},
			"devDependencies": {
				"grunt": "^1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"grunt-terser": "^1.0.0",
				"node-qunit-puppeteer": "^1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "fdcdd11d5c791a5281f2c0c65df1789cec2feb3f",
			"_id": "html-minifier-terser@5.0.2",
			"_nodeVersion": "10.16.0",
			"_npmVersion": "6.12.0",
			"dist": {
				"integrity": "sha512-VAaitmbBuHaPKv9bj47XKypRhgDxT/cDLvsPiiF7w+omrN3K0eQhpigV9Z1ilrmHa9e0rOYcD6R/+LCDADGcnQ==",
				"shasum": "0e67a0b062ae1dd0719fc73199479298f807ae16",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.2.tgz",
				"fileCount": 9,
				"unpackedSize": 96845,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdynHJCRA9TVsSAnZWagAAQmQQAJzAUW5DRSfoUQ16T1nU\nXMYYJ+ind7mcIX+fTHY3ad3CNtU9f3XnIV7DJslwRnN73O8trnZA8pfqk5DS\n41yrPTgI5zaYcHD6Nu1rSaWIcarwJWISwchs7lxT/OsPdJUl1dL+HREL53+g\npc90/wtydU4sq3R5Ae5nVVFGCcMmXuwzB90z+wCWpHcn08eKa50UdyxOSkkd\nOb19aAHOoK9Y0iyYNKU/75gky3mB3RpgSN0QpIUkAf5ZoTubUfWADWB4LKlJ\nsGU8eZz5L6Z1F+ArJA8jTzzO76sEYEy5OTVKLcUWR9MIT8lk/OmB+0Ls+vcP\nEvrkVr/i4FpDplqxihZgzzC+jV7mTTw7cvro8+5M9o7REHCyumPHEa7n3b7+\nHJE6vMBsXqsWcTJHez+Ej6uQyku0UMeLvu1ZWi0wMjHow7NIKDGvN+cokI5j\niwqLl5vzukItC8+WtZx4WwQBx+6G3vSHwU/prdWN+2KsA9j1SKLyRceOGPJ2\nEDoiE/Q8G4sgwx0i4n/KBRnywwziscwDekbuwdrejHQxYuNcgeXJgHCeK+pq\nCTDYs5ZkomKPRonE/cnqC2mvpyrBYpxvMozphUqFaYVw8OqYc66YOIJVh7RR\n5j8Jzky29jS3hwTihHAZClMf1/O3YjUBW2rmtX7HlMT+6Zwm76fgBkQNLl9h\nE++f\r\n=I/Nj\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.0.2_1573548489074_0.09940626652364903"
			},
			"_hasShrinkwrap": false
		},
		"5.0.3": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.0.3",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier-terser": "./cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=6"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^3.0.0",
				"clean-css": "^4.2.1",
				"commander": "^4.0.0",
				"he": "^1.2.0",
				"param-case": "^2.1.1",
				"relateurl": "^0.2.7",
				"terser": "^4.3.9"
			},
			"devDependencies": {
				"grunt": "^1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"grunt-terser": "^1.0.0",
				"node-qunit-puppeteer": "1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "b1ff9e711674bcef0a745887161f7f6dc30111e6",
			"_id": "html-minifier-terser@5.0.3",
			"_nodeVersion": "10.16.3",
			"_npmVersion": "6.13.1",
			"dist": {
				"integrity": "sha512-It4No3H1V3Dhd/O0MePFdo0oX/M6u6YZTMw4My/010mT6vxdbqge7+0RoxGAmeSbKok6gjYZoP0p4rpZ2+J2yw==",
				"shasum": "b33549b57be7f0357be0d0b892995aaed1ed90f8",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.3.tgz",
				"fileCount": 9,
				"unpackedSize": 96856,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQGO6CRA9TVsSAnZWagAAa5cP/j2JiXMij4k+UWaIdTz1\n70yeCQi8W0Q4UYPu00+pIm351WEeGtbfoliZRZUGlzyhZIwcBVzGGvpK94on\nTGPpBVAfjf67nLxrN/oh0qcYAAsTAVJp/runtLey+08DEf69MQ1Q9a7HAirz\n7ZM5uYgRGKrEclKnBpzTdebUcp6j0IaSTkgH3DXOOLKURXzc9CbDuWbR0bFO\n1llLcVKo8gu4YCdVBVzzyC2bi3qQVv4xpINRjbmkkVsdYXwxuTeB+ybDi8vL\n+wpFXlMhvgox0nY3dz7nK982FEgIezakBKB8nOYZvKNGimtTu8QkIbYdgTNP\nalfMSDfTzupoghslu17H5kSxQy8mctTJxqr71bXri4ndev3eqEx5cgEloA8B\nEyYl4IeMS5g2gHwXO36+QcPkpJpBbGvxldK6tzxMvuMjjnVBU2RdKif2PAE6\nsgEsQhKGaANValJAnwOFaPU2mRTBpriuQDcRo0rfDfsC896zSP0NKwQhZr8/\nDHsKTczLyM2tqQMR475rOuZHs7bmFZLkbe45Z61Xnd9TdQV4HXCSXcfnlkjq\npUO7omU7UxYSnShCVnR81W9v0IqUJPYbS52WegKXLNuN15YcFe9PecXMKEi2\nv/2L2n38nkEAfLHk+/sJv1aX1RlfoYvyWrJ2QYRPXbL5x2zHpA0Oin2TJrOw\nbODO\r\n=B5Lx\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.0.3_1581278137592_0.6073001132645388"
			},
			"_hasShrinkwrap": false
		},
		"5.0.4": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.0.4",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier-terser": "cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=6"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^4.1.1",
				"clean-css": "^4.2.3",
				"commander": "^4.1.1",
				"he": "^1.2.0",
				"param-case": "^3.0.3",
				"relateurl": "^0.2.7",
				"terser": "^4.6.3"
			},
			"devDependencies": {
				"grunt": "^1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"grunt-terser": "^1.0.0",
				"node-qunit-puppeteer": "1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "b3dc2239bfef92d1f0861fd43a649f181723e626",
			"_id": "html-minifier-terser@5.0.4",
			"_nodeVersion": "10.16.0",
			"_npmVersion": "6.13.4",
			"dist": {
				"integrity": "sha512-fHwmKQ+GzhlqdxEtwrqLT7MSuheiA+rif5/dZgbz3GjoMXJzcRzy1L9NXoiiyxrnap+q5guSiv8Tz5lrh9g42g==",
				"shasum": "e8cc02748acb983bd7912ea9660bd31c0702ec32",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.4.tgz",
				"fileCount": 9,
				"unpackedSize": 96876,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTTRtCRA9TVsSAnZWagAAWbYP/R1I+IFtkNL1L/IVwuPh\nEETsKxX0tWGbvwPzA3JDhJjWucJ/hHT7tg7S/j4oX3TGF9q2dpR/4rhjqFNH\nVJNUDSDUHoebK6py+hf5RfQ2Ef4q+ZyqAA0CXgix5OmuuSKBj22qh8xvT6Q+\naOBUnlYE1pGVA3vDcu00njbFEIxm/Og7ZIlaqWMmCeXLH2NjgEbFkmXM/ccD\nNRwlRxoRsS0yELAfNkMcQcPHYpXQ6CWVTLvOZbai6yludXkDmgO0HiEjVC1o\na5ZZu5rxnHLIMAQd2oDrtLgsMjTwjf0IfWGGMFEMtnxTcUoQZluhln0vkZ6n\nJ8t2JGB3VHXEXMic0pde4Vp1ZLVHz/ifaXDaXuCNXFMeeLBfa7SqPVY1AHAh\nSkcjR14GnUX57tC+AuGH0SsDpQsdxPc3ZbMF9C48ItCBfWMwOTpiwnphZ5Gv\njyUDOY8TdyXiOLjv5mhgBJ65Lg+zUYrtqE+eQqUYmhKtD5/j/McGzjkKiFyt\nBeY0s8QLmwryB0IKm1VegML+l8DFFtj+ZBGr3mVe19wej6pHg8YRRzlr7lro\n6zssaT1kxX1O2u8tXE1QYB84VWj1vTlgMt3WSPrsQDgw8bjGX5koiu8LA+1P\nGJX8qb6TJrNqg0/xoVGHQeWe9Jqq/kUvE3tE9Rl6jecciE4Ui9gyYBm6KT+p\n9yvx\r\n=GUfL\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.0.4_1582117996811_0.44078810872786356"
			},
			"_hasShrinkwrap": false
		},
		"5.0.5": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.0.5",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier-terser": "cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=6"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^4.1.1",
				"clean-css": "^4.2.3",
				"commander": "^4.1.1",
				"he": "^1.2.0",
				"param-case": "^3.0.3",
				"relateurl": "^0.2.7",
				"terser": "^4.6.3"
			},
			"devDependencies": {
				"grunt": "1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"grunt-terser": "^1.0.0",
				"node-qunit-puppeteer": "1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "2b0fa8bd247714e907e128006cf7d10849cf782c",
			"_id": "html-minifier-terser@5.0.5",
			"_nodeVersion": "10.16.3",
			"_npmVersion": "6.13.7",
			"dist": {
				"integrity": "sha512-cBSFFghQh/uHcfSiL42KxxIRMF7A144+3E44xdlctIjxEmkEfCvouxNyFH2wysXk1fCGBPwtcr3hDWlGTfkDew==",
				"shasum": "8f12f639789f04faa9f5cf2ff9b9f65607f21f8b",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.5.tgz",
				"fileCount": 9,
				"unpackedSize": 96875,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeTNiCRA9TVsSAnZWagAAimAP/0k4BfyenWUH61D+f3D9\n9hnbFqijadQkjFSY9wRbN6RTV1BBGopDPEwzWjQrwfsqFUbnxZBbR28nvzq5\nJY2E07dyCL/LM3Y5AFKY2WtB4KHsIno9e9PmukIwVTO9BiGsacaMlvzg9ayV\nxxfJv9Td0XFvJpf3akgnQFX9hQ4hOJLlOr1CGb3gXh2UnSgJ72i3eQJb21Q5\n00x0hjsEYUP9vw1QUAebIWJh6qHl+JcxtQHEZs6M2CKXv/VNkQnGGTGkawhB\nu7vEpMaoFiT9jXdPisNik92lB2EJ3dBm5xEwPJhtqt3GNN4TqzdKo2az4EDg\nslsg5vWx/aFsMAhEU7me5m9l+5+su1gW+H1RzIR/kD7+aXVOEWqCj8a27zwI\nJjgaPIn+oJaD/LO2l2zdjoobQLsN9y7xlEMfcD2IP7vhiqJr6rmfAkro3UtU\nl+7ct6yI8tfVH5+UtONDRzbGe6LaTkYkPiCO5yxprwFMhzVYkzsoctCKOUby\neAwRTuZu7PfEar428b3kQC1UixdHjHvVaj5RrgFXEuyjU4LebGoMFpmLtdL5\nJsBZHFu/MAcB/g2JLNC9wkKeGWr+sRmI7wAmZIUQKoBSigjOKXVhmtOLGF2q\nB/ZSId3R4MVlxV0WyeRme4YVok9iIbpV8Emt3GehQma7ufNqV5wHG2wtDM6Z\n9Pt+\r\n=nUuR\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.0.5_1585001313642_0.3349975303485073"
			},
			"_hasShrinkwrap": false
		},
		"5.1.0": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.1.0",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier-terser": "cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=6"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^4.1.1",
				"clean-css": "^4.2.3",
				"commander": "^4.1.1",
				"he": "^1.2.0",
				"param-case": "^3.0.3",
				"relateurl": "^0.2.7",
				"terser": "^4.6.3"
			},
			"devDependencies": {
				"grunt": "1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"grunt-terser": "^1.0.0",
				"node-qunit-puppeteer": "1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "5f7b69acc6a9acee863621fcea20386b8d8f921d",
			"_id": "html-minifier-terser@5.1.0",
			"_nodeVersion": "10.16.3",
			"_npmVersion": "6.13.7",
			"dist": {
				"integrity": "sha512-tiYE76O1zunboByeB/nFGwUEb263Z3nkNv6Lz2oLC1s6M36bLKfTrjQ+7ssVfaucVllE+N7hh/FbpbxvnIA+LQ==",
				"shasum": "95d3df037f04835e9d1a09d1767c0e361a7de916",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz",
				"fileCount": 9,
				"unpackedSize": 96911,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqdUiCRA9TVsSAnZWagAAnZAQAIFtNWXu07i6UTDOu75r\n7X6iJrk/5clB5mTPF/pNsUr4K9nHYS8omzYr2+EX0lPtON2sDPzkbuslOhIE\njzkiyBu72FIfHrzn2EBlTfaA96fiI7Ec/fxpk3wBrUJjqIQCrNoBHjyFPfc8\n7KD78ivMV20N4EcLq0uV/8FXUFesc9eqaJcBjCKIGG9FjyIQYwBPPoLlo69H\n1BYNDL6Q7+hrjgHDX9a1iE7JK5Mu+o+4FMmWN7NzeSA+f5wDmc2OdqU7YUXe\nfKhf52t/9GCW+APmx9S9+W1GMYBykGB6XVVVBIPn2NSA/1XHvhocAuvFda94\n3c0qijB7OQE6kbM/XHRBTeTOy/HbmJTZRcJ5fG57UxMbDwyFfiw11VLVIAq/\n2AEMVJeRHgekZDO4QB6R3xCpnZmuAL7Ao7pFlI3z5TRvzIH0R+DVy9pJkdrE\nSWYrB2ReDE59IyCOwO4o3sFqu3AOaE6OjVeSa7fZCmjvfEsZxK52AApNtcTh\nXxwN0ACeRZ3X4zewyPnJRvRChzOTbY2RKWCzsxpPJRQysqWsUGkDgTH0DstG\n6/Tmm3Pe665VNVg/imaZmMNQqQTuyVFMByRfcjzpzaodpG0Yit5piaL8kYbS\n5RuKBItwxc0rR3ql8r5k3s9eZCGvLtI2yAi+rA4FE2F7mhScCHy/S6+E5CRu\nfaan\r\n=aqkg\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.1.0_1588188449706_0.4740440386834863"
			},
			"_hasShrinkwrap": false
		},
		"5.1.1": {
			"name": "html-minifier-terser",
			"description": "Highly configurable, well-tested, JavaScript-based HTML minifier.",
			"version": "5.1.1",
			"keywords": [
				"cli",
				"compress",
				"compressor",
				"css",
				"html",
				"htmlmin",
				"javascript",
				"min",
				"minification",
				"minifier",
				"minify",
				"optimize",
				"optimizer",
				"pack",
				"packer",
				"parse",
				"parser",
				"terser",
				"uglifier",
				"uglify"
			],
			"homepage": "https://danielruf.github.io/html-minifier-terser/",
			"author": {
				"name": "Daniel Ruf"
			},
			"maintainers": [
				{
					"name": "danielruf",
					"email": "kontakt@daniel-ruf.de"
				}
			],
			"contributors": [
				{
					"name": "Gilmore Davidson",
					"url": "https://github.com/gilmoreorless"
				},
				{
					"name": "Hugo Wetterberg",
					"email": "hugo@wetterberg.nu"
				},
				{
					"name": "Zoltan Frombach",
					"email": "tssajo@gmail.com"
				}
			],
			"license": "MIT",
			"bin": {
				"html-minifier-terser": "cli.js"
			},
			"main": "src/htmlminifier.js",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/DanielRuf/html-minifier-terser.git"
			},
			"bugs": {
				"url": "https://github.com/DanielRuf/html-minifier-terser/issues"
			},
			"engines": {
				"node": ">=6"
			},
			"scripts": {
				"dist": "grunt dist",
				"test": "grunt test"
			},
			"dependencies": {
				"camel-case": "^4.1.1",
				"clean-css": "^4.2.3",
				"commander": "^4.1.1",
				"he": "^1.2.0",
				"param-case": "^3.0.3",
				"relateurl": "^0.2.7",
				"terser": "^4.6.3"
			},
			"devDependencies": {
				"grunt": "1.0.4",
				"grunt-browserify": "^5.3.0",
				"grunt-eslint": "^22.0.0",
				"grunt-terser": "^1.0.0",
				"node-qunit-puppeteer": "1.0.13",
				"qunit": "^2.9.2"
			},
			"benchmarkDependencies": {
				"chalk": "^2.4.2",
				"cli-table3": "^0.5.1",
				"iltorb": "^2.4.4",
				"lzma": "^2.3.2",
				"minimize": "^2.2.0",
				"progress": "^2.0.3"
			},
			"gitHead": "fbbf105733a2c2aff5b0788c6051d60dd065f634",
			"_id": "html-minifier-terser@5.1.1",
			"_nodeVersion": "10.16.3",
			"_npmVersion": "6.13.7",
			"dist": {
				"integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
				"shasum": "922e96f1f3bb60832c2634b79884096389b1f054",
				"tarball": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
				"fileCount": 9,
				"unpackedSize": 97174,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevFVCCRA9TVsSAnZWagAAHZ8P/3MfQ/2x+jRQ84njLL2k\n9RHDbUGEoSS71US4m33j71+DvZqXZmGThEOJo6DjOk4F1Blg5uoUfBsa1+G1\n9iFFV4kKKiiTeMfRwVRx3CXXAl23m8I515yCtNUqf19SmAKlWyvD2k69Bj4b\nw32lrOZ6YR5YfNst0XzyaUPBVxSAgAZ+phLGGn9khski79vA243jqFQwJsHE\nDhHuEQ0OB1xTDWFtN7ST5zk73dTPo+ELO8oLENs34G8BxqBxqrx240R/7TKF\n9ZicuQrCAddX1C8hHGuxHGSJiDXsE5pnxIMjAI6fbNtpYe6mASQCXzygp1bi\nkApLcGDt1JJVjpMpZjjiekDDneI8bH1V1mcQn5PzyhNDZsGOP41HwGktbwck\nqKIXhstqwfPdAWKb74cnW8CZ4JvkJs2zPQiwmYuqRDDNZ1OWY2FFOVxSY0l8\nfvNasDa5gv3qFp4f5IvH2JJnZMsyl+JPcnN8Ifif7WYzgkLVyK+9S5Zy+RP/\noIY6edkD2sc8qA3gd5b0W2al4DYmCKZbN2pM4CT7B/MrwJBxYWa69zwL8/rY\nE24j3ydCSiiu6HK3b6d1gC5Vzayp7zFZQgTt5wuTVMlvg3XzsU3LM9tCSLlf\nGU1IYGH2JklwM4oVoB/1aZL71qawSaMXVQT6cOUFGbD399UHRjLVFHz6gI4d\ni32v\r\n=G8zL\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"_npmUser": {
				"name": "danielruf",
				"email": "kontakt@daniel-ruf.de"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/html-minifier-terser_5.1.1_1589400897464_0.48946242366908477"
			},
			"_hasShrinkwrap": false
		}
	},
	"time": {
		"created": "2019-11-02T14:47:06.879Z",
		"5.0.0": "2019-11-02T14:47:07.026Z",
		"modified": "2020-05-13T20:15:00.056Z",
		"5.0.1": "2019-11-03T11:39:03.554Z",
		"5.0.2": "2019-11-12T08:48:09.231Z",
		"5.0.3": "2020-02-09T19:55:37.751Z",
		"5.0.4": "2020-02-19T13:13:16.920Z",
		"5.0.5": "2020-03-23T22:08:33.849Z",
		"5.1.0": "2020-04-29T19:27:29.820Z",
		"5.1.1": "2020-05-13T20:14:57.667Z"
	},
	"users": {},
	"dist-tags": {
		"latest": "5.1.1"
	},
	"_uplinks": {
		"npmjs": {
			"etag": "W/\"cf477b07c5d8a90254af5ac8a91d3842\"",
			"fetched": 1600679286044
		}
	},
	"_distfiles": {
		"html-minifier-terser-5.0.0.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.0.tgz",
			"sha": "8502590f32d9b98a11e190f1cc17ecf2a2eac008",
			"registry": "npmjs"
		},
		"html-minifier-terser-5.0.1.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.1.tgz",
			"sha": "a9b21430d6929656830c7e3d65d7cad41752d4fb",
			"registry": "npmjs"
		},
		"html-minifier-terser-5.0.2.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.2.tgz",
			"sha": "0e67a0b062ae1dd0719fc73199479298f807ae16",
			"registry": "npmjs"
		},
		"html-minifier-terser-5.0.3.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.3.tgz",
			"sha": "b33549b57be7f0357be0d0b892995aaed1ed90f8",
			"registry": "npmjs"
		},
		"html-minifier-terser-5.0.4.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.4.tgz",
			"sha": "e8cc02748acb983bd7912ea9660bd31c0702ec32",
			"registry": "npmjs"
		},
		"html-minifier-terser-5.0.5.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.5.tgz",
			"sha": "8f12f639789f04faa9f5cf2ff9b9f65607f21f8b",
			"registry": "npmjs"
		},
		"html-minifier-terser-5.1.0.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz",
			"sha": "95d3df037f04835e9d1a09d1767c0e361a7de916",
			"registry": "npmjs"
		},
		"html-minifier-terser-5.1.1.tgz": {
			"url": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
			"sha": "922e96f1f3bb60832c2634b79884096389b1f054",
			"registry": "npmjs"
		}
	},
	"_attachments": {
		"html-minifier-terser-5.1.1.tgz": {
			"shasum": "922e96f1f3bb60832c2634b79884096389b1f054"
		}
	},
	"_rev": "2-7217a2643a61a110",
	"_id": "html-minifier-terser",
	"readme": "# HTMLMinifier\n\n[![NPM version](https://img.shields.io/npm/v/html-minifier-terser.svg)](https://www.npmjs.com/package/html-minifier-terser)\n[![Build Status](https://img.shields.io/travis/DanielRuf/html-minifier-terser.svg)](https://travis-ci.org/DanielRuf/html-minifier-terser)\n[![Dependency Status](https://img.shields.io/david/DanielRuf/html-minifier-terser.svg)](https://david-dm.org/DanielRuf/html-minifier-terser)\n\n[HTMLMinifier](https://danielruf.github.io/html-minifier-terser/) is a highly **configurable**, **well-tested**, JavaScript-based HTML minifier.\n\nSee [corresponding blog post](http://perfectionkills.com/experimenting-with-html-minifier/) for all the gory details of [how it works](http://perfectionkills.com/experimenting-with-html-minifier/#how_it_works), [description of each option](http://perfectionkills.com/experimenting-with-html-minifier/#options), [testing results](http://perfectionkills.com/experimenting-with-html-minifier/#field_testing) and [conclusions](http://perfectionkills.com/experimenting-with-html-minifier/#cost_and_benefits).\n\n[Test suite is available online](https://danielruf.github.io/html-minifier-terser/tests/).\n\nAlso see corresponding [Ruby wrapper](https://github.com/stereobooster/html_minifier), and for Node.js, [Grunt plugin](https://github.com/gruntjs/grunt-contrib-htmlmin), [Gulp module](https://github.com/jonschlinkert/gulp-htmlmin), [Koa middleware wrapper](https://github.com/koajs/html-minifier) and [Express middleware wrapper](https://github.com/melonmanchan/express-minify-html).\n\nFor lint-like capabilities take a look at [HTMLLint](https://github.com/kangax/html-lint).\n\n## Minification comparison\n\nHow does HTMLMinifier compare to other solutions — [HTML Minifier from Will Peavy](http://www.willpeavy.com/minifier/) (1st result in [Google search for \"html minifier\"](https://www.google.com/#q=html+minifier)) as well as [htmlcompressor.com](http://htmlcompressor.com) and [minimize](https://github.com/Swaagie/minimize)?\n\n| Site                                                                         | Original size *(KB)* | HTMLMinifier | minimize | Will Peavy | htmlcompressor.com |\n| ---------------------------------------------------------------------------- |:--------------------:| ------------:| --------:| ----------:| ------------------:|\n| [Google](https://www.google.com/)                                            | 45                   | **41**       | 45       | 46         | 45                 |\n| [Stack Overflow](https://stackoverflow.com/)                                 | 115                  | **82**       | 90       | 92         | 88                 |\n| [HTMLMinifier](https://github.com/kangax/html-minifier)                      | 132                  | **105**      | 118      | 123        | 118                |\n| [Bootstrap CSS](https://getbootstrap.com/docs/3.3/css/)                      | 271                  | **260**      | 269      | 229        | 269                |\n| [Twitter](https://twitter.com/)                                              | 289                  | **238**      | 282      | 314        | 282                |\n| [BBC](https://www.bbc.co.uk/)                                                | 298                  | **233**      | 289      | 291        | 269                |\n| [Wikipedia](https://en.wikipedia.org/wiki/President_of_the_United_States)    | 574                  | **468**      | 557      | 578        | 557                |\n| [Amazon](https://www.amazon.co.uk/)                                          | 702                  | **343**      | 692      | 704        | n/a                |\n| [NBC](https://www.nbc.com/)                                                  | 844                  | **805**      | 843      | 844        | n/a                |\n| [Eloquent Javascript](https://eloquentjavascript.net/1st_edition/print.html) | 870                  | **815**      | 840      | 864        | n/a                |\n| [New York Times](https://www.nytimes.com/)                                   | 1304                 | **1183**     | 1301     | 1295       | n/a                |\n| [ES draft](https://tc39.github.io/ecma262/)                                  | 6347                 | **5686**     | 5863     | n/a        | n/a                |\n\n## Options Quick Reference\n\nMost of the options are disabled by default.\n\n| Option                         | Description     | Default |\n|--------------------------------|-----------------|---------|\n| `caseSensitive`                | Treat attributes in case sensitive manner (useful for custom HTML tags) | `false` |\n| `collapseBooleanAttributes`    | [Omit attribute values from boolean attributes](http://perfectionkills.com/experimenting-with-html-minifier/#collapse_boolean_attributes) | `false` |\n| `collapseInlineTagWhitespace`  | Don't leave any spaces between `display:inline;` elements when collapsing. Must be used in conjunction with `collapseWhitespace=true` | `false` |\n| `collapseWhitespace`           | [Collapse white space that contributes to text nodes in a document tree](http://perfectionkills.com/experimenting-with-html-minifier/#collapse_whitespace) | `false` |\n| `conservativeCollapse`         | Always collapse to 1 space (never remove it entirely). Must be used in conjunction with `collapseWhitespace=true` | `false` |\n| `continueOnParseError`         | [Handle parse errors](https://html.spec.whatwg.org/multipage/parsing.html#parse-errors) instead of aborting. | `false` |\n| `customAttrAssign`             | Arrays of regex'es that allow to support custom attribute assign expressions (e.g. `'<div flex?=\"{{mode != cover}}\"></div>'`) | `[ ]` |\n| `customAttrCollapse`           | Regex that specifies custom attribute to strip newlines from (e.g. `/ng-class/`) | |\n| `customAttrSurround`           | Arrays of regex'es that allow to support custom attribute surround expressions (e.g. `<input {{#if value}}checked=\"checked\"{{/if}}>`) | `[ ]` |\n| `customEventAttributes`        | Arrays of regex'es that allow to support custom event attributes for `minifyJS` (e.g. `ng-click`) | `[ /^on[a-z]{3,}$/ ]` |\n| `decodeEntities`               | Use direct Unicode characters whenever possible | `false` |\n| `html5`                        | Parse input according to HTML5 specifications | `true` |\n| `ignoreCustomComments`         | Array of regex'es that allow to ignore certain comments, when matched | `[ /^!/, /^\\s*#/ ]` |\n| `ignoreCustomFragments`        | Array of regex'es that allow to ignore certain fragments, when matched (e.g. `<?php ... ?>`, `{{ ... }}`, etc.)  | `[ /<%[\\s\\S]*?%>/, /<\\?[\\s\\S]*?\\?>/ ]` |\n| `includeAutoGeneratedTags`     | Insert tags generated by HTML parser | `true` |\n| `keepClosingSlash`             | Keep the trailing slash on singleton elements | `false` |\n| `maxLineLength`                | Specify a maximum line length. Compressed output will be split by newlines at valid HTML split-points |\n| `minifyCSS`                    | Minify CSS in style elements and style attributes (uses [clean-css](https://github.com/jakubpawlowicz/clean-css)) | `false` (could be `true`, `Object`, `Function(text, type)`) |\n| `minifyJS`                     | Minify JavaScript in script elements and event attributes (uses [Terser](https://github.com/terser/terser)) | `false` (could be `true`, `Object`, `Function(text, inline)`) |\n| `minifyURLs`                   | Minify URLs in various attributes (uses [relateurl](https://github.com/stevenvachon/relateurl)) | `false` (could be `String`, `Object`, `Function(text)`) |\n| `preserveLineBreaks`           | Always collapse to 1 line break (never remove it entirely) when whitespace between tags include a line break. Must be used in conjunction with `collapseWhitespace=true` | `false` |\n| `preventAttributesEscaping`    | Prevents the escaping of the values of attributes | `false` |\n| `processConditionalComments`   | Process contents of conditional comments through minifier | `false` |\n| `processScripts`               | Array of strings corresponding to types of script elements to process through minifier (e.g. `text/ng-template`, `text/x-handlebars-template`, etc.) | `[ ]` |\n| `quoteCharacter`               | Type of quote to use for attribute values (' or \") | |\n| `removeAttributeQuotes`        | [Remove quotes around attributes when possible](http://perfectionkills.com/experimenting-with-html-minifier/#remove_attribute_quotes) | `false` |\n| `removeComments`               | [Strip HTML comments](http://perfectionkills.com/experimenting-with-html-minifier/#remove_comments) | `false` |\n| `removeEmptyAttributes`        | [Remove all attributes with whitespace-only values](http://perfectionkills.com/experimenting-with-html-minifier/#remove_empty_or_blank_attributes) | `false` (could be `true`, `Function(attrName, tag)`) |\n| `removeEmptyElements`          | [Remove all elements with empty contents](http://perfectionkills.com/experimenting-with-html-minifier/#remove_empty_elements) | `false` |\n| `removeOptionalTags`           | [Remove optional tags](http://perfectionkills.com/experimenting-with-html-minifier/#remove_optional_tags) | `false` |\n| `removeRedundantAttributes`    | [Remove attributes when value matches default.](http://perfectionkills.com/experimenting-with-html-minifier/#remove_redundant_attributes) | `false` |\n| `removeScriptTypeAttributes`   | Remove `type=\"text/javascript\"` from `script` tags. Other `type` attribute values are left intact | `false` |\n| `removeStyleLinkTypeAttributes`| Remove `type=\"text/css\"` from `style` and `link` tags. Other `type` attribute values are left intact | `false` |\n| `removeTagWhitespace`          | Remove space between attributes whenever possible. **Note that this will result in invalid HTML!** | `false` |\n| `sortAttributes`               | [Sort attributes by frequency](#sorting-attributes--style-classes) | `false` |\n| `sortClassName`                | [Sort style classes by frequency](#sorting-attributes--style-classes) | `false` |\n| `trimCustomFragments`          | Trim white space around `ignoreCustomFragments`. | `false` |\n| `useShortDoctype`              | [Replaces the `doctype` with the short (HTML5) doctype](http://perfectionkills.com/experimenting-with-html-minifier/#use_short_doctype) | `false` |\n\n### Sorting attributes / style classes\n\nMinifier options like `sortAttributes` and `sortClassName` won't impact the plain-text size of the output. However, they form long repetitive chains of characters that should improve compression ratio of gzip used in HTTP compression.\n\n## Special cases\n\n### Ignoring chunks of markup\n\nIf you have chunks of markup you would like preserved, you can wrap them `<!-- htmlmin:ignore -->`.\n\n### Preserving SVG tags\n\nSVG tags are automatically recognized, and when they are minified, both case-sensitivity and closing-slashes are preserved, regardless of the minification settings used for the rest of the file.\n\n### Working with invalid markup\n\nHTMLMinifier **can't work with invalid or partial chunks of markup**. This is because it parses markup into a tree structure, then modifies it (removing anything that was specified for removal, ignoring anything that was specified to be ignored, etc.), then it creates a markup out of that tree and returns it.\n\nInput markup (e.g. `<p id=\"\">foo`)\n\n↓\n\nInternal representation of markup in a form of tree (e.g. `{ tag: \"p\", attr: \"id\", children: [\"foo\"] }`)\n\n↓\n\nTransformation of internal representation (e.g. removal of `id` attribute)\n\n↓\n\nOutput of resulting markup (e.g. `<p>foo</p>`)\n\nHTMLMinifier can't know that original markup was only half of the tree; it does its best to try to parse it as a full tree and it loses information about tree being malformed or partial in the beginning. As a result, it can't create a partial/malformed tree at the time of the output.\n\n## Installation Instructions\n\nFrom NPM for use as a command line app:\n\n```shell\nnpm install html-minifier-terser -g\n```\n\nFrom NPM for programmatic use:\n\n```shell\nnpm install html-minifier-terser\n```\n\nFrom Git:\n\n```shell\ngit clone git://github.com/DanielRuf/html-minifier-terser.git\ncd html-minifier-terser\nnpm link .\n```\n\n## Usage\n\nNote that almost all options are disabled by default. For command line usage please see `html-minifier-terser --help` for a list of available options. Experiment and find what works best for you and your project.\n\n* **Sample command line:** ``html-minifier-terser --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --remove-tag-whitespace --use-short-doctype --minify-css true --minify-js true``\n\n### Node.js\n\n```js\nvar minify = require('html-minifier-terser').minify;\nvar result = minify('<p title=\"blah\" id=\"moo\">foo</p>', {\n  removeAttributeQuotes: true\n});\nresult; // '<p title=blah id=moo>foo</p>'\n```\n\n## Running benchmarks\n\nBenchmarks for minified HTML:\n\n```shell\nnode benchmark.js\n```"
}