{"_id":"@aligent/frontend-toolkit","_rev":"42-762f9fea8cebac21433777faeaef7ec5","name":"@aligent/frontend-toolkit","dist-tags":{"old-version":"3.3.6","latest":"4.1.0"},"versions":{"3.2.1":{"name":"@aligent/frontend-toolkit","version":"3.2.1","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.2.1","maintainers":[{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"8830950a2f04f6d758a28f2df1e0ac8f485b3fb8","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.2.1.tgz","fileCount":110,"integrity":"sha512-9vYrxQj80VbT/2zHP7ezIs+QtTM7YAJ8grzQn1VDqWim7j+Ieg/9KU2tR8aaL5wRxbrTLTEehv9X684VA+/0bg==","signatures":[{"sig":"MEYCIQCXDd4H5KQdPlFimNV8X40lM3m+ItRKCrXCpqC8jjoTNwIhANvc0w7VYq6LZHA3pMWE+PqY9HOklXVMuXK1yt9CDvBz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":251090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLoPiCRA9TVsSAnZWagAA1BMP/jGLQ1mmYg3Xca2i/MKs\nAp3iaJHtb8PyPUvQFMW0SeFDOzDhsc7EuxxnjIS34X1xH+VPNQpUknK1is1O\nrUJ0bTn+XKkD7sYVu1n5Sp8CL7hDhOKmHswXhajTYr3fAIVfBwHTWLwrvhvy\nSsTkfCs5R1cE76Uq1BGD9Kx4Fh0FKgSYZkVvf+BZ/KqS65qSDFA++HrbT0IM\nm7mqYgKpNk4FSoE3MOb1EKTuaBt2A0GnqHK82hocqUOcsnIPbC2c5LhySFBe\ndVS60+N3R8I4Q0CwH3csEIGbQxvW225NF17rqGQB1kieo8u8zNc0EwFPPfXi\n8l9X9gfkdQgFRoYvMCPULXEMQBfSiFFrS1dVUuhrjE9B6Bl7/A9INIMKw8Gl\nyO8KlwTuDVkXv9QRavU3YSPkX2KDiyT+QloBGgpGvwAr8c4I5XwnkNZuUsli\nswfniWTqb9Z++KskAa/0LGV9XQeyhnNrr9nbBhHZBQ8ZuOrbVmzbYME4rF28\nWJyr3r3nClCIzN+HNFb/XYIOdCBsrKSVPHAOlGI21LiRePLp3Aeltf3TUpQ9\n+tmN57mRg8wZvFGF9De9CvyLUbBJ7PCNErrNNQBSdYSfCY4KY2M9iPEdeded\ny7+BZA0WQo5fMR6n12c9PfeD993TMs/zIX3D/nY0Id6YYoTd6w47E0Ly/ozx\naZpP\r\n=PaAP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"210fec38773726832f0a52e091b7ab75d5720062","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run startServer & npm run mocha tests/js/runner.js","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","posttest":"npm run stopServer","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.9.2","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.15.3","dependencies":{"del":"^5.0.0","glob":"^7.1.4","gulp":"^4.0.2","sass":"^1.22.5","chalk":"^2.4.2","nconf":"^0.10.0","react":"^16.8.6","eslint":"^6.0.0","jquery":"^3.4.0","lodash":"^4.17.14","terser":"^4.1.2","core-js":"^3.1.4","cssnano":"^4.1.10","gulp-if":"^2.0.2","postcss":"^7.0.17","webpack":"^4.35.3","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.8.6","requirejs":"^2.3.6","stylelint":"^10.1.0","ts-loader":"^6.0.4","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^3.0.0","typescript":"^3.5.3","url-loader":"^2.0.1","@babel/core":"^7.5.4","@types/node":"^12.6.6","file-loader":"^4.0.0","gulp-concat":"^2.6.1","gulp-rename":"^1.4.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.11.1","sass-loader":"^7.1.0","@types/react":"^16.8.23","autoprefixer":"^9.6.1","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^0.23.1","@types/jquery":"^3.3.30","@types/lodash":"^4.14.136","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^9.0.0","stylelint-scss":"^3.9.1","webpack-stream":"^5.2.1","@babel/register":"^7.4.0","gulp-sourcemaps":"^2.6.5","stylelint-order":"^3.0.1","@storybook/react":"^5.1.9","@types/react-dom":"^16.8.4","@babel/preset-env":"^7.5.4","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.1","gulp-autoprefixer":"^6.1.0","@types/react-redux":"^7.1.1","resolve-url-loader":"^3.1.0","@babel/preset-react":"^7.0.0","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^1.3.0","mini-css-extract-plugin":"^0.8.0","webpack-bundle-analyzer":"^3.3.2","@sambego/storybook-state":"^1.3.6","@aligent/eslint-config-aligent":"^2.1.4","stylelint-config-sass-guidelines":"^6.0.0","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/plugin-transform-async-to-generator":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.2.1_1563329506034_0.9701522872998942","host":"s3://npm-registry-packages"}},"3.2.2":{"name":"@aligent/frontend-toolkit","version":"3.2.2","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.2.2","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"e84dce4f5feda0a18441f65ad9b821ad7544b9d0","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.2.2.tgz","fileCount":110,"integrity":"sha512-Iaf4kDhNDfCLSGy2T+hZ+AAanBB8kA+HcZNJ32mmm1G6x9ctlCPSVF2Tyf1rmCX6ZK0ncDCaS52KOvAsUrJL5A==","signatures":[{"sig":"MEQCIDQvhfbYUJvQd9F92T7ZIACMaZseWaGmm8ZMi1zc7HhoAiB320zy8xIN4LSpZIrq7FgQDU4ixNNwyjK8Eb4k0qFcnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":250614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL9isCRA9TVsSAnZWagAA6BcP/RpqJxnfeqRMhkGUxwED\nDxBJzWLXuCkVuXMDKMLeARZDa9glUIGxqrHdz6JZfnckhlzjwuGDsReKOQCs\nR1KjHMRiEhk9Pse+VmRNxdZRegIbvczN1Ky1i45oLM6r0Xp8vYIgNPwo6CoK\nZYRKIxOqdjZtDX1wMf/MSZdJQiJ4090JE4PGKwv/Y1wC0pzfmUS6l+HTtl+A\nzlnnpFTznyp5/XJUqY3INUylNVNzPcXtJgLVDK3o6A8TOXzsNbq/N7uq/NMA\nV97AZz8kQ9t7oH+WD2QAPFuOTaFA4mJ9qjY4iXrIMjFgAMndauC6puW8l5PQ\nZWHPVvOgHijby7il7yWmSvXlqJTT7hGakO/fEGuNGAyhZEXUhUMLsFLC/1+X\ns1HEVa85DXFxIRmc3LXtjtwOHpJaZ9+kd9pM3305MgaGoDsJ4hjw6eSbUG9R\nSctoFjPtzdsqyyhJUKKryHs7YHphgY6YJAGP2z1Q5AjVuozT8Eu1sr5we5uE\nxdiqt6kGUMb3pW9jbQc1RNsIn+tlMovqycKN1GgX1lSDuOY34xg84/j+w8TC\n9buQjjOQMF4rDJKT02ycUppECppBzcDGFCTlbTeJbztgyqJ1qfV2t4I9qyOi\nnxBr7OwS+/jK+AaYvA/V3aoHQVtFMpVfgiNVYVGCJUi+lyq1bn0ybjj/GVcO\nMwG5\r\n=3YQP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"90277f8a81901e397541f2777ba11b826cc50667","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run startServer & npm run mocha tests/js/runner.js","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","posttest":"npm run stopServer","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.9.2","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.15.3","dependencies":{"del":"^5.0.0","glob":"^7.1.4","gulp":"^4.0.2","sass":"^1.22.5","chalk":"^2.4.2","nconf":"^0.10.0","react":"^16.8.6","eslint":"^6.0.0","jquery":"^3.4.0","lodash":"^4.17.14","terser":"^4.1.2","core-js":"^3.1.4","cssnano":"^4.1.10","gulp-if":"^2.0.2","postcss":"^7.0.17","webpack":"^4.35.3","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.8.6","requirejs":"^2.3.6","stylelint":"^10.1.0","ts-loader":"^6.0.4","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^3.0.0","typescript":"^3.5.3","url-loader":"^2.0.1","@babel/core":"^7.5.4","@types/node":"^12.6.6","file-loader":"^4.0.0","gulp-concat":"^2.6.1","gulp-rename":"^1.4.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.11.1","sass-loader":"^7.1.0","@types/react":"^16.8.23","autoprefixer":"^9.6.1","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^0.23.1","@types/jquery":"^3.3.30","@types/lodash":"^4.14.136","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^9.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.4.0","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.1.9","@types/react-dom":"^16.8.4","@babel/preset-env":"^7.5.4","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.1","gulp-autoprefixer":"^6.1.0","@types/react-redux":"^7.1.1","resolve-url-loader":"^3.1.0","@babel/preset-react":"^7.0.0","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^1.3.0","mini-css-extract-plugin":"^0.8.0","webpack-bundle-analyzer":"^3.3.2","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-config":"^1.0.0","@aligent/eslint-config-aligent":"^2.1.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/plugin-proposal-class-properties":"^7.5.0","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/plugin-transform-async-to-generator":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.2.2_1563416748253_0.5475473361378445","host":"s3://npm-registry-packages"}},"3.2.3":{"name":"@aligent/frontend-toolkit","version":"3.2.3","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.2.3","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"ccc3e3cc251e199fe940f48104d308c1bcd52bd7","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.2.3.tgz","fileCount":110,"integrity":"sha512-x4MQUdwkiU6FRqrHQK2B0hIwErmvdKxxqhKYvz8PCZ2ByCgYiUpujVKeoqlEzXdb2u/A4Ecyc8rG8ZpQEEtRgQ==","signatures":[{"sig":"MEUCIE0VjG8wCg41IGAmYDQ4iT6zjAKGw0LqknamZXtaX7F1AiEA4jBV+ma0LL0VBDePJKpIGcd2NX9xVeCNAqRmoo1+WxU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":250300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPmPHCRA9TVsSAnZWagAATCUP/2OSBsEFwqWbs4PDSCOo\nJtVMHEsDtw3hBBs72vIqDmxXTLuIetmpsAkjsK8cCM3evoV6sB0EUHs0NnCQ\nvBw50vaVZaUjpciCw8WlcJ389FkZnkyLQqe/eC90CPcy1wJFgBPEH1FPir5I\nPsyBdoOsTBINq/jkpv4wqHu01eDrnxuT6WXGSBx8Av+kMHT1eAL+433Zm7xh\nciaWsSn7xC39f7Y77y3VWQbglSeO4qhkQzXSZcL2MIfoFYQojz7POSHGkH0H\nDgIGS5olQuaolM5sTLwVqlDSpL9kxuOjZ+fKZ4Jl7iR+IvtLFH0f8eWBHXGq\nefJBlA9PplkqB7tuS6UA8eqlQyBrR912XRYudApXwEFzolKLIncdXiC3QFmc\nVw4FvIXq2g8iDPBM7YgpbXeMpxYTO4mlEX74/RLXBAzeJemfAbORmqw60HRX\n2Vw1g66T09c8jVr2RUdOoEUHHmbF+EkS8mExmowfjzP+l7H4FIXUdsVdYZxf\n3P4OedTW8KDLQJbk2W4HPg3CalaIZ4ynWL/u7itO3t8DupMpexCiWrU9dby3\nZL3HTHnBKvN+enynYwSZxg5/L9mgLpSKG8gkcQb6AGxAxDb23W9kZ+Es40jO\nw8gdyN8lNGK8O1FVCbBV0rwuOj8o2F0OLhzeac4G7DD0GMZMwcgtXoUQFFMv\nOw0r\r\n=Lw3K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"149ebccdda7c6524b83b69e6f86145f7d67a97e4","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run startServer & npm run mocha tests/js/runner.js","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","posttest":"npm run stopServer","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.9.2","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.15.3","dependencies":{"del":"^5.0.0","glob":"^7.1.4","gulp":"^4.0.2","sass":"^1.22.7","chalk":"^2.4.2","nconf":"^0.10.0","react":"^16.8.6","eslint":"^6.1.0","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.1.2","core-js":"^3.1.4","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.17","webpack":"^4.38.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.8.6","requirejs":"^2.3.6","stylelint":"^10.1.0","ts-loader":"^6.0.4","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^3.1.0","typescript":"^3.5.3","url-loader":"^2.1.0","@babel/core":"^7.5.5","@types/node":"^12.6.8","file-loader":"^4.1.0","gulp-concat":"^2.6.1","gulp-rename":"^1.4.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.11.1","sass-loader":"^7.1.0","@types/react":"^16.8.23","autoprefixer":"^9.6.1","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^0.23.1","@types/jquery":"^3.3.30","@types/lodash":"^4.14.136","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^9.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.5.5","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.1.9","@types/react-dom":"^16.8.5","@babel/preset-env":"^7.5.5","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.1","gulp-autoprefixer":"^6.1.0","@types/react-redux":"^7.1.1","resolve-url-loader":"^3.1.0","@babel/preset-react":"^7.0.0","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.0.2","terser-webpack-plugin":"^1.3.0","@aligent/eslint-config":"^2.3.0","mini-css-extract-plugin":"^0.8.0","webpack-bundle-analyzer":"^3.3.2","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-config":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.5.5","@babel/plugin-transform-async-to-generator":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.2.3_1564369863208_0.523361565034417","host":"s3://npm-registry-packages"}},"3.2.4":{"name":"@aligent/frontend-toolkit","version":"3.2.4","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.2.4","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"d2b6d0a18c92ae4631e06a4e86d0d3509e186ee6","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.2.4.tgz","fileCount":110,"integrity":"sha512-PfqIpxFISpY0mPgha7hl9zDAfEQvHVxcHEGtJ7FTg4kmiEdQ+tWlArDvE6qdhPkTXHNeQ59kKdgaAp7NA7hzFw==","signatures":[{"sig":"MEUCIBdKvhs63IqDGLVi6UU1tCgUp+RhLxcZswDvJbzLEjcfAiEAwQR2109M+qrls65Ep4rB4FWhnyaIYxe2xIoW4AO59vU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":250876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdST/DCRA9TVsSAnZWagAAACQP/1qArPMQUCJRAw8mVcbj\nVcbuXvpd6KM0TdehlBGxMxH5e9EexLoMoBe9BaP7PPNmPH+eEBTmcZoeGri4\nUdDQtT4P3+0aVIm6C+OH2OWYKhlmgBBF5uHjSVrWIuuT4OVRgGMOA2XV04Pm\ns9Y7YhLnAlAgIlUeFDfSNk8iGeVcCBcVdvItsLTEJU95XqOP1dkzxq6+bnBo\nfVGhpmvNNe9kKJLfADCCvBzS6BQpLFAv4xYB3bqe/kCIIXQIRRXmVJLZUwm4\n8qFcsoAPPdeORbz4icmxOubbw9iExumoYUahjqLVH5rmKbFDrAOojIhiCxLi\nev+ycEKh2xguCZRTLw7yWQyLf8RUiLtrgc4l8vXqtCFEEYO+ynrz6QW9s4QJ\n8gtJZKVWykJXmwWvAZ+XgHyAZGBD/IO3U1Zj/1jbHqxg6EgfzxfhLW2R0Hj7\nVwKfF1nBkUyYp4o7vfNP5E5pYIAqu5n0Ab18v1pFD/ByHoqYNLE5qTEOMKgN\n1E86wBR/kORzVS0FkjAhBGWYOQXXKaIAWCO4v+vL7jZY1bepH5IFAr1JHege\ngD8S9itzazde1RhGwuLWuB/t0tx8ZKIl6cCsWJKH4VoynQ65H/JVrzX02IfA\nFb/n82lqtYoN95Qiuwi9fHojSS8yLclBqx3NaC9NeywzmUzvcolGoRml4Cj2\neEkZ\r\n=fCyr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"ef693492a6488f080165fca56df25a76707ffb2f","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run startServer & npm run mocha tests/js/runner.js","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","posttest":"npm run stopServer","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.9.2","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.15.3","dependencies":{"del":"^5.0.0","glob":"^7.1.4","gulp":"^4.0.2","jest":"^24.8.0","sass":"^1.22.9","chalk":"^2.4.2","nconf":"^0.10.0","react":"^16.8.6","enzyme":"^3.10.0","eslint":"^6.1.0","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.1.3","core-js":"^3.1.4","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.17","webpack":"^4.39.1","jest-cli":"^24.8.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.8.6","requirejs":"^2.3.6","stylelint":"^10.1.0","ts-loader":"^6.0.4","babel-jest":"^24.8.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^3.1.0","typescript":"^3.5.3","url-loader":"^2.1.0","@babel/core":"^7.5.5","@types/node":"^12.6.9","file-loader":"^4.1.0","gulp-concat":"^2.6.1","gulp-rename":"^1.4.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.11.1","sass-loader":"^7.1.0","@types/react":"^16.8.24","autoprefixer":"^9.6.1","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^0.23.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.136","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^9.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.5.5","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.1.10","@types/react-dom":"^16.8.5","@babel/preset-env":"^7.5.5","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.1","gulp-autoprefixer":"^6.1.0","@types/react-redux":"^7.1.1","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.0","@babel/preset-react":"^7.0.0","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.0","terser-webpack-plugin":"^1.4.1","@aligent/eslint-config":"^2.3.0","enzyme-adapter-react-16":"^1.14.0","mini-css-extract-plugin":"^0.8.0","webpack-bundle-analyzer":"^3.4.1","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.5.5","@babel/plugin-transform-async-to-generator":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.2.4_1565081538966_0.6726410821114155","host":"s3://npm-registry-packages"}},"3.2.5":{"name":"@aligent/frontend-toolkit","version":"3.2.5","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.2.5","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"716742efbd068b41aafd5a241052af1650aedd13","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.2.5.tgz","fileCount":111,"integrity":"sha512-zxbLwTzBKxaohDxFG8ahhfOwtL+t5cktn0KLhr/yeS3xvYwwElU+MbT+QYoPRP6v7vn+8pI2+1ZPPhMGTxq42Q==","signatures":[{"sig":"MEQCIHANtoRz85hZx8OsK5ykRe0upWPouhZIcDECnG5JOFmxAiAdd/SpZPaurN7PwJRyBMPfjU7yDs4dY5XjBZuDqVWFzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcFivCRA9TVsSAnZWagAAWf4P/i2b/f6zwBcky7EHUMjX\nVSMqutmiSS2768pfxBHqNEOyWuKwNoXWW0zOTRdOfVx0dQHDMOmukmkA3uW8\nm+UuTo6gGW7Gy1I7spwHi0EbCbfOIFOolNXxm2Ry3A2LUCKjjhIdiZshWhAg\nZCXLpprChjEGAHeofzqt7Fxtv2UTAREQ4gpojfKaV6Tb04e7blAz3jnMw1wZ\nBoUmBO09V2iaj6I0FaOKEFGylxAxcFtqAk0bsgZc58qlE795m8knqZN92A/O\nbs7RNQPVOfrLHqPge54kPTPRGzhX08+VsPGrarfrwIK8oLy8pr/s9iGeufXX\nRVQT/Ebaxqsk7dOT6DBdbrDcaQzXU9qsh/glzY/LQjrHR26b4OnaKv/N2fBY\nUDH8o82BwQojCDIv2VJW0kK5oUDQdxSV0VcSUzkr+EECQWaoxjRGZ26rbI9U\nz9Vl+YFB7uCi4e1F4g22awoxJQ3zJVsxfefpkiMxspSh2VtsYA2TvUvYwH8u\nNQhZdOFQ0K85wkGR+7A+fDQ2jz8W8ft10arRFn92U7DI2Sxx7exJumzQGHwG\n4hd2+rT1byu+Xfy/ngtOl5OKXppuC+j1abV19pRwVCZZI6W19npORP7bU569\njp6mfwA5FxHd5va3p6ReSV475ibvyObCFacoHydLetI6cId+59UQmUWzjX94\n+YZp\r\n=RqsZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"f34251e818edc44f67f6cc28c1507ec10b9b4482","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run startServer & npm run mocha tests/js/runner.js","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","posttest":"npm run stopServer","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.9.2","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.15.3","dependencies":{"del":"^5.1.0","glob":"^7.1.4","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.22.10","chalk":"^2.4.2","nconf":"^0.10.0","react":"^16.9.0","enzyme":"^3.10.0","eslint":"^6.3.0","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.2.1","core-js":"^3.2.1","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.17","webpack":"^4.39.3","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.9.0","requirejs":"^2.3.6","stylelint":"^10.1.0","ts-loader":"^6.0.4","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^3.1.0","typescript":"^3.6.2","url-loader":"^2.1.0","@babel/core":"^7.5.5","@types/node":"^12.7.4","file-loader":"^4.2.0","gulp-concat":"^2.6.1","gulp-rename":"^1.4.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.11.1","sass-loader":"^7.3.1","@types/react":"^16.9.2","autoprefixer":"^9.6.1","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^0.23.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.138","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^9.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.5.5","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.1.11","@types/react-dom":"^16.9.0","@babel/preset-env":"^7.5.5","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.2","gulp-autoprefixer":"^6.1.0","@types/react-redux":"^7.1.2","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.0","@babel/preset-react":"^7.0.0","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.0","terser-webpack-plugin":"^1.4.1","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.14.0","mini-css-extract-plugin":"^0.8.0","webpack-bundle-analyzer":"^3.4.1","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.5.5","@babel/plugin-transform-async-to-generator":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.2.5_1567643822461_0.8785891619626309","host":"s3://npm-registry-packages"}},"3.2.6":{"name":"@aligent/frontend-toolkit","version":"3.2.6","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.2.6","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"b9b5eb4b231bc40c11a122f4f5082bf2797980be","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.2.6.tgz","fileCount":114,"integrity":"sha512-L4Ga6qYyB3qnyLbWd84QILCf8l7kTUCOMjJm1TgLcx6CfIiwFTxiGFXrR14qDjxvnhm0ahoBX5NhH2Z/a6FIVQ==","signatures":[{"sig":"MEUCIQDACfUyIpWaB69RQDDIWHmXmpjYieL2N6NPHJPSBPH8NwIgJrQUxxZ3u3drpN4u+UsAkerApL+Kt1cEmHHLbYEkxDE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":260327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5zF0CRA9TVsSAnZWagAAJtgP/2Uiar04enrxHs6WvjMV\n+ggMax+CfnqEp+YyslyQrYHPdU+kpa/15kkl+ostMOZLSZReayXlUYRseaIJ\n9kGDOwbbJVcm99e1k3eRlS7jvCX5seLn0twO4lSI1NOEeetulLB7FVmzlpNg\nLsPn8Wc1ZnLEV5cE2Ban+70FL3YRYL8LoxpDooZqbhLz2/d8yc4qAbdyTfHD\n9FpvXQ+VX5/aMp1XorlBizJVfHFRx206S4PmRLzCPI49iCz2bgCE99NOO9Rm\n4aSqcqZgURaNRVPYMrX0VrGWy+wKxELiVtAnHLrhatqEJpbpMfPuTvzbH8EZ\n9NdXfSWYNoEX1XRgZ11HN6w08g+7NJkYCa98r0zYlDao5tGxiqOfLO7CXEX4\n6B8plBn1dG7L1lGBAGSJoekhjQCODA5G5qaQXsnCvcXxifVmu04V0C3HB7v3\ndRiI4phXQeROIwdukLD9nFNzc5y1Rs1HbGaW5fxsrNfwG3a/47xB8zuh/lkd\nb7rz1K/I3ghwMS/Y8ozQK3j0R6oWzSKWmq74L40UeHSKmfeLPK6xCmZVTNXC\nf5oPmQSxpH2RIXKM3TkDWKfVxQK4lkIC3yiYbX+qJENVTqLRUCr8x5MaKWHn\nTGsUfemDcODcKNj1VzXD4kBvKHeQhZbqoaz2usDR23p508+oKnQvAJSru5eA\n7cgg\r\n=200a\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"5dd6ef146a11568441a4c8a30c8ad5c19a470b0a","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","posttest":"npm run stopServer","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.10.1","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.13.0","dependencies":{"del":"^5.1.0","glob":"^7.1.4","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.22.10","chalk":"^2.4.2","nconf":"^0.10.0","react":"^16.9.0","enzyme":"^3.10.0","eslint":"^6.3.0","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.2.1","core-js":"^3.2.1","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.17","webpack":"^4.39.3","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.9.0","requirejs":"^2.3.6","stylelint":"^10.1.0","ts-loader":"^6.0.4","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^3.1.0","typescript":"^3.6.2","url-loader":"^2.1.0","@babel/core":"^7.5.5","@types/node":"^12.7.4","file-loader":"^4.2.0","gulp-concat":"^2.6.1","gulp-rename":"^1.4.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.11.1","sass-loader":"^7.3.1","@types/react":"^16.9.2","autoprefixer":"^9.6.1","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^0.23.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.138","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^9.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.5.5","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.1.11","@types/react-dom":"^16.9.0","@babel/preset-env":"^7.5.5","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.2","gulp-autoprefixer":"^6.1.0","@types/react-redux":"^7.1.2","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.0","@babel/preset-react":"^7.0.0","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.0","terser-webpack-plugin":"^1.4.1","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.14.0","mini-css-extract-plugin":"^0.8.0","webpack-bundle-analyzer":"^3.4.1","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.5.5","@babel/plugin-transform-async-to-generator":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.2.6_1575432563589_0.7755687729640695","host":"s3://npm-registry-packages"}},"3.2.8":{"name":"@aligent/frontend-toolkit","version":"3.2.8","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.2.8","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"321ee8b05358745b4eef61d09450cfecbe141cb8","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.2.8.tgz","fileCount":114,"integrity":"sha512-NU9uzMOCItpNvNDz8GDm0Yw7BrXHG2CDK+IfAg1n04ykd2e6cjExit0yq50eVKvHSwCRMM6QxKJF12RR7mLhCw==","signatures":[{"sig":"MEQCIEyTDgeZ9ypITJKLhUCXbLyXKwB0iqgqgSyf9JbtXr5eAiBFUlM/WJ6m5ebTiLVTa3F6TjdMoxnZ0DIEUSX3m8BsYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":260576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAWnCCRA9TVsSAnZWagAAqw4P/RYi8s81duj4ZdOoeYXR\nS1e92smRfWmSgkqX592LgLCwo1NwtfcAXkKDT4uqaHU/SYzZHCRDPKAxfdx+\nzWpknLJH5zxTuoSrLe2PWj+9uECFk8Qe4Brql+zapNOjdSKxBZUWsbN2Y6ro\nS3k6ncg5ixH5Xt1KUNRTGIAx0ruOJelTeAxZB0j9LoFMiXbp1UXk6RyFI6S/\nLKcXM1LfhFo3CWWkXfhUZQG5byuUDw7wP0JjudXTU1fyXe8YqcnTrItxPqcA\nUjjVP9u4OobQrHYZNf8W8mOWo/q9mzy4RWASvpbb1Hv+ppAftIwWIkbEeSXr\nMSpdiswnQpmxrdwyrLoTrDMz4rdkUNx521BO+zAynVUGP1i5Zhn984dS8Mi6\nQvZNajt2kaCj+Zrr1WwHYhiskcdw5TAT0TeMpbbauhZ6OPqk3TlbKfwtEA6t\nGyPmhseygZaZGuTa1sH3eSXixShN4/4w3096OL4zIzEbRf4byBZ7O1Y3DacC\nM+P2Sk4ZnJWNvu+mxG+LNNrmU/1ldHBKDTYguDu0ix7vwnTAVrXw35ZStm6a\n9w/pRxfpXsz5zxI6qRswhVgZgT6e8vZKaNvYpkG46IImjo3ETnVuiMDP4EEO\nzjCTqL/f2FERmym8tArBWShm2s8jgL4Oj+0/XGT1GqOLexUwqomX4LajOYyy\nPY8u\r\n=zvrN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"ea6336c48c40f7416e6dd9c5a8e371ff3446d0b1","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","posttest":"npm run stopServer","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.11.3","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.17.0","dependencies":{"del":"^5.1.0","glob":"^7.1.4","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^2.4.2","nconf":"^0.10.0","react":"^16.9.0","enzyme":"^3.10.0","eslint":"^6.3.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.2.1","core-js":"^3.2.1","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.17","webpack":"^4.39.3","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.9.0","requirejs":"^2.3.6","stylelint":"^10.1.0","ts-loader":"^6.0.4","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^3.1.0","typescript":"^3.6.2","url-loader":"^2.1.0","@babel/core":"^7.5.5","@types/node":"^12.7.4","file-loader":"^4.2.0","gulp-concat":"^2.6.1","gulp-rename":"^1.4.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.11.1","sass-loader":"^7.3.1","@types/react":"^16.9.2","autoprefixer":"^9.6.1","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^0.23.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.138","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^9.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.5.5","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.1.11","@types/react-dom":"^16.9.0","@babel/preset-env":"^7.5.5","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.2","gulp-autoprefixer":"^6.1.0","@types/react-redux":"^7.1.2","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.0","@babel/preset-react":"^7.0.0","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.0","terser-webpack-plugin":"^1.4.1","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.14.0","mini-css-extract-plugin":"^0.8.0","webpack-bundle-analyzer":"^3.4.1","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.5.5","@babel/plugin-transform-async-to-generator":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.2.8_1577150913480_0.10790310321460383","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"@aligent/frontend-toolkit","version":"3.3.0","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.3.0","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"3d179a2fdf608a2d4f8224e3d3ce7040cb181ba4","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.3.0.tgz","fileCount":115,"integrity":"sha512-C3N9UmSq7ar09AIE0b74z6xrcu8GS1m6P4rniD+5duc/8Pb4hDLnqK6XenvTNZn54Wk8+G662JOVtfPTOJ1Rmg==","signatures":[{"sig":"MEUCICpwZ8+HLsvdmrAuR+X+rMNKhY7fB0YIZvGxQzvLCJPnAiEA/4NGmGBU/a4kx2wkcBNhH07PMWF6h4siYRbnRt17XU8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":262380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBTftCRA9TVsSAnZWagAAS+sP/Rmetu6jb6pNlmTEZucS\neVA6VMiSfUnEa7rnl7KiDaVG3LbYjCZQYSOv4Gbvkv2JHU2zAB+KIUNUOdhO\nNIzvHc5W9rzind+j1QQcfeRqC8th9FJUE9xf2FNMkPK6DabRoe2I92hR5d9Y\nwWC1qExCJFU5DXq9fTUUQh4lk/oyaOUiDOhs7EL/rfJPPg384WSn4gtgMrDl\nXaJxSIu37S9MReomC/DUheP+WwLOgdxjnSd7mZVVCUMg56z0XyC1leEIY8PV\nCyP7fQQrl4UE4gBCQ0OM2/2QMA7Y89vo5YspmfVYsnpZxln8qf+ALbg3wRgr\njACoRMXkSqv0FeEceGx6rmJWYKHrjCfp2mwbrE3A3NltdqGkBoT/xDATHhHv\nqMQNbwbNO5b65u20cEBWkjUCZMIiNihrbMcHolX4u32M+tDmNoM7iyvhcNVe\nkc+5lPFU2nvElzksrKGFxn7yeCV3Dy2QkPq2X6nAgurywTNLzid0aLBUnRfj\nRvyUzraqfG6khPeYNKgokxDZqYsENBleSHVVyNJqJ0u/HjgFOrGJ8/MSrW1u\niEMj0SMpIecdFOG2g6Heh4xqrC0Cfsf5oqpON3vLlZyJw2US9yE7NCAPH3RR\nQwl8R/xhv52yEj9T5Yh3AqrVDKiNEBY4W433bjvdWspnVcq6kkkgVYsulAGm\nxXtv\r\n=iSgh\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"037ff59195b4003f963860656ef66e9c60e2a942","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.11.3","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.17.0","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.3.0_1577400300863_0.09739590082143113","host":"s3://npm-registry-packages"}},"3.3.1":{"name":"@aligent/frontend-toolkit","version":"3.3.1","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.3.1","maintainers":[{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"dc18e1b56493e00595756a87f0eddf6ad593a460","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.3.1.tgz","fileCount":115,"integrity":"sha512-sJ9jBsLlbkoX8GAQMBhhRm3roAT/syKDiSVcorSqTgrgSpOalKxB8DfQRDY+ZaiCdK2Ymv15GP24k6bzCjvzXw==","signatures":[{"sig":"MEYCIQDqgYP6FcPI622hFJ6pLc0/8k720StbTb+05HZ9GUhB8AIhALrcnqmAA9S87BbRkYGj7gMHarZAtg6HLk6tvSesKzvT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":262744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee9hOCRA9TVsSAnZWagAA6XAP/ipwbxx/d2Ov7MsAIExG\nALhTAA0Bvu/sLfZo+BE6FzzinbPC7xyGdFTxpouQmJP6WNhxc7Alrvvc3TNU\n/sB9pV0pbVvmpwpjr1ykuUIWm1X8fwKDtmDABO/WKqCNdnKuZhF4HIRNiDJP\nwAM5Ksh7Cg8yLETG7UC5pxAFiakkzaFVhn1uYY/g3zFR9NQSWNA8PtivpSPG\n9NasUriwm6GJSpiFNK+Ky5Y9xYY6l46KvPdLq+PONqXnX/rT5zUrxK2R3yKe\nuFXMzVSZbB+RntYb4xWctI35+DIxt5vK/J83Iwa2vh+YtP5yTqqRR3bh5t21\nxEI4CvTleSSnuXOX22VcYYBUZOmdnYBGuSenlNzfJPjZ4VQDi/T/D+YJGeit\njx1iagBNXD6vrHGenhkZVuuZ207W46ed6ZXXUc+nKgQWrROAtmjrZzKlMY/5\noRju6KEI8bdtXwDEqMoMUQbG7K9pySlo75QB18Ztlzpe7pj6GksBmgfW9YgQ\nZXRo+HReXVIjqTrmG3k44Mj6regUPPHt8Z+mmlzHMNnXW9V6QxBzmdNlkMRi\ngz3GRZp9tjeSyVbL6Eu2S8qOwOu6gfj1F3HiyOnuDLQencvYqCH/vV7xmOsB\nuA7+Yb9aPMCXAjEwU164r1SSPIBDBnuiuhbY/CmZ8MvptC0zkZ7cxAxAznNX\nb4gB\r\n=KBAA\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"fec8903b5af5421187283c0a623ea6148692d9be","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.11.3","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"10.17.0","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.3.1_1585174606191_0.9646778067564574","host":"s3://npm-registry-packages"}},"3.3.2":{"name":"@aligent/frontend-toolkit","version":"3.3.2","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.3.2","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"ab3bff67a83bf0eb93ce66cf0a71bac39f3f0091","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.3.2.tgz","fileCount":116,"integrity":"sha512-RwgmS7MX05DSOdSFG1wtuQW8Eu1vN8HIgy0XbkeHIe9iKLoJ5+rsoGHKhFnJPQgbwBbYJXei6apMpiG8m+smjg==","signatures":[{"sig":"MEUCICYlmxy3pHMoJSb8NRgkQvd04xgYQzHUfYsNlxpVATgtAiEA1MF5z/dyaCln3mohGXV5Yin+Z7wWL94E4MASQsC+n5U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":262939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfctcOCRA9TVsSAnZWagAAw9gP/RTkgXVJh5MxPpbt1ZuA\ntfdxdY7PmfJAnWdye4BIe0LS0TG1m4eJun+PumMb/I410L+891PVQGW2lxXc\nM4gaJLknL+QvixQW2UuKg3IFiMa7r4IhMJm85y5tnw7tpMZ/SJDQg7mSKRFs\nWO3GgtBbKe4hMnr6JIIfHI9dbUXCfvCVO2/K0Z691rgJZMFSjy4vDyA0YTZX\nwS9ScekvVlJQjb3UT1xvh4PDH0ZxfMRcZOFD4Q6Tz8RKq0GhN6a9QW9h+4xB\n4KRjmfE/Bk3boNPNzu3pCrb19p8Zxo07iYQIIuqjOutvjOiLsnSPBSHvhV54\nrg2z77Q2r1D8WNBOrKP/25geyZkp/Rgtinm+JcaQ7KAR8v6Ir19S3UEze8SW\njqC6tM9LKajVyeyNpqj/LjFPtXYAPisZPSxqpv1FTtFWOca5D5WyYlQnpNoP\nvbIcLNOs+LfvWQ12DH9yEMEL6QfLsiq08F4FrnyEbW8jcUrk96BFOYVkYTtf\n0ngphwDk3O7CtKIV/3kIimPDD3uRGUUxFGZIzuKiK+oN+e6vZ+Md6zQuBeni\n/U2A45W8OplA5V5CvLGmeNbJt4ovuO6biuvlI12D4WmABRgx093wfG8krLc3\n6LbcmkBq16vdNcBEKc7TMUT1ecQvdQOpq0AelpcUYpBuMaF8NbCY6N2p2tr1\nZGFb\r\n=+Ver\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"2f99be0c5f6975a4cbc4aac6b495ec4b096abd5d","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.6","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.18.4","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.3.2_1601361678210_0.5838659533812547","host":"s3://npm-registry-packages"}},"3.3.3":{"name":"@aligent/frontend-toolkit","version":"3.3.3","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.3.3","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"747d0b39dedef92d4a3518423f3b560fd71ef179","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.3.3.tgz","fileCount":116,"integrity":"sha512-3aZf/KagneIh5fzYArfH+Be4arqNRB1EpoSJw58KtOQi87WkdL/VLxoz/tCM0XhTsdOU9AKp7fT7FVFNzk/Xtg==","signatures":[{"sig":"MEUCIE0Q2PQxaaTsIwx8hFqs4jg/dLlOniPKpsfp2Rs4Co+qAiEAmIM7rWQTwqMls6Q7bcVXA09khBQZsPiSul5b/2630b8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":263116,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdrMnCRA9TVsSAnZWagAAHo0P/AxXBDb2L8W9aQ9p8r84\n9S3LA1puEAgiZNgCASDo2N19vsCJrVC05m/ZTVf0Y5g1Lhx/Amokr+G3DQ/I\n7ThRABgUpp8gdJGYQPPq4uBwhOQ7va/BDUXlUSiMf4DF521Ubay1SfzJ3Zre\nNrg+BCiEk4Km0zWT946TEcoXi48w1Nt1dA4o2M1wePDf2BI9r0rRujattDnQ\n0douXxmZHfuOe8tA5dmjydllcHx7If2IWezc+DewaV5EC993KY/UQc5ivBL1\nprH1UdfOkdSvwC0wsOujfki/xpReguQk/AtdfDpA6xqypPnWAe1q4n0kRtZ4\nUl+LMHcjlfAEABBtK1IkLCp/42zP6RnRhnMCT1E1xLVS9bhQh6BQ9y0nqDtv\nToiW03nz0ECsaKRjJ4bUXiAavqfKJqWpu6BlosvsTIBcmuIJSY1Knisl4Xa4\nnr+7OXj4472YVylReOtZ/vVemQmn2BkX3YAktD3cS08m+ebwqXp11pv//Wcp\n3utmJ4kdCvvlCIFxR2Wzmsp6/L5fOGk/aNkyfJBXFIeYtARlMLA9X8CIXv2B\nSUwYKih18pwkou7bIWFJM+Ffz1DTt1QugVw7jOm4hT/oka69h5eaV5j3Ao3n\nYUI1ng1rOvcSKG/xOYuriw9M4qLlK2SST8M42aoESw5+lZZfnYjq6ftzbmmD\nlzvt\r\n=3rQy\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"735087bb88e5e182fcae87bd1a349c2002ed076f","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.3.3_1601614630349_0.4350621486679862","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"@aligent/frontend-toolkit","version":"4.0.0","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@4.0.0","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"daa5e706c96b82c8d6580c42f0a8b8175af01dac","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-4.0.0.tgz","fileCount":118,"integrity":"sha512-C/ucdp5oUb2pj8g09tqEp4MXniRRc2VvhJiHDpyHanPs3tm+P2WrT07SkKze1t5tRZ0um1uZYz986BBQeC3jgg==","signatures":[{"sig":"MEYCIQCM31ZF5zJvpmEWy0ikYNcDaXYXwx6pUzSNN4Gf4+4F8wIhAKX9xsehSpLPKEZsPWDdpExI109uyOWGllb9cbAk12Wi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":272794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfofyTCRA9TVsSAnZWagAAR/cQAI5cNSR/86QlSjzM46I7\nvNqrJoStkxbojnEbV3wQzfCEgcmpb7u8vAtRAH+ZXYEdMVsfnStfiZbfaTuJ\ncYxPJ7q68lu+bxLSdSya9yfg4sotVOulRwA0eFG+1ELBbSG/m8QPoxjrx3WJ\nUHNJSgYPVLyF+xZ/ZGVnw0NsqR52qSJEVrx/YI9lN9lsec7JDxX0TDWYwTIe\ndF1bY7Poctr1rE63nRpeF/LAJpcmzHVJ0+BPViP6H8ijmJmiliSJD+eY3VR4\nJ97lQGCYCIrP8AbgOKeEQ8h65dxC8h8a8ND7LpqTtgF82QVLEfyMUEzVxpLT\nE+kT1utUcObxS2JTETdWEqv6kVryCzltsZNkNIYGZDINpXsdxC/MISoO6GYg\nLeiU2t3btjUrMh5tvAAhM6hyzVAo0zJj4zO06eXrhcXc6rDLV10SWo7maruH\nPvcql+X0uv7r9IPxxiD+uopyIE7HtIVBBI2Km/cSVsmdmSuSOYpBms8duiJ8\nZ37hFTPonztOxNUt1mNIWS5cY7Zq38FwXM5I6+XRYW74/iS7HMrECF8j0v2N\n4u2weigds1Vo2oHRyXRwfNJ2UHmL74Yh/c8m/nOdYIAgBWgJMurSaqObY5p6\nN68W4RQqr/6seh1ftRsiAEFhSLSwGitV4KF3HTBO43VLrA5q6qgio3GV9hRm\nOXRk\r\n=PhXM\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=12.0.0"},"gitHead":"d689d91def0cd673c4157411bf49860178b314c4","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_4.0.0_1604451474820_0.0509842045406812","host":"s3://npm-registry-packages"}},"3.3.4":{"name":"@aligent/frontend-toolkit","version":"3.3.4","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.3.4","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"2f3602f8a522a115da857bb04d45ab7814339e9f","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.3.4.tgz","fileCount":116,"integrity":"sha512-HG2b7JyhVT/+YxXnBD5IDoqXfp8UMzEq9HCiDEmGEEcPvFdLnKEHGGSRdBSv2aULtORkMKlr2k3PdvNH4MipFw==","signatures":[{"sig":"MEYCIQCeMZWnd8Ok75ArDrW2l4ct4TjVTWQlTAlse1gP1TMkngIhAPVZCJaPq+VQQcJNRfl7EprjTx2BbgqI2jiMUQgTX7Jo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":263487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqaUBCRA9TVsSAnZWagAAI7EP/2CdP8fnkGyaTybuwOvz\nqrtlOGObVR1myntqFcH4xY7JstIWzxTWwdlmU/moJ8Tl4sqaRByyHo+VmJ+s\n4Y5k9JoPL/oKMt2Y88MHGyz+H3bGxqQXCeHm7B2i7KUnIMpSOQcB/Uhaah5P\nTqc0yWC0UIegFZupc4a268rb7inDR1RKfRu1RbMLEju7KuBa6DNZLI6azViO\ni31LjEqamaeBzeBAGIFarxC18U/xS3pFw1I8CGap+E3O3k9IIYyf4Tj3H9z7\nOHyru2dTKhavo0KQIyWgFWnhBDVo0JWGUIzZdR1qc94vIzVMsLGS6Wxpc1Jl\n8BSjU+RxyY367/JlCIDmpz8j3/o7bx+RUuRa7TfAN4wSDfK5gM59b4Zpb+8j\n7z+8TVTS1t24appWRQwfcNdiQsQ2NdEgEbaeLuKITBFHzXvGn3Uy1ewT7e3N\nXErNzmzUn03zisU/PMLa79WighBEz+Dm2LYADpKoHWd4XhUvHWIBliwtSei9\nm0x+P88r3TcAO+8Pm4q7mAQlAoqxb5nv5npvxcZUfi039Yz41b4t23IsKvWV\njT37G47pKFtPPpp9ACkH46/n1w9vf8cGm124g4EP71CXBWMFOSRvBlV5aRX3\nV+EHHyZtMq0cgWFEufiAk+xeuR04gKVtdBTh2A1jRjz2y/7b+mQXiUHolXF9\nL9mI\r\n=9cHZ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"305a412a78388225c0a739563decaca44e1197bc","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.3.4_1604953344789_0.2721373111558607","host":"s3://npm-registry-packages"}},"3.3.5":{"name":"@aligent/frontend-toolkit","version":"3.3.5","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.3.5","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"36dc764eea4e4c800feedcadf922971055e25aab","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.3.5.tgz","fileCount":116,"integrity":"sha512-OOoYxUrArIEvUv9xMS0gBNGDLorcvadhMBrHkB/veVS045xC59gDaNNi+/IKfgE8QT4pP+OWPahzelRr7MA4UQ==","signatures":[{"sig":"MEUCIGLcCdmRRWNitYbhSCOdAw+DYaypRiQ0KT+UrxsKBgGLAiEAwDZdK53zmUCL4naAYOOxIkqDNd0M+25vXJ9zawxHnH4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":263607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqacaCRA9TVsSAnZWagAACbsP/0QdKA2b21wTnMBl2owf\nyP7JrYBbn37LG3F67GKutBFnBlbkcm2pWr0BBLBnHYJ8KzSVf/f4vXAYicH4\njytrjE5sQoCWmTfRfWHB9vLoB8lBd6KgzYiif2HVasekdTXYlKCfMixO675W\nYj4COyQGLdk1bQHMRZ1zXYbmKzKgovEBGb3ZjtONZm0a4mmGH8yc7U5iF1v1\nKNyv9/M99lxQvf36ZJbDSkRW8s5y4aHXIpb+zavHXx7Oh4JoDH+d+NuIaE9b\n38EATx2ZjsM+5PEmoVFK6QJz8kzvYak+gMaQN4cNKHACqJKuw6pd2ZFnL22j\nnkkU3CszebDr55Es7+QQRZc374t4DseubO9uGtq5kysJRoiiiZXiB5f68VNf\nhjV/tEpgQWuRet0cPf9tpCFhJAHSPIOQiiIjx8/e/eS7WcTKH288dj0r6yWy\nwqfVUgwtgJu1p4uVbBxu+1rGJpyzoR4IH2HV0CYFNCM9WnrAu16inoY96uGt\nEy/8KtYKgW12IEDZfj63s7IzFYQZXz2N2jBbW+EUHceUngC6PhWb60XFHkPp\nd4McQjzPcFdef0A6jWXn9ojPdBZHzAVKvJEdqz8utmWOLAz7ze6KdtM8Z9NR\nHosLNYny8cFqLrH7/+0SCUNqizgfMY8YJldXwxIGj5a6+hCkHqpBm7inwsPl\nRNPo\r\n=d/K4\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=8.0.0"},"gitHead":"88cad4cb912318ed69b8cc33e1ae5d1275d9a85f","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.3.5_1604953881807_0.745220582449591","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"@aligent/frontend-toolkit","version":"4.0.1","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@4.0.1","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"7e5768f3a8b00be6a72e4cdab14c8a74e3083ad4","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-4.0.1.tgz","fileCount":118,"integrity":"sha512-vqOAQxXXvtS8xysEMQBzuxIUhPQ+4Ps48FBXUaSyqRHNs+U6/ZgRiKdXC6SkAE2Jl+OsZP5hZUjN46Fi1o/YeQ==","signatures":[{"sig":"MEQCIGI/+ifrAcKhlVK009WJeMXbvPSXcwTKFdUvYGZNkHeyAiA6xn0S0VMZs6WAhqS7ulaE5EPTuvt+Z9DAg9Xn5fxdlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":272913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqagkCRA9TVsSAnZWagAAZhkP/2ydWr8wZPQ2tFvACnRj\n3dSMxrLBVP/K/aYv8CnFZ+wT1sPPdgJcsqWmxSaoPfuAKoGbCPIQCJurKotN\nLHoGCJynzdtasAFJ9+XSBSIabo7v87VYjQJiP5JuTd2eKBJcPXXNkUvr7/aU\ns+Mn9mGv50zDko9njQLRDlveI2bbXiPMnlEhQYdhY/FoHlNzKz5+eZiUI9Y0\nW1z3Ng4oZUoOjLytBrsthFj6xOvPB5K1MBrsM+iIGpSty1qKP+d39ZIbeQSK\nGzQjEpYrkkowNxpmhtW9pjaqJHOb9lCfcoAA7Dw6IwFR2gmRnxhcIojJv1S7\n2aAoN/SYrOWF+r0mv+1eBDKhu0ZEPDbOEuozeY5sl4yxR+fLPrx+KysybtBu\nk8u/b0ZsBogFUZDiYjjoY/Pv5KiZTjhZB27PlKEOAuISQWLLAqkn+DrNZPKk\nEKxcMyhnWsrLruGREv5YzG/tnZRCfbGIDwV9P0lWLJe0Co1FvorZsUgP/pZQ\njWgo8KqW12VgQDQ13WXgIVzjgZxZvQNW3obhkKYSVGBASaX9Yq15vq6i8Rag\nsj2a7nKLdbIgn/rgRPgU3/clSmA2LLy8BS51lsKsYGTLO3sT9iVbwqVP5lpT\nFD/7Id+qAOSwRegq6qHzpc9HlUt7hvH7ikFB2MG92bjVTlQj3kik/9Pq4Hzi\nfsH4\r\n=xNbo\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=12.0.0"},"gitHead":"79a5c03d3ef358c09360664abf9c965c9311d350","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_4.0.1_1604954147581_0.6276365326139346","host":"s3://npm-registry-packages"}},"3.3.6":{"name":"@aligent/frontend-toolkit","version":"3.3.6","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@3.3.6","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"92bf46fa46acd782f3da262c348887402af92c82","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-3.3.6.tgz","fileCount":116,"integrity":"sha512-cfk4VbnSOP+mnVapoc7UXbK8+X1z6oWigztQRj9NxWWESWAUra2ZQ3J+BAPdXobicAOZr2BMztQEYWng4PKhDg==","signatures":[{"sig":"MEQCICWJEeyBZardcNb6H/sxOM9KWmBqDNDRQHAarW62CQMzAiAckMZACWZBEUSo3EPEGHgTngxEYopTCtaMcwl3VmSHLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":263607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqbbfCRA9TVsSAnZWagAA+94QAJ75OL+tRn/sMkR6EcXJ\nL9krwnGEvssstRtO+cojMDIZs5kluntWlucojm+pSTfwublgS2qfwYZ+X2lV\n33IV4CEoTOrAR706m4fPVIt1Ru1SsnPYtR6t8i0YRwfC7wMWiTKZxmenDWaR\nKGYkl0w0oVXLDvVCqAk2fvgHB3ZDYL4lSv8S7w5P0RWLlXkb3yP+CSNCX7Xg\nSi/Fc/m+LBUrYN8Dw7ZBYAvYCbtKwskc2h+p0bVkgWuPXyaTvUooNNlRkZib\n7TkLWjYGbUa05VO7a3TIKr/CGQTQfyUZuTBu7WBpVI4QQ+BVdPU7/pPHrF49\nFv0jLt0cBcXuNbV69bh4IPg5jfD5jeIWWLw3faDpg1NZG5pEuqYQfQS7gCuB\nIOuQLFIqtoG9KHTy4DyiyK1hz06dZSlTAaaAqQy7TTcVqhORuiorfZ/fFLhG\neocBp5uS9u6YE78N10itoVcdDmtDSV8xsXbGUEH7V8VKG1Y6V2BCCcu6dlvf\nleqLCZwiic2SDv17URQmbZW1XJ9QltRWglK+5RAzziweTMu36rAjbawOfbGc\ntu5qXm1El8LPcb5xDGBFPjDSiNjDsLkfCfDOy0PpLKZAlAoKgv79ttV/V8Pd\nxnzOUzQEOqI4HdyEFA7vlQv2oj7DlG6PM9exyPMQpU5kCbTSdPhPvy3GxhuL\nIr05\r\n=MmJv\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","readme":"# Frontend Toolkit\n\nA gulp task runner and collection of ES6 RequireJS modules to be used with Magento 2 and Oro themes\n\n## Table of Contents\n\n[TOC]\n\n## Installation\n\n`npm install @aligent/frontend-toolkit`\n\nThe above example will download version 3.0.0\n\n*N.B. You may need to install missing npm dependencies as some version of npm don't recursively install dependencies\nof packages*\n\n*Updates*\n\nFollow guide to update in npm - https://docs.npmjs.com/updating-your-published-package-version-number - `$ npm version patch|minor|major`\n\neg npm version patch will change version from `1.0.0` > `1.0.1` in the package.json and also git tag.\n\n## Gulp Task Runner\n\n### Setup\n\nCopy the following files:\n- `gulpfile.sample.js` > `gulpfile.js`\n- `toolkitConfig.sample.json` > `toolkitConfig.json`\n- `.eslintrc.json`\n- `babel.config.js`\n- `postcss.config.js`\n- `stylelint.config.js`\n- `kss-config.js`\n\nIn your package.json add the following:\n\n```json\n{\n    \"scripts\": {\n        \"build\": \"NODE_ENV=production gulp\",\n        \"lint\": \"gulp stylelintTask\",\n        \"start\": \"gulp watchTask --mode=dev\",\n    },\n    \"browserslist\": [\">= 0.25% in AU\"]\n}\n\n```\n\nYou can then modify your gulpfile to run the tasks you want by updating the default and watch tasks.\n\n##### Breaking change in version 3.3.3\n\nIf upgrading from version 3.3.2 or earlier, you'll need to add the following to `gulpfile.js`\n\n```\ntoolkit.options.set(\n    'paths:webpack:output:dest',\n    `${process.cwd()}/app/design/frontend/[Vendor]/[Theme]/web/`\n);\n```\n\n#### TODO\n- [ ] create install process to step through coping config files\n\n### Options\n\nAll options are defined using the nconf npm pages in the `toolkitConfig.sample.json` and inside `tools/options.js`;\n\nThe options are ordered by hierarchy from highest to lowest strength.\n\n1. Node Memory\n2. Node environment variables eg `MODE=dev gulp`\n3. Arguments eg `gulp --mode=dev`\n4. toolkitConfig.json in your project root\n5. Defaults\n\n### Modes\n\nBy default running gulp by itself will run all your tasks in `production` mode.\n\nUse any of the option methods to change `mode`\n\n### Tasks\n\nThe toolkit gulpfile includes the following tasks:\n\n* **SCSS** - *scss*\nCompiles SCSS to CSS and creates a source map. Will output files to both the web and styleguide directories.\nCSS properties will automatically be given vendor prefixes based on the `browserslist` key.\n\n* **Javascript** - *javascript*\nUses Babel to transpile latest JS to what is defined in the `browserslist` key, creates source maps\n\n* **Webpack** - *jsx|ts|tsx*\nThis task is used to build the relevant react components\n\n- entry point names are used for included css modules too\n- splits common libs into a vendor.js.\n\n* **Styleguide** - *styleguide*\nThis task is used to develop the styleguide using browsersync. Unless the project is just starting out, it's unlikely this task will be used\n\n* **COPY** - *jpg|gif|png|svg|woff|woff2|ttf*\nThis task copies all other assets from source/ to web/\n\n\n### Add non-core tasks\n\n You can add non-core tasks too - just make sure you install the task devDeps into your project.\n\ngulpfile.js:\n```js\n    const styleguide = require('@aligent/frontend-toolkit/tools/gulpTasks/styleguide');\n    exports.styleTask = styleguide;\n ```\n\n### StoryBook Ready\n\nAdd following to your packages.json:\n\n```json\n    {\n        \"scripts\": {\n            \"storybook\": \"MODE=dev start-storybook --config-dir node_modules/@aligent/frontend-toolkit/tools/storybook -p 3000\"\n        }\n    }\n```\n\nThe config looks inside `./app/frontend/design` for all files with `*.stories.jsx?`\n\n\n### Using the task runner in projects\n\nThere are some project specific changes that are required before the gulp task runner will work properly.\n\n* Add npm run script to package.json for project\n\n    `\"kss\": \"kss --config kss-config.json\"`\n\n* Update `.gitignore` file in project, adding the following\n\n```\napp/design/frontend/[vendor]/[theme name]/web/css/*\napp/design/frontend/[vendor]/[theme name]/web/js/*\nstyleguide/\n```\n\n## ES6 RequireJS modules\n\n### Installation\n\nInstalling the JS classes into a project is as simple as adding an entry to the `requirejs-config.js` file.\n\nHere is an example config file, with only the toolkit classes included:\n\n```javascript\nvar config = {\n    map: {\n        '*': {\n            // Toolkit Classes\n            carousel:          'js/Carousel/Carousel',\n            debounce:          'js/Debounce/Debounce',\n            restrictHeight:    'js/RestrictHeight/RestrictHeight',\n            showHideElement:   'js/ShowHideElement/ShowHideElement',\n            toggleTabElements: 'js/ToggleTabElements/ToggleTabElements'\n            // Project files\n        }\n    }\n};\n```\n\n### Usage\n\nPlease refer to the documentation markdown file for each javascript module for usage instructions\n\n## SCSS Mixins and Normalize\n\n### Installation\n\nTo use the mixins and normalize file from the toolkit, you can simply import the `toolkit.scss` file in your main SCSS file\n\n```SCSS\n@import '@aligent/frontend-toolkit/scss/toolkit.scss';\n// Rest of the project imports\n```\n\n### Usage\n\nPlease refer to the documentation markdown file of each mixin for usage instructions\n\n## Linting\n\n### Stylelint\n\nStylelint will ensure that all SCSS written is down in a uniform and consistent way.\n\n#### Installation\n\nCreate a new `stylelint.config.js` file with the following contents\n\n```json\n{\n  \"extends\": \"@aligent/stylelint-config\"\n}\n```\n\nAdd new script to `package.json`\n\n```json\n\"scripts\": {\n    \"stylelint\": \"gulp stylelintTask\"\n}\n```\n\n**Running the linter**\n\n`npm run stylelint`\n\n**Setting up automatic linting within PHPStorm**\n\n* *Enable*\n`File > Settings > Languages & Frameworks > Stylesheets > Stlyelint`\n\n* *Stylelint package*\n  use the absolute path to the locally installed version of Stylelint, e.g.\n  `{location_of_project_on_hdd}/node_modules/stylelint`\n\n### ESLint\n\nESLint will ensure all the Javascript in the toolkit is written in a uniform, consistent way.\n\n#### Installation\n\nAdd a new script to `package.json`\n\n```json\n\"scripts\": {\n  \"eslint\": \"eslint {path/to/source}/js/**/*.js || echo \\\"Linting complete. Please see errors above\\n\\\"\"\n}\n```\n\n**Running the linter**\n\n`npm run eslint`\n\n**Setting up automatic linting within PHPStorm**\n\n* *Enable*\n`File > Settings > Languages & Frameworks > Javascript > Code Quality Tools > ESLint`\n* *ESLint Package*\n  use the absolute path to the locally installed version of ESLint, e.g.\n  `[{location_of_respository_on_hdd}/frontend-toolkit]/node_modules/eslint`\n* *Configuration File*\n`{location_of_project_on_hdd}/node_modules/@aligent/frontend-toolkit/.eslintrc.json`\n\nN.B. As the `.eslintrc.json` file technically doesn't have a filename (it starts with a full stop), you'll likely need\nto enter the path directly, instead of using the file selector dialog\n\n## Development\n\nPlease refer to [CONTRIBUTING.md](https://bitbucket.org/aligent/frontend-toolkit/src/master/CONTRIBUTING.md)\n\n### Time Tracking\n\nUse the code `ALG-119` and project `Aligent` in Toggl when working on this repository.\nEnsure the name of this repo, as well as an adequate description of work being undertaken is also included\n\nExamples\n\n`ALG-119: FrontendToolkit - Updating package.json dependencies`\n\n`ALG-119: FrontendToolkit - Issue #2 Fixing eslint rules`\n\n*The \"Issue #2\" part of the time entry above refers to [Issues](https://bitbucket.org/aligent/frontend-toolkit/issues?status=new&status=open) in this repository*\n\nExamples of what we **don't** want to see in toggle\n\n`ALG-119: FrontendToolkit`\n\n`ALG-119`\n\n### Stylelint\n\n**Updating the rules**\n\nCurrently the rules are duplicated. One file, `stylelint.config.js` is used for linting the toolkit project, while `linters/stylelint/index.js` is used by projects that have included the toolkit as a dependency. Please be sure to update both files when making changes/updates to rules\n\n### Testing\n\nIn order to run tests, your installed version of NodeJS needs to support async/await. NodeJS supports this from version 7.6, however it would be best to just update to the latest LTS version\n\nTo run all tests, in a terminal, run:\n\n`npm test`\n\nIf you would like to test an individual file, then run the following:\n\n`FILE=path/to/test.js npm run singletest`\n\nThat will set up the HTTP server, run the test, and then stop the server again\n\n#### Debugging Tests\n\nIf tests are failing for whatever reason, you can turn headless mode off, so that the Chrome instance will open, and you can watch exactly what is going on. In order to do that, open `test/bootstrap.js` and set `headless` to true.\n\nYou will also likely want to increase the value for `slowMo`, which sets the time between each action the browser takes, in ms\n","engines":{"node":">=8.0.0"},"gitHead":"a497a4003d3cb3c9f4255134bbd532f429fc03c7","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_3.3.6_1604957918652_0.5233683534366202","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"@aligent/frontend-toolkit","version":"4.0.2","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@4.0.2","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"1f06f3018bbfb21fdb174a3455625767c5d9c0ca","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-4.0.2.tgz","fileCount":118,"integrity":"sha512-YG29Y2kNbX5pvADZIiighc+bvyO391hurZDkWXgTRE0RX67Q6Yhn3JJWXmW8JcpZF1MJlWcyAyD2JPDGhzoOWQ==","signatures":[{"sig":"MEUCIQDawMqnXAAD6HkRzlTuhE8nqYVpBSCuglaptD1WWGKXuAIgYFRQvWYSjxAGW1nTb+RMzPq5RD8z0ExhI/biZFBqgAg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":272913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqbeGCRA9TVsSAnZWagAAy9sP/3SAes/kz4/iziwJmCfd\nxMuYXbSk5XaDKoYTCDZz5IH2bA2mQFRwz17imYWvvFv5QHS3tJmr03tW4JFx\nDNbUFeD7nqvVdWA02SHbwsbxpEvdx5rNMoLo431IYk8gzOorgP/TmEcb2bmJ\nuIiJwN7knyxk97wXdnT+eAcFHxmwQRvInzk6HzNIygSs+VSYAydgCPFIeZLe\nPnmY2qO1PCwhg52InF0C+fDVib1oUn++KxjLqTh/aY6eGn7U/81TCps7Wk8I\ncTVQOcnZWm/LUiW/0s9YizLgQ4WOeyfBR8+dvqFTXB5FpzaQhOFbBNpw0dLN\nOZA37Uk7GbYw7MppMhhWsCPhu0orHOQcl+RybRHwP8GorSjAdkQJ39DQNlBH\nUS1LHEsbObftkxrKzk6oNjicC1Ke0OuC7lTNcBCwPwkO7ZUnM+DSphN8uIAK\nyRvDa3yNY10B0cm/fsR89qUtR94YK84oixueD5gWi6PJKoZNGgHKP7rfgOx9\n+T9Z3RSW5K+yi8938LA9XBbqUFJ+4G4ngpOvkYUAM0wJ247HYTUBkME+/+Ev\nEWsLI5UOLgi4WG/KdHQ902FJkhbygZ83z7BJe3R+ODKiVliOiySM0mS03Ona\n9WzRWtOMeWH3gKYPAvCRjrkDzWcRhRYkXzn0uU6PReI6fg38D0y4efdDVYQQ\nGxdC\r\n=qC3o\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=12.0.0"},"gitHead":"bb1515cbed80c805043c57a15ddcb85727f16ab2","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_4.0.2_1604958086263_0.044270704259187","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"@aligent/frontend-toolkit","version":"4.0.3","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@4.0.3","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"ada9c127544a04533d31f8f580223b3c11335e49","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-4.0.3.tgz","fileCount":134,"integrity":"sha512-hgCFfDeirZaadNXEKoCGlDcl4VPs56e5uR/k2TpqvddM6Zoih4Tj6gDoLFuLrsUDyR1MjQ10fDfogyDBAsnCBg==","signatures":[{"sig":"MEUCIQDuX3eIHo9z9PfEjCPCj3dqQe00KmaZqfNw9WT1W+sBngIgDx0mzrHktbh1p9EP0Jiv/xZYhzs8wXwWzd64NDS6kV8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":278436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqxWECRA9TVsSAnZWagAASFoP/iJIOCYElLATeza2eLqG\n+13ZLS9VPwreAM7SG2NJHGMsM6PMTFlXnbyj6aQHnYjY+co7e6yDrb3g9VL4\nGn3sDirYaJHqd45Nf+rDak+tIsINsSaPq6ZBxs2Xga29by70f9PGh9NxXfts\nhnuZ94NH6hEfcvUyBzCKcaLWkTiBZjNb+qFmmthVSNz932UXSKV+dLvKRf0q\nNRERXk090o2fkts0uddmyL7WKxa82nrnk+UCLYL3l16BApcb5iUirktdWQ/G\n8ROLgGygEV/C+KznP7BatO+vwlojxOYIEvkjKVtY9EF7lfXvTlBgLX8P4oEK\nKU2KfKrbcAy1Aw5Tu1qZQqtjjTVT+w/KrWMkuoyPFIFCscFH707kEMQeJt1J\n/2eoe7sX0+bpqpq0Jx7MJLaud2k1Uw66sJyYW4fRkKthaEYFrFeMSueTAMrK\nC4IIMfaVj7a7mT2lvYxiS78EbAsxN1RPlPH/aYqwTzfUnvodK/lxjUfVpeKO\nLwR8CBIvsUlLACZzrE1CmTla6+YwqYSifwLqwX+xYhdusjQ43zLbtIVmFhn8\nNO5rodME0gFpCfVfvLMmtiEdUM8+peGHz0VveJvj+e3F9lMrTpTWNiegjIkg\nLH64YW0jnSoZoNXkf3L9177VCWt7Zg1gjs/Mmer8YCjtB153lWOO389NeYbg\nrf/X\r\n=1Vaq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=12.0.0"},"gitHead":"fac8177a67a072e612f2d07ade922bb70c7806ba","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_4.0.3_1605047684044_0.4585289942969444","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"@aligent/frontend-toolkit","version":"4.1.0","keywords":["toolkit","gulp","webpack","storybook"],"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","_id":"@aligent/frontend-toolkit@4.1.0","maintainers":[{"name":"vincent.cabrera","email":"vincent.cabrera@aligent.com.au"},{"name":"chris101.park","email":"chris101.park@gmail.com"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"aligentgregwork","email":"greg.work@aligent.com.au"},{"name":"jackmcpickle","email":"jackmcpickle@gmail.com"}],"homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","dist":{"shasum":"419b9289da0aaf26f4876e347ed0b4fe63733253","tarball":"https://registry.npmjs.org/@aligent/frontend-toolkit/-/frontend-toolkit-4.1.0.tgz","fileCount":135,"integrity":"sha512-NMqZ0ve1PVxM5AHMd4aEdaiVm66vKSafCxPiF4KaTcr5E0Y5yWeKdWsDNoBwv7Y5awUI6pBJDP2UhqS0zQhnlw==","signatures":[{"sig":"MEYCIQDI0rS+0QDBc6XzO8CS+J1lK4pLiR5iqWRU4fqvCt9S8AIhAPR3Ayi4QV95AxoLOJsm371OUVptCBqKtfiO8hz23eK1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279286,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh11SBCRA9TVsSAnZWagAAPvoQAI4z1tNPab3/+nl0/HX6\ncR1LiEslTQ+lkESNpSi8ATn7URMBVtr6CzCqToAzl1Lm8qnwF9wim1ACRAyH\nYvvaP2dhNDriAWZAJh7IzJNjsrHiXgIWzxhIVc+H7VKJyJwqKxjYVqdaR6Bj\nwlMUDEFqyaDHSUO9n/C5oXoQ5gT8Pu6gzKFnSFn0BHM8KHyC8WJwBJATEgwq\nqxIV5Ea/uBAj2mlJVTfUpkvVvFi2MDaJChUinHceDZvGN26EJPQZxRd2QdTk\nipn+spk/+AJIs61GwfKNuBDZovp+9A0+viyTXjjk8Hi0xkqeUH5MhrnRiz51\nsLlL482qCOLnePGiMw9aqZHUU3HwRrUk//iJ0RqlSq4lLpoR2gSedB7IWRq4\nGaL/lhAPIBwKJ1N4WJXOZiA92tgMNvC1ANgTj39uRlI2y+0QEuBY89FVu+EW\nYQyeFK9Sbk9bmbo4vzPENCqo2iMnFCVCdLc2Rr6rORy6whZ3KrN/yN0x+eIl\niV2H1tJoFslX88LNZjbgl6ckZVzCVeNyTZxqFGmrws1KDGRw73sctFkI8WMK\nK7eunGaDId6Af2JG9KvJwXRNlWMI2LstrhRViRRYkaKFpXXClTArStX0lyK4\n2OK69Wjwrw6KpNwZSvJawLVaWREI6dI1ByxQAqN96vRmR5QEQAuVerXcB0Gj\nWdZC\r\n=EULj\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.jsx?$":"babel-jest"},"transformIgnorePatterns":[]},"main":"index.js","engines":{"node":">=12.0.0"},"gitHead":"279f050bc7399bd1ea4b52ed958c45f1fe888bd3","scripts":{"lint":"npm run stylelint --silent && npm run eslint --silent","test":"npm run lint && npm run test:unit && npm run gulpTest","mocha":"mocha tests/bootstrap.js --recursive","eslint":"eslint js/**/*.js || echo \"Linting failed. Please see errors above.\n\"","gulpTest":"gulp -f index.js testGulp --paths.src.scss='scss/**/*.scss' --paths.base='.' --verbose=true","stylelint":"stylelint \"scss/**/*.scss\" || echo \"Linting failed. Please see errors above.\n\"","test:unit":"jest --collect-coverage","legacyTest":"npm run startServer & npm run mocha tests/js/runner.js && npm run test:unit","singletest":"npm run startServer & npm run mocha $FILE && npm run stopServer","stopServer":"pkill -f http-server","startServer":"http-server -s"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"_npmVersion":"6.14.4","description":"A set of tools/classes to help with Magento 2 and Oro theme development","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"12.16.1","dependencies":{"del":"^5.1.0","glob":"^7.1.6","gulp":"^4.0.2","jest":"^24.9.0","sass":"^1.23.7","chalk":"^3.0.0","nconf":"^0.10.0","react":"^16.12.0","enzyme":"^3.11.0","eslint":"^6.8.0","fibers":"^4.0.2","jquery":"^3.4.0","lodash":"^4.17.15","terser":"^4.4.3","core-js":"^3.6.0","cssnano":"^4.1.10","gulp-if":"^3.0.0","postcss":"^7.0.25","webpack":"^4.41.4","jest-cli":"^24.9.0","sassdash":"^0.9.0","gulp-help":"^1.6.1","gulp-sass":"^4.0.0","react-dom":"^16.12.0","requirejs":"^2.3.6","stylelint":"^12.0.0","ts-loader":"^6.2.1","babel-jest":"^24.9.0","gulp-babel":"^8.0.0","gulp-shell":"^0.7.1","img-loader":"^3.0.1","raw-loader":"^4.0.0","typescript":"^3.7.4","url-loader":"^3.0.0","@babel/core":"^7.7.7","@types/node":"^12.12.21","file-loader":"^5.0.2","gulp-concat":"^2.6.1","gulp-rename":"^2.0.0","gulp-terser":"^1.2.0","gulp-uglify":"^3.0.2","http-server":"^0.12.0","sass-loader":"^8.0.0","@types/react":"^16.9.17","autoprefixer":"^9.7.3","babel-loader":"^8.0.6","gulp-plumber":"^1.2.1","gulp-postcss":"^8.0.0","style-loader":"^1.1.1","@types/jquery":"^3.3.31","@types/lodash":"^4.14.149","workbox-build":"^4.2.0","gulp-sass-glob":"^1.1.0","gulp-stylelint":"^11.0.0","webpack-stream":"^5.2.1","@babel/register":"^7.7.7","gulp-sourcemaps":"^2.6.5","@storybook/react":"^5.2.8","@types/react-dom":"^16.9.4","@babel/preset-env":"^7.7.7","@types/classnames":"^2.2.9","@types/prop-types":"^15.7.3","gulp-autoprefixer":"^7.0.1","@types/react-redux":"^7.1.5","jest-transform-css":"^2.0.0","resolve-url-loader":"^3.1.1","@babel/preset-react":"^7.7.4","regenerator-runtime":"^0.13.3","@aligent/babel-preset":"^1.1.1","terser-webpack-plugin":"^2.3.0","@aligent/eslint-config":"^2.4.0","enzyme-adapter-react-16":"^1.15.2","mini-css-extract-plugin":"^0.9.0","webpack-bundle-analyzer":"^3.6.0","@sambego/storybook-state":"^1.3.6","@aligent/stylelint-preset":"^1.1.0","@babel/plugin-syntax-dynamic-import":"^7.7.4","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/plugin-transform-async-to-generator":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.2","babel-plugin-transform-amd-to-commonjs":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-toolkit_4.1.0_1605733532576_0.7705198131925943","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-07-17T02:11:45.843Z","modified":"2026-05-22T06:21:18.726Z","3.2.1":"2019-07-17T02:11:46.145Z","3.2.2":"2019-07-18T02:25:48.342Z","3.2.3":"2019-07-29T03:11:03.405Z","3.2.4":"2019-08-06T08:52:19.121Z","3.2.5":"2019-09-05T00:37:02.605Z","3.2.6":"2019-12-04T04:09:23.778Z","3.2.8":"2019-12-24T01:28:33.642Z","3.3.0":"2019-12-26T22:45:01.124Z","3.3.1":"2020-03-25T22:16:46.329Z","3.3.2":"2020-09-29T06:41:18.507Z","3.3.3":"2020-10-02T04:57:10.578Z","4.0.0":"2020-11-04T00:57:54.995Z","3.3.4":"2020-11-09T20:22:24.996Z","3.3.5":"2020-11-09T20:31:22.014Z","4.0.1":"2020-11-09T20:35:47.808Z","3.3.6":"2020-11-09T21:38:38.999Z","4.0.2":"2020-11-09T21:41:26.450Z","4.0.3":"2020-11-10T22:34:44.280Z","4.1.0":"2020-11-18T21:05:32.759Z"},"author":{"name":"Aligent Consulting"},"license":"OSL-3.0","homepage":"https://bitbucket.org/aligent/frontend-toolkit/overview","keywords":["toolkit","gulp","webpack","storybook"],"repository":{"url":"git+https://bitbucket.org/aligent/frontend-toolkit.git","type":"git"},"description":"A set of tools/classes to help with Magento 2 and Oro theme development","maintainers":[{"email":"jarrod.swift@aligent.com.au","name":"jarrod.swift"},{"email":"devops+npm@aligent.com.au","name":"aligent-bot"},{"email":"tom.thorogood@aligent.com.au","name":"tom.thorogood"},{"email":"ashley.pratt@aligent.com.au","name":"ashley.pratt"}],"readme":"# Frontend Toolkit\n\nA gulp task runner and collection of ES6 RequireJS modules to be used with Magento 2 and Oro themes\n\n## Table of Contents\n\n[TOC]\n\n## Installation\n\n`npm install @aligent/frontend-toolkit`\n\nThe above example will download version 4\n\n*N.B. You may need to install missing npm dependencies as some version of npm don't recursively install dependencies\nof packages*\n\n*Updates*\n\nFollow guide to update in npm - https://docs.npmjs.com/updating-your-published-package-version-number - `$ npm version patch|minor|major`\n\neg npm version patch will change version from `1.0.0` > `1.0.1` in the package.json and also git tag.\n\n## Gulp Task Runner\n\n### Setup\n\nCopy the following files:\n- `gulpfile.sample.js` > `gulpfile.js`\n- `toolkitConfig.sample.json` > `toolkitConfig.json`\n- `.eslintrc.json`\n- `babel.config.js`\n- `postcss.config.js`\n- `stylelint.config.js`\n- `kss-config.js`\n\nIn your package.json add the following:\n\n```json\n{\n    \"scripts\": {\n        \"build\": \"NODE_ENV=production gulp\",\n        \"lint\": \"gulp stylelintTask\",\n        \"start\": \"gulp watchTask --mode=dev\",\n    },\n    \"browserslist\": [\">= 0.25% in AU\"]\n}\n\n```\n\nYou can then modify your gulpfile to run the tasks you want by updating the default and watch tasks.\n\n#### TODO\n- [ ] create install process to step through coping config files\n\n### Options\n\nAll options are defined using the nconf npm pages in the `toolkitConfig.sample.json` and inside `tools/options.js`;\n\nThe options are ordered by hierarchy from highest to lowest strength.\n\n1. Node Memory\n2. Node environment variables eg `MODE=dev gulp`\n3. Arguments eg `gulp --mode=dev`\n4. toolkitConfig.json in your project root\n5. Defaults\n\n### Modes\n\nBy default running gulp by itself will run all your tasks in `production` mode.\n\nUse any of the option methods to change `mode`\n\n### Tasks\n\nThe toolkit gulpfile includes the following tasks:\n\n* **SCSS** - *scss*\nCompiles SCSS to CSS and creates a source map. Will output files to both the web and styleguide directories.\nCSS properties will automatically be given vendor prefixes based on the `browserslist` key.\n\n* **Javascript** - *javascript*\nUses Babel to transpile latest JS to what is defined in the `browserslist` key, creates source maps\n\n* **Webpack** - *jsx|ts|tsx*\nThis task is used to build the relevant react components\n\n- entry point names are used for included css modules too\n- splits common libs into a vendor.js.\n\n* **Styleguide** - *styleguide*\nThis task is used to develop the styleguide using browsersync. Unless the project is just starting out, it's unlikely this task will be used\n\n* **COPY** - *jpg|gif|png|svg|woff|woff2|ttf*\nThis task copies all other assets from source/ to web/\n\n\n### Add non-core tasks\n\n You can add non-core tasks too - just make sure you install the task devDeps into your project.\n\ngulpfile.js:\n```js\n    const styleguide = require('@aligent/frontend-toolkit/tools/gulpTasks/styleguide');\n    exports.styleTask = styleguide;\n ```\n\n### StoryBook Ready\n\nAdd following to your packages.json:\n\n```json\n    {\n        \"scripts\": {\n            \"storybook\": \"MODE=dev start-storybook --config-dir node_modules/@aligent/frontend-toolkit/tools/storybook -p 3000\"\n        }\n    }\n```\n\nThe config looks inside `./app/frontend/design` for all files with `*.stories.jsx?`\n\n\n### Using the task runner in projects\n\nThere are some project specific changes that are required before the gulp task runner will work properly.\n\n* Add npm run script to package.json for project\n\n    `\"kss\": \"kss --config kss-config.json\"`\n\n* Update `.gitignore` file in project, adding the following\n\n```\napp/design/frontend/[vendor]/[theme name]/web/css/*\napp/design/frontend/[vendor]/[theme name]/web/js/*\nstyleguide/\n```\n\n## ES6 RequireJS modules\n\n### Installation\n\nInstalling the JS classes into a project is as simple as adding an entry to the `requirejs-config.js` file.\n\nHere is an example config file, with only the toolkit classes included:\n\n```javascript\nvar config = {\n    map: {\n        '*': {\n            // Toolkit Classes\n            carousel:          'js/Carousel/Carousel',\n            debounce:          'js/Debounce/Debounce',\n            restrictHeight:    'js/RestrictHeight/RestrictHeight',\n            showHideElement:   'js/ShowHideElement/ShowHideElement',\n            toggleTabElements: 'js/ToggleTabElements/ToggleTabElements'\n            // Project files\n        }\n    }\n};\n```\n\n### Usage\n\nPlease refer to the documentation markdown file for each javascript module for usage instructions\n\n## SCSS Mixins and Normalize\n\n### Installation\n\nTo use the mixins and normalize file from the toolkit, you can simply import the `toolkit.scss` file in your main SCSS file\n\n```SCSS\n@import '@aligent/frontend-toolkit/scss/toolkit.scss';\n// Rest of the project imports\n```\n\n### Usage\n\nPlease refer to the documentation markdown file of each mixin for usage instructions\n\n## Linting\n\n### Stylelint\n\nStylelint will ensure that all SCSS written is down in a uniform and consistent way.\n\n#### Installation\n\nCreate a new `stylelint.config.js` file with the following contents\n\n```json\n{\n  \"extends\": \"@aligent/stylelint-config\"\n}\n```\n\nAdd new script to `package.json`\n\n```json\n\"scripts\": {\n    \"stylelint\": \"gulp stylelintTask\"\n}\n```\n\n**Running the linter**\n\n`npm run stylelint`\n\n**Setting up automatic linting within PHPStorm**\n\n* *Enable*\n`File > Settings > Languages & Frameworks > Stylesheets > Stlyelint`\n\n* *Stylelint package*\n  use the absolute path to the locally installed version of Stylelint, e.g.\n  `{location_of_project_on_hdd}/node_modules/stylelint`\n\n### ESLint\n\nESLint will ensure all the Javascript in the toolkit is written in a uniform, consistent way.\n\n#### Installation\n\nAdd a new script to `package.json`\n\n```json\n\"scripts\": {\n  \"eslint\": \"eslint {path/to/source}/js/**/*.js || echo \\\"Linting complete. Please see errors above\\n\\\"\"\n}\n```\n\n**Running the linter**\n\n`npm run eslint`\n\n**Setting up automatic linting within PHPStorm**\n\n* *Enable*\n`File > Settings > Languages & Frameworks > Javascript > Code Quality Tools > ESLint`\n* *ESLint Package*\n  use the absolute path to the locally installed version of ESLint, e.g.\n  `[{location_of_respository_on_hdd}/frontend-toolkit]/node_modules/eslint`\n* *Configuration File*\n`{location_of_project_on_hdd}/node_modules/@aligent/frontend-toolkit/.eslintrc.json`\n\nN.B. As the `.eslintrc.json` file technically doesn't have a filename (it starts with a full stop), you'll likely need\nto enter the path directly, instead of using the file selector dialog\n\n## Webpack Component Override\n\nThe webpack configuration has the ability to override any module that webpack is importing. This is done by matching a \"base path\" and then replacing that base path with a path to a new module. This approach has been used extensively in our PWA projects.\n\n### Set Up\n\n1. Duplicate and rename `componentOverrideMapping.sample.js` to `componentOverrideMapping.js`.\n2. Place the `componentOverrideMapping.js` file in the root of a _theme_ folder. I.e. right next to a `theme.xml` file\n3. Tell Webpack where to find the `componentOverrideMapping.js` file. See \"Indicate to Webpack where to find `componentOverrideMapping.js`\" section below \n4. Add some overrides to your `componentOverrideMaping.js` file, and test!\n\n#### Indicate to Webpack where to find `componentOverrideMapping.js`\n\nThere are 2 ways to tell Webpack where to find the override mapping file:\n\n1. Inside `toolkitConfig.json`\n2. Inside `gulpfile.js`\n\n##### toolkitConfig.js\n\nThis approach would be used when there is only 1 theme in the project. The path to the `componentOverrideMapping.js` doesn't need any dynamic folder names, therefore allowing it to be static.\n\nTo do this, open `toolkitConfig.js`, find the `webpack` object within `paths`, and add/update the `componentOverrideMapping` property, with the path to the file, relative to the `toolkitConfig.json` file.\n\n##### Inside `gulpfile.js`\n\nThis approach would be used when a project has multiple themes. Setting the `componentOverrideMapping` path here allows us to use a dynamic variable to conditionally point to a different location for `componentOverrideMapping.js`, based on the theme that is being built.\n\nTo do this, copy and paste the following code snippet into the `gulpfile.js` file within the project. It should go _after_ the `@aligent/frontend-toolkit` package has been required:\n\n```javascript\nconst toolkit = require('@aligent/frontend-toolkit');\n\n// ...\n\nconst theme = process.argv\n    .find((argv) => argv.includes('--theme'))\n    .split('=')[1];\n\n// ...\n\ntoolkit.options.set(\n    'paths:webpack:componentOverrideMapping',\n    `./app/design/frontend/${theme}/componentOverrideMapping.js`\n);\n```\n\n_N.b. This config is using `nconf`. The colons between each word is the way of namespacing a property_\n\nNext, we need to update the scripts in `package.json` to specify a theme to build.\n\n```\n\"scripts\" : {\n  \"build\": \"NODE_ENV=production gulp\",\n  \"build:baseTheme\": \"npm run build -- --theme='[Vendor]/[BaseThemeName]'\",\n  \"build:childTheme\": \"npm run build -- --theme='[Vendor]/[ChildThemeName]'\"\n}\n```\n\nTo make deployments easier, also add a `deploy` script, which is essentially just an alias that calls the build scripts for each of the themes:\n\n```\n\"scripts\": {\n  // ...\n  \"deploy\": \"npm run build:baseTheme && npm run build:childTheme\"\n}\n```\n\n\n### Usage\n\nThere are 3 ways to enter override paths into the mapping file:\n\n1. Absolute, root paths\n2. Relative paths, with a leading `./`\n3. Relative paths, with a folder/file name as the start\n\n#### Absolute, root paths\n\nExample: `/app/design/frontend/Aligent/base/source/react/Checkout/App.jsx`\n\nThis approach is most likely going to be used for the \"module to override\" path, i.e. the key in the mapping object. Using this approach allows us to reference a module that is _outside_ the current theme directory\n\n#### Relative paths, with a leading `./`\n\nExample: `./source/react/Checkout/TabsContainer.jsx`\n\nThis approach is most likely going to be used for the \"module to replace\" path, e.g. the value in the mapping object. Using this approach allows us to easily reference a module that is local to the theme, without having to include the whole path to get to that theme. Essentially it just allows the mapping file to remain a little bit neater\n\n#### Relative paths, with a folder/file name as the start\n\nExample: `source/react/Checkout/TabsContainer.jsx`\n\nThis approach is identical to \"Relative paths, with a leading `./`\", but just handles if someone forgets to put a specific leading character. Ideally there will always be either a `/` or a `./` at the start of the paths.\n\n### File Extensions in Paths\n\nAlmost all module imports in our Webpack built code will omit the extension. This is because Webpack has rules that allow this, it will automatically search for a file that matches `.js`/`.jsx`/`.ts`/`.tsx`.\n\nThe module override plugin is simpling using NodeJS's `require` function to resolve paths, which means those rules aren't available.\n\nTo get around the issue that will arise when trying to overwrite a path that is imported like, `import Loading from './Loading'`, the module override plugin will use a \"fallback\" of require resolvers, going through the possible extensions. The order that it will try is the same as listed in the paragraph above: `.js`, `.jsx`, `.ts` then finally `.tsx`. If the plugin doesn't find a module that matches the file name plus one of those extensions, then it will abort overriding.\n\n### Settings Overrides (e.g. colours)\n\n_Unfortunately, it's not especially easy to get dynamic SCSS variable overwriting working. This means that for the settings overrides to work, they'll need to be defined as CSS Custom Properties. This is something that will need to be confirmed with the client. The fact that the client is keen on using React for parts of their site, they should be open to the change, which means IE11 support has to be dropped from a UI point of view._\n\nIn the `index.js` file of the React application, add the following 2 imports:\n\n```javascript\nimport './baseSettings';\nimport './themeSettings';\n```\n\nCreate `baseSettings.js` and `themeSettings.js` next to the `index.js` file.\n\n**baseSettings.js**\n\nThis file acts as an importer for the base settings of the application. The files being imported will be CSS/SCSS. Inside those CSS/SCSS files will likely just be CSS Custom Property definitions.\n\n_Example baseSettings.js_\n\nI suggest the comment at the top of this example also be copied into your `baseSettings.js` file.\n\n```javascript\n// This file is intended to import \"base settings\" like colours/sizes etc.\n// There is also a themeSettings file alongside this one, which isn't used in the base, but is used in the themes\n\nimport './scss/colours.scss';\n``` \n\n**themeSettings.js**\n\nThis file is also an importer of settings, but it's only meant for use in the \"theme\" folders. It has to exist in the root folder too so that the application will build successfully when there is only 1 theme.\n\nIn the theme folders, use `componentOverrideMapping.js`, replacing the path to `themeSettings.js` to point to the one in the theme folder. This means that `themeSettings.js` needs to be created inside the theme too, right next to the `componentOverrideMapping.js` file that is doing the re-mapping.\n\nInside the themes' `themeSettings.js`, there will be imports to CSS/SCSS files that contain CSS Custom Property definitions that will override the CSS Custom Properties in the `baseSettings.js` imports\n\n#### Example Project Structure\n\n[See an example of a Project Structure that implements all of the above component override patterns](./docs/ExampleComponentOverrideProjectStructures.md) \n\n## Development\n\nPlease refer to [CONTRIBUTING.md](https://bitbucket.org/aligent/frontend-toolkit/src/master/CONTRIBUTING.md)\n\n### Time Tracking\n\nUse the code `ALG-119` and project `Aligent` in Toggl when working on this repository.\nEnsure the name of this repo, as well as an adequate description of work being undertaken is also included\n\nExamples\n\n`ALG-119: FrontendToolkit - Updating package.json dependencies`\n\n`ALG-119: FrontendToolkit - Issue #2 Fixing eslint rules`\n\n*The \"Issue #2\" part of the time entry above refers to [Issues](https://bitbucket.org/aligent/frontend-toolkit/issues?status=new&status=open) in this repository*\n\nExamples of what we **don't** want to see in toggle\n\n`ALG-119: FrontendToolkit`\n\n`ALG-119`\n\n### Stylelint\n\n**Updating the rules**\n\nCurrently the rules are duplicated. One file, `stylelint.config.js` is used for linting the toolkit project, while `linters/stylelint/index.js` is used by projects that have included the toolkit as a dependency. Please be sure to update both files when making changes/updates to rules\n\n### Testing\n\nIn order to run tests, your installed version of NodeJS needs to support async/await. NodeJS supports this from version 7.6, however it would be best to just update to the latest LTS version\n\nTo run all tests, in a terminal, run:\n\n`npm test`\n\nIf you would like to test an individual file, then run the following:\n\n`FILE=path/to/test.js npm run singletest`\n\nThat will set up the HTTP server, run the test, and then stop the server again\n\n#### Debugging Tests\n\nIf tests are failing for whatever reason, you can turn headless mode off, so that the Chrome instance will open, and you can watch exactly what is going on. In order to do that, open `test/bootstrap.js` and set `headless` to true.\n\nYou will also likely want to increase the value for `slowMo`, which sets the time between each action the browser takes, in ms\n","readmeFilename":"README.md"}