diff --git a/.travis.yml b/.travis.yml index 69fc70ac2..7f5017449 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ before_script: - yarn build script: - yarn type-check + - yarn lint - yarn test - cd e2e - yarn diff --git a/e2e/package.json b/e2e/package.json index 5d2c3795c..57c84a32e 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -7,8 +7,8 @@ "license": "MIT", "private": true, "devDependencies": { - "@types/jest": "24.0.1", - "@wpackio/scripts": "file:../packages/scripts", + "@types/jest": "24.0.1", + "@wpackio/scripts": "file:../packages/scripts", "autoprefixer": "9.4.7", "cssnano": "4.1.8", "cypress": "3.1.5", diff --git a/e2e/src/app/style.scss b/e2e/src/app/style.scss index 9c6a01cbd..e23c6c6c7 100644 --- a/e2e/src/app/style.scss +++ b/e2e/src/app/style.scss @@ -20,9 +20,28 @@ } #img-tag { + position: relative; + img { width: 90%; margin: 20px auto; display: block; } + &::after { + display: flex; + align-items: center; + justify-content: center; + content: 'I am an img tag'; + font-size: 32px; + position: absolute; + font-size: 32px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, + Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + text-shadow: 1px 1px 4px black; + color: #fff; + top: 0; + left: 0; + height: 100%; + width: 100%; + } } diff --git a/e2e/yarn.lock b/e2e/yarn.lock index e304bd422..821d4f2a3 100644 --- a/e2e/yarn.lock +++ b/e2e/yarn.lock @@ -9,7 +9,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.1.0": +"@babel/core@^7.1.0", "@babel/core@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== @@ -920,7 +920,7 @@ dependencies: "@types/tinycolor2" "*" -"@types/handlebars@^4.0.39": +"@types/handlebars@^4.0.40": version "4.0.40" resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.40.tgz#b714e13d296a75bff3f199316d1311933ca79ffd" integrity sha512-sGWNtsjNrLOdKha2RV1UeF8+UbQnPSG7qbe5wwbni0mw4h2gHXyPFUMOC+xwGirIiiydM/HSqjDO4rk6NFB18w== @@ -1006,15 +1006,15 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.1.tgz#da61b64a2930a80fa708e57c45cd5441eb379d5b" integrity sha512-i1sl+WCX2OCHeUi9oi7PiCNUtYFrpWhpcx878vpeq/tlZTKzcFdHePlyFHVbWqeuKN0SRPl/9ZFDSTsfv9h7VQ== -"@types/node@^10.11.3": - version "10.12.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.25.tgz#0d01a7dd6127de60d861ece4a650963042abb538" - integrity sha512-IcvnGLGSQFDvC07Bz2I8SX+QKErDZbUdiQq7S2u3XyzTyJfUmT0sWJMbeQkMzpTAkO7/N7sZpW/arUM2jfKsbQ== +"@types/node@^11.9.0": + version "11.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.9.0.tgz#35fea17653490dab82e1d5e69731abfdbf13160d" + integrity sha512-ry4DOrC+xenhQbzk1iIPzCZGhhPGEFv7ia7Iu6XXSLVluiJIe9FfG7Iu3mObH9mpxEXCWLCMU4JWbCCR9Oy1Zg== -"@types/ora@^1.3.4": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/ora/-/ora-1.3.5.tgz#1a08bf64902c1473d3d47de58549a49e07140f1c" - integrity sha512-CZe3oXbO1XylJT1feg+/aCzNt6tfR4XO+IkLetc85O/yaZRw271cZtS8LL/2mknd+PoR5IKAjFLzo4KWZXxung== +"@types/ora@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/ora/-/ora-3.0.0.tgz#fd30d5414e00fc4608cc7e18b565dceb57f4f66c" + integrity sha512-AOY050qkT67vf17bQFyHSjF615vs1yAeiHrpwh55BQCnpHi70LGJaLdrrl8YlvtAzDdXTWyYLs4kb6uQXiuHIg== dependencies: "@types/node" "*" @@ -1184,7 +1184,7 @@ dependencies: source-map "^0.6.1" -"@types/update-notifier@^2.2.0": +"@types/update-notifier@^2.5.0": version "2.5.0" resolved "https://registry.yarnpkg.com/@types/update-notifier/-/update-notifier-2.5.0.tgz#63cfcee92cc915f9a6eea4d1442ec6efd012e118" integrity sha512-YV+ZcSIiv30GhLM7WwxI+bsbcW34d3Yhl2JSFBNFL6qtfsoI9++hogxz+jTqeS86ynKcMUE0AsnLWQynfJnsfA== @@ -1207,16 +1207,11 @@ "@types/memory-fs" "*" "@types/webpack" "*" -"@types/webpack-env@1.13.7": +"@types/webpack-env@1.13.7", "@types/webpack-env@^1.13.7": version "1.13.7" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.7.tgz#137a4e57aa31ab57b1baf66f5dc3b6bf085e9944" integrity sha512-rzi6fw7hhxPcCoNVsgysHFlKnhYYvVj7AJwdAO0HQNP5vg9sY0DoRRC1pfuCQm94cOa1sab82HGUtdFlWHIhBg== -"@types/webpack-env@^1.13.6": - version "1.13.6" - resolved "http://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.13.6.tgz#128d1685a7c34d31ed17010fc87d6a12c1de6976" - integrity sha512-5Th3OsZ4gTRdr9Mho83BQ23cex4sRhOR4XTG+m+cJc0FhtUBK9Vn62hBJ+pnQYnSxoPOsKoAPOx6FcphxBC8ng== - "@types/webpack-hot-middleware@^2.16.4": version "2.16.4" resolved "https://registry.yarnpkg.com/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.16.4.tgz#258ecf2ae0ee80a988cc65547b24608fe10be440" @@ -1225,7 +1220,7 @@ "@types/connect" "*" "@types/webpack" "*" -"@types/webpack@*", "@types/webpack@^4.4.13": +"@types/webpack@*", "@types/webpack@^4.4.24": version "4.4.24" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.24.tgz#75bc301176066f566ec54151b6101c2b45abb8b2" integrity sha512-yg99CjvB7xZ/iuHrsZ7dkGKoq/FRDzqLzAxKh2EmTem6FWjzrty4FqCqBYuX5z+MFwSaaQGDAX4Q9HQkLjGLnQ== @@ -1395,12 +1390,12 @@ "@wpackio/entrypoint@file:../packages/entrypoint": version "2.0.0" dependencies: - "@types/webpack-env" "^1.13.6" + "@types/webpack-env" "^1.13.7" "@wpackio/scripts@file:../packages/scripts": version "2.11.0" dependencies: - "@babel/core" "^7.1.0" + "@babel/core" "^7.2.2" "@babel/preset-flow" "^7.0.0" "@babel/preset-typescript" "^7.1.0" "@types/archiver" "^2.1.2" @@ -1413,59 +1408,59 @@ "@types/figures" "^2.0.0" "@types/find-up" "^2.1.1" "@types/gradient-string" "^1.1.0" - "@types/handlebars" "^4.0.39" + "@types/handlebars" "^4.0.40" "@types/inquirer" "^0.0.43" "@types/log-symbols" "^2.0.0" "@types/make-dir" "^1.0.3" - "@types/node" "^10.11.3" - "@types/ora" "^1.3.4" - "@types/update-notifier" "^2.2.0" - "@types/webpack" "^4.4.13" + "@types/node" "^11.9.0" + "@types/ora" "^3.0.0" + "@types/update-notifier" "^2.5.0" + "@types/webpack" "^4.4.24" "@types/webpack-assets-manifest" "^3.0.0" "@types/webpack-dev-middleware" "^2.0.2" - "@types/webpack-env" "^1.13.6" + "@types/webpack-env" "^1.13.7" "@types/webpack-hot-middleware" "^2.16.4" "@wpackio/babel-preset-base" "^2.10.0" archiver "^3.0.0" - autoprefixer "^9.1.5" - babel-loader "^8.0.2" - boxen "^2.0.0" - browser-sync "^2.24.7" + autoprefixer "^9.4.7" + babel-loader "^8.0.5" + boxen "^2.1.0" + browser-sync "^2.26.3" camelcase "^5.0.0" - chalk "^2.4.1" - clean-webpack-plugin "^1.0.0" - commander "^2.18.0" + chalk "^2.4.2" + clean-webpack-plugin "^1.0.1" + commander "^2.19.0" cpy "^7.0.1" css-loader "^1.0.0" del "^3.0.0" dev-ip "^1.0.1" execa "^1.0.0" - figlet "^1.2.0" + figlet "^1.2.1" figures "^2.0.0" file-loader "^2.0.0" find-up "^3.0.0" gradient-string "^1.2.0" - handlebars "^4.0.12" - inquirer "^6.2.0" + handlebars "^4.1.0" + inquirer "^6.2.2" log-symbols "^2.2.0" make-dir "^2.0.0" mini-css-extract-plugin "^0.5.0" optimize-css-assets-webpack-plugin "^5.0.1" - ora "^3.0.0" + ora "^3.1.0" postcss-loader "^3.0.0" pretty-error "^2.1.1" react-dev-utils "^6.0.4" sass-loader "^7.1.0" - slugify "^1.3.1" - style-loader "^0.23.0" - time-fix-plugin "^2.0.3" - uglifyjs-webpack-plugin "^2.0.1" + slugify "^1.3.4" + style-loader "^0.23.1" + time-fix-plugin "^2.0.5" + uglifyjs-webpack-plugin "^2.1.1" update-notifier "^2.5.0" - webpack "^4.20.2" - webpack-assets-manifest "^3.1.0" - webpack-dev-middleware "^3.4.0" - webpack-hot-middleware "^2.24.0" - webpack-merge "^4.1.4" + webpack "^4.29.3" + webpack-assets-manifest "^3.1.1" + webpack-dev-middleware "^3.5.2" + webpack-hot-middleware "^2.24.3" + webpack-merge "^4.2.1" "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -1906,7 +1901,7 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@9.4.7, autoprefixer@^9.1.5: +autoprefixer@9.4.7, autoprefixer@^9.4.7: version "9.4.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.4.7.tgz#f997994f9a810eae47b38fa6d8a119772051c4ff" integrity sha512-qS5wW6aXHkm53Y4z73tFGsUhmZu4aMPV9iHXYlF0c/wxjknXNHuj/1cIQb+6YH692DbJGGWcckAXX+VxKvahMA== @@ -1955,7 +1950,7 @@ babel-jest@^24.1.0: chalk "^2.4.2" slash "^2.0.0" -babel-loader@^8.0.2: +babel-loader@^8.0.5: version "8.0.5" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== @@ -2120,7 +2115,7 @@ boxen@1.3.0, boxen@^1.2.1: term-size "^1.2.0" widest-line "^2.0.0" -boxen@^2.0.0: +boxen@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-2.1.0.tgz#8d576156e33fc26a34d6be8635fd16b1d745f0b2" integrity sha512-luq3RQOt2U5sUX+fiu+qnT+wWnHDcATLpEe63jvge6GUZO99AKbVRfp97d2jgLvq1iQa0ORzaAm4lGVG52ZSlw== @@ -2205,7 +2200,7 @@ browser-sync-ui@^2.26.2: socket.io-client "^2.0.4" stream-throttle "^0.1.3" -browser-sync@^2.24.7: +browser-sync@^2.26.3: version "2.26.3" resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.26.3.tgz#1b59bd5935938a5b0fa73b3d78ef1050bd2bf912" integrity sha512-VLzpjCA4uXqfzkwqWtMM6hvPm2PNHp2RcmzBXcbi6C9WpkUhhFb8SVAr4CFrCsFxDg+oY6HalOjn8F+egyvhag== @@ -2659,7 +2654,7 @@ classnames@^2.2.6: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== -clean-webpack-plugin@^1.0.0: +clean-webpack-plugin@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-1.0.1.tgz#b16ee2f1386aea403010236e632447c7d3505f5a" integrity sha512-gvwfMsqu3HBgTVvaBa1H3AZKO03CHpr5uP92SPIktP3827EovAitwW+1xoqXyTxCuXnLYpMHG5ytS4AoukHDWA== @@ -2839,7 +2834,7 @@ commander@2.11.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== -commander@^2.18.0, commander@^2.2.0: +commander@^2.19.0, commander@^2.2.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== @@ -4308,7 +4303,7 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== -figlet@^1.2.0: +figlet@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.1.tgz#48d35df9d9b10b1b3888302e6e57904a0b00509c" integrity sha512-qc8gycfnnfOmfvPl7Fi3JeTbcvdmbZkckyUVGGAM02je7Ookvu+bBfKy1I4FKqTsQHCs3ARJ76ip/k98r+OQuQ== @@ -4833,7 +4828,7 @@ gzip-size@5.0.0: duplexer "^0.1.1" pify "^3.0.0" -handlebars@^4.0.11, handlebars@^4.0.12: +handlebars@^4.0.11, handlebars@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.0.tgz#0d6a6f34ff1f63cecec8423aa4169827bf787c3a" integrity sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w== @@ -5227,7 +5222,7 @@ inquirer@6.2.0: strip-ansi "^4.0.0" through "^2.3.6" -inquirer@^6.2.0: +inquirer@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== @@ -7402,7 +7397,7 @@ ora@^0.2.3: cli-spinners "^0.1.2" object-assign "^4.0.1" -ora@^3.0.0: +ora@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ora/-/ora-3.1.0.tgz#dbedd8c03b5d017fb67083e87ee52f5ec89823ed" integrity sha512-vRBPaNCclUi8pUxRF/G8+5qEQkc6EgzKK1G2ZNJUIGu088Un5qIxFXeDgymvPRM9nmrcUOGzQgS1Vmtz+NtlMw== @@ -9284,7 +9279,7 @@ slice-ansi@0.0.4: resolved "http://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= -slugify@^1.3.1: +slugify@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.3.4.tgz#78d2792d7222b55cd9fc81fa018df99af779efeb" integrity sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw== @@ -9718,7 +9713,7 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@^0.23.0: +style-loader@^0.23.1: version "0.23.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== @@ -9912,7 +9907,7 @@ through@^2.3.6: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -time-fix-plugin@^2.0.3: +time-fix-plugin@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/time-fix-plugin/-/time-fix-plugin-2.0.5.tgz#41c76e734217cc91a08ea525fdde56de119fb683" integrity sha512-veHRiEsQ50KSrfdhkZiFvZIjRoyfyfxpgskD+P7uVQAcNe6rIMLZ8vhjFRE2XrPqQdy+4CF+jXsWAlgVy9Bfcg== @@ -10124,7 +10119,7 @@ uglify-js@^3.0.0, uglify-js@^3.1.4: commander "~2.17.1" source-map "~0.6.1" -uglifyjs-webpack-plugin@^2.0.1: +uglifyjs-webpack-plugin@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.1.1.tgz#6937d7513a37280d4792f1fb536bef35e08e420a" integrity sha512-TQEcyMNkObX/H+FfcKjiDgs5RcXX8vW2UUUrDTOfQgg3lrafztfeM5WAwXo+AzqozJK6NP9w98xNpG/dutzSsg== @@ -10455,7 +10450,7 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-assets-manifest@^3.1.0: +webpack-assets-manifest@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-3.1.1.tgz#39bbc3bf2ee57fcd8ba07cda51c9ba4a3c6ae1de" integrity sha512-JV9V2QKc5wEWQptdIjvXDUL1ucbPLH2f27toAY3SNdGZp+xSaStAgpoMcvMZmqtFrBc9a5pTS1058vxyMPOzRQ== @@ -10468,7 +10463,7 @@ webpack-assets-manifest@^3.1.0: tapable "^1.0.0" webpack-sources "^1.0.0" -webpack-dev-middleware@^3.4.0: +webpack-dev-middleware@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.5.2.tgz#d768b6194f3fe8d72d51feded49de359e8d96ffb" integrity sha512-nPmshdt1ckcwWjI0Ubrdp8KroeuprW6xFKYqk0u3MflNMBXvHPnMATsC7/L/enwav2zvLCfj/Usr47qnF3KQyA== @@ -10478,7 +10473,7 @@ webpack-dev-middleware@^3.4.0: range-parser "^1.0.3" webpack-log "^2.0.0" -webpack-hot-middleware@^2.24.0: +webpack-hot-middleware@^2.24.3: version "2.24.3" resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.24.3.tgz#5bb76259a8fc0d97463ab517640ba91d3382d4a6" integrity sha512-pPlmcdoR2Fn6UhYjAhp1g/IJy1Yc9hD+T6O9mjRcWV2pFbBjIFoJXhP0CoD0xPOhWJuWXuZXGBga9ybbOdzXpg== @@ -10496,7 +10491,7 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-merge@^4.1.4: +webpack-merge@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.1.tgz#5e923cf802ea2ace4fd5af1d3247368a633489b4" integrity sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw== @@ -10511,7 +10506,7 @@ webpack-sources@^1.0.0, webpack-sources@^1.1.0, webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.20.2: +webpack@^4.29.3: version "4.29.3" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.3.tgz#e0b406a7b4201ed5e4fb4f84fd7359f9a7db4647" integrity sha512-xPJvFeB+8tUflXFq+OgdpiSnsCD5EANyv56co5q8q8+YtEasn5Sj3kzY44mta+csCIEB0vneSxnuaHkOL2h94A== diff --git a/package.json b/package.json index eb86f4fe9..c24d64e8c 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "@babel/preset-env": "7.3.1", "@babel/preset-typescript": "7.1.0", "@types/jest": "24.0.1", - "@types/node": "10.12.25", + "@types/node": "11.9.0", "@wpquark/eslint-config": "3.2.0", "babel-core": "7.0.0-bridge.0", "babel-jest": "24.1.0", @@ -32,16 +32,20 @@ "rimraf": "2.6.3", "tslint": "5.12.1", "tslint-config-prettier": "1.18.0", - "tslint-microsoft-contrib": "5.2.1", + "tslint-microsoft-contrib": "6.0.0", "tslint-plugin-prettier": "2.0.1", "typescript": "3.3.3" }, "scripts": { "clean": "lerna clean", "type-check": "lerna run type-check", + "lint": "lerna run lint", "test": "lerna run test", "build": "lerna run build", "plop": "plop", "lerna": "lerna" + }, + "resolutions": { + "@types/webpack": "^4.4.24" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 525caaff3..2d594b2b8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -44,7 +44,7 @@ }, "devDependencies": { "@types/find-up": "2.1.1", - "@types/node": "10.12.25", + "@types/node": "11.9.0", "@types/shelljs": "0.8.2" } } diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 5579aa48a..3bfe8e692 100755 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -10,6 +10,8 @@ * devDependency */ +// tslint:disable:non-literal-fs-path + import chalk from 'chalk'; import program from 'commander'; import fs from 'fs'; @@ -113,7 +115,10 @@ program 'package.json' )} not found, creating one` ); - fs.writeFileSync(pkgJsonPath, JSON.stringify(packageJson, null, 2)); + fs.writeFileSync( + pkgJsonPath, + JSON.stringify(packageJson, undefined, 2) + ); console.log(`${symSucc} created package.json file`); } console.log(`${symInfo} adding dependencies`); @@ -141,7 +146,7 @@ program } else { pkgJson.scripts = { bootstrap: 'wpackio-scripts bootstrap' }; } - fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2)); + fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, undefined, 2)); console.log(`${symSucc} all operations done.`); console.log('\n\n'); console.log(`Please run the following command to get started`); diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 1d33bac1b..87c08d3ec 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -36,8 +36,8 @@ "@types/inquirer": "^0.0.43", "@types/log-symbols": "^2.0.0", "@types/make-dir": "^1.0.3", - "@types/node": "^10.11.3", - "@types/ora": "^1.3.4", + "@types/node": "^11.9.0", + "@types/ora": "^3.0.0", "@types/update-notifier": "^2.5.0", "@types/webpack": "^4.4.24", "@types/webpack-assets-manifest": "^3.0.0", diff --git a/packages/scripts/src/config/WebpackConfigHelper.ts b/packages/scripts/src/config/WebpackConfigHelper.ts index 122df1a6f..07ea485d4 100644 --- a/packages/scripts/src/config/WebpackConfigHelper.ts +++ b/packages/scripts/src/config/WebpackConfigHelper.ts @@ -261,13 +261,13 @@ export class WebpackConfigHelper { }.css`, }), // Create Manifest for PHP Consumption - new WebpackAssetsManifest({ + (new WebpackAssetsManifest({ writeToDisk: true, output: `${this.outputPath}/${this.appDir}/manifest.json`, publicPath: ``, // We dont put ${this.config.outputPath}/ here because, PHP will pick it up anyway. entrypoints: true, entrypointsKey: 'wpackioEp', - }), + }) as unknown) as webpack.Plugin, ]; // Add ts checker plugin if project has tsconfig.json const tsconfigPath = path.resolve(this.cwd, './tsconfig.json'); @@ -458,7 +458,7 @@ ${bannerConfig.copyrightText}${bannerConfig.credit ? creditNote : ''}`, // If we have sass, then add the stuff if ( hasSass && - styleRules.use != null && + styleRules.use !== undefined && Array.isArray(styleRules.use) ) { styleRules.test = /\.(sa|sc|c)ss$/; @@ -524,7 +524,8 @@ ${bannerConfig.copyrightText}${bannerConfig.credit ? creditNote : ''}`, public getResolve(): webpack.Resolve { return { extensions: ['.js', '.jsx', '.ts', '.tsx'], - alias: this.config.alias != null ? { ...this.config.alias } : {}, + alias: + this.config.alias !== undefined ? { ...this.config.alias } : {}, }; } @@ -593,7 +594,7 @@ ${bannerConfig.copyrightText}${bannerConfig.credit ? creditNote : ''}`, options: PresetOptions | undefined ): PresetOptions { // If options is not undefined or null, then spread over it - if (options != null) { + if (options !== undefined) { return { ...defaults, ...options }; } return defaults; @@ -610,7 +611,7 @@ ${bannerConfig.copyrightText}${bannerConfig.credit ? creditNote : ''}`, override: webpackLoaderOptionsOverride ): webpack.RuleSetLoader['options'] { // If override is not undefined or null, then return it - if (override != null) { + if (override !== undefined) { // If it is a function if (typeof override === 'function') { return (override as webpackOptionsOverrideFunction)( @@ -629,6 +630,7 @@ ${bannerConfig.copyrightText}${bannerConfig.credit ? creditNote : ''}`, */ private fileExists(filepath: string): boolean { try { + // tslint:disable-next-line:non-literal-fs-path return fs.statSync(filepath).isFile(); } catch (_) { return false; diff --git a/packages/scripts/src/scripts/Server.ts b/packages/scripts/src/scripts/Server.ts index bb49073e6..05c5d58c9 100644 --- a/packages/scripts/src/scripts/Server.ts +++ b/packages/scripts/src/scripts/Server.ts @@ -92,7 +92,7 @@ export class Server { // We can have multi-compiler or single compiler, depending on the config // we get. And both of them works for dev and hot middleware. - let compiler: webpack.Compiler | webpack.MultiCompiler; + let compiler: webpack.ICompiler; if (this.webpackConfig.isMultiCompiler()) { compiler = webpack( this.webpackConfig.getWebpackConfig() as webpack.Configuration[] diff --git a/yarn.lock b/yarn.lock index 48a909839..606372e43 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1779,20 +1779,20 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/node@*", "@types/node@^10.11.3": +"@types/node@*": version "10.11.3" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.11.3.tgz#c055536ac8a5e871701aa01914be5731539d01ee" integrity sha512-3AvcEJAh9EMatxs+OxAlvAEs7OTy6AG94mcH1iqyVDwVVndekLxzwkWQ/Z4SDbY6GO2oyUXyWW8tQ4rENSSQVQ== -"@types/node@10.12.25": - version "10.12.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.25.tgz#0d01a7dd6127de60d861ece4a650963042abb538" - integrity sha512-IcvnGLGSQFDvC07Bz2I8SX+QKErDZbUdiQq7S2u3XyzTyJfUmT0sWJMbeQkMzpTAkO7/N7sZpW/arUM2jfKsbQ== +"@types/node@11.9.0", "@types/node@^11.9.0": + version "11.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.9.0.tgz#35fea17653490dab82e1d5e69731abfdbf13160d" + integrity sha512-ry4DOrC+xenhQbzk1iIPzCZGhhPGEFv7ia7Iu6XXSLVluiJIe9FfG7Iu3mObH9mpxEXCWLCMU4JWbCCR9Oy1Zg== -"@types/ora@^1.3.4": - version "1.3.4" - resolved "http://registry.npmjs.org/@types/ora/-/ora-1.3.4.tgz#b7fbbea8dac9851eb1918a761e2f4fae4cec03f5" - integrity sha512-DrHOHEdYzRjL65n2v+NwTdhC8tACaiCDnUU1wAAbibfZOaRj3KjUb3unnAAWFZuny43qPAvB6ka+Iyj2R2XPxw== +"@types/ora@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/ora/-/ora-3.0.0.tgz#fd30d5414e00fc4608cc7e18b565dceb57f4f66c" + integrity sha512-AOY050qkT67vf17bQFyHSjF615vs1yAeiHrpwh55BQCnpHi70LGJaLdrrl8YlvtAzDdXTWyYLs4kb6uQXiuHIg== dependencies: "@types/node" "*" @@ -1983,17 +1983,7 @@ "@types/connect" "*" "@types/webpack" "*" -"@types/webpack@*": - version "4.4.13" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.13.tgz#828d3a8f7743a12692aa0f65d083f30d25bf34eb" - integrity sha512-N6ge9VfI98kI467oXAxJiX4436Kg3GHWtcHxtjkpFBrajqAtBWnq+ardbUN/9+mX3dmEs+mVmsdua7YGTNd4vg== - dependencies: - "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - source-map "^0.6.0" - -"@types/webpack@^4.4.24": +"@types/webpack@*", "@types/webpack@4.4.24", "@types/webpack@^4.4.24": version "4.4.24" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.24.tgz#75bc301176066f566ec54151b6101c2b45abb8b2" integrity sha512-yg99CjvB7xZ/iuHrsZ7dkGKoq/FRDzqLzAxKh2EmTem6FWjzrty4FqCqBYuX5z+MFwSaaQGDAX4Q9HQkLjGLnQ== @@ -11730,10 +11720,10 @@ tslint-config-prettier@1.18.0: resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37" integrity sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg== -tslint-microsoft-contrib@5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.2.1.tgz#a6286839f800e2591d041ea2800c77487844ad81" - integrity sha512-PDYjvpo0gN9IfMULwKk0KpVOPMhU6cNoT9VwCOLeDl/QS8v8W2yspRpFFuUS7/c5EIH/n8ApMi8TxJAz1tfFUA== +tslint-microsoft-contrib@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-6.0.0.tgz#7bff73c9ad7a0b7eb5cdb04906de58f42a2bf7a2" + integrity sha512-R//efwn+34IUjTJeYgNDAJdzG0jyLWIehygPt/PHuZAieTolFVS56FgeFW7DOLap9ghXzMiFPTmDgm54qaL7QA== dependencies: tsutils "^2.27.2 <2.29.0"