diff --git a/recipes-devtools/html-minifier/html-minifier/npm-shrinkwrap.json b/recipes-devtools/html-minifier/html-minifier/npm-shrinkwrap.json
new file mode 100644
index 0000000..735b978
--- /dev/null
+++ b/recipes-devtools/html-minifier/html-minifier/npm-shrinkwrap.json
@@ -0,0 +1,76 @@
+{
+ "name": "html-minifier",
+ "version": "4.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "clean-css": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
+ "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
+ "requires": {
+ "source-map": "~0.6.0"
+ }
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
+ },
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "requires": {
+ "lower-case": "^1.1.1"
+ }
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "uglify-js": {
+ "version": "3.10.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.3.tgz",
+ "integrity": "sha512-Lh00i69Uf6G74mvYpHCI9KVVXLcHW/xu79YTvH7Mkc9zyKUeSPz0owW0dguj0Scavns3ZOh3wY63J0Zb97Za2g=="
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
+ }
+ }
+}
diff --git a/recipes-devtools/html-minifier/html-minifier_4.0.0.bb b/recipes-devtools/html-minifier/html-minifier_4.0.0.bb
new file mode 100644
index 0000000..8739463
--- /dev/null
+++ b/recipes-devtools/html-minifier/html-minifier_4.0.0.bb
@@ -0,0 +1,67 @@
+# Recipe created by recipetool
+# This is the basis of a recipe and may need further editing in order to be fully functional.
+# (Feel free to remove these comments when editing.)
+
+SUMMARY = "Highly configurable, well-tested, JavaScript-based HTML minifier."
+HOMEPAGE = "https://kangax.github.io/html-minifier/"
+# WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is
+# your responsibility to verify that the values are complete and correct.
+#
+# The following license files were not able to be identified and are
+# represented as "Unknown" below, you will need to check them yourself:
+# node_modules/uglify-js/LICENSE
+# node_modules/source-map/LICENSE
+#
+# NOTE: multiple licenses have been detected; they have been separated with &
+# in the LICENSE value for now since it is a reasonable assumption that all
+# of the licenses apply. If instead there is a choice between the multiple
+# licenses then you should change the value to separate the licenses with |
+# instead of &. If there is any doubt, check the accompanying documentation
+# to determine which situation is applicable.
+LICENSE = "MIT & Unknown"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=feec6fa16faeba82608b0b12704f1c82 \
+ file://node_modules/param-case/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \
+ file://node_modules/clean-css/LICENSE;md5=7e6da8e46572b822b6b4f8283ab171b9 \
+ file://node_modules/camel-case/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \
+ file://node_modules/lower-case/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \
+ file://node_modules/uglify-js/LICENSE;md5=00b45202695de5cd110bd3c2927a0da2 \
+ file://node_modules/source-map/LICENSE;md5=b1ca6dbc0075d56cbd9931a75566cd44 \
+ file://node_modules/no-case/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \
+ file://node_modules/relateurl/license;md5=5ba26d44d4c5ba2e3793cdbb0f388303 \
+ file://node_modules/he/LICENSE-MIT.txt;md5=ee9bd8b835cfcd512dd644540dd96987 \
+ file://node_modules/upper-case/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \
+ file://node_modules/commander/LICENSE;md5=25851d4d10d6611a12d5571dab945a00 \
+ file://package.json;md5=08d0d93a234d4667747e6af0dc735a8b \
+ file://node_modules/camel-case/package.json;md5=e66be62f70a0376c1a051fb3666a4362 \
+ file://node_modules/clean-css/package.json;md5=685d873e3baca6c05adbfdafa0164463 \
+ file://node_modules/commander/package.json;md5=b654c566fc6c38e6f17dd3a0f7d8ad33 \
+ file://node_modules/he/package.json;md5=278f68ddb9f3a3820b7bbcf58e33bcec \
+ file://node_modules/lower-case/package.json;md5=16fd1da0c2767494e3b5bc2eecdeef17 \
+ file://node_modules/no-case/package.json;md5=11708896ad130e6ebf7f2ba090bda8b6 \
+ file://node_modules/param-case/package.json;md5=f209e8dfe4eb687a699bf797d4e0eef2 \
+ file://node_modules/relateurl/package.json;md5=0b5501b0f1a69c64467d35feda35f9bd \
+ file://node_modules/source-map/package.json;md5=5f7feb368962c3130c5accf22ffd047c \
+ file://node_modules/uglify-js/package.json;md5=8c6790f881a662d2dd9efa553eb06b26 \
+ file://node_modules/upper-case/package.json;md5=02ba98cd7973d49292d485d6717629cd"
+
+SRC_URI = " \
+ npm://registry.npmjs.org/;package=html-minifier;version=${PV} \
+ npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
+ "
+
+S = "${WORKDIR}/npm"
+
+inherit npm
+
+LICENSE_${PN} = "MIT"
+LICENSE_${PN}-camel-case = "MIT"
+LICENSE_${PN}-clean-css = "MIT"
+LICENSE_${PN}-commander = "MIT"
+LICENSE_${PN}-he = "MIT"
+LICENSE_${PN}-lower-case = "MIT"
+LICENSE_${PN}-no-case = "MIT"
+LICENSE_${PN}-param-case = "MIT"
+LICENSE_${PN}-relateurl = "MIT"
+LICENSE_${PN}-source-map = "Unknown"
+LICENSE_${PN}-uglify-js = "Unknown"
+LICENSE_${PN}-upper-case = "MIT"