@infosight/build-info-webpack-plugin
This plugin generates a build-info.json
file that contains the build timestamp, git info, and a summary of dependencies and optionalDependencies.
Usage
const BuildInfoPlugin = require('@infosight/build-info-webpack-plugin');
module.exports = {
...
plugins: [
new BuildInfoPlugin()
]
};
Sample Output
{
"timestamp": "2018-11-05T18:03:13.584Z",
"name": "@infosight/portal-hello-world-frontend",
"git": {
"sha": "1f8e936c4a61ecda68287ac65c0530b5315ec166",
"branch": "master",
"committerDate": "2018-11-01T15:02:41.000Z"
},
"dependencies": {
"@infosight/shell-api": {
"requested": "git+https://github.hpe.com/infosight/shell-api",
"resolved": "git+https://github.hpe.com/infosight/shell-api#20c4b3b3f4336a81389c6665441632b1a90a3955"
},
"axios": {
"requested": "0.17.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.17.0.tgz"
},
"classnames": {
"requested": "2.2.5",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz"
},
"elmer": {
"requested": "git+https://github.hpe.com/infosight/elmer",
"resolved": "git+https://github.hpe.com/infosight/elmer#953d81d77b00b6cf1ba4cb1ce6e5a801d9d6e5ca"
},
"highcharts": {
"requested": "4.2.6",
"resolved": "http://registry.npmjs.org/highcharts/-/highcharts-4.2.6.tgz"
},
"highcharts-more": {
"requested": "^0.1.2",
"resolved": "https://registry.npmjs.org/highcharts-more/-/highcharts-more-0.1.7.tgz"
},
"highcharts-pattern-fill": {
"requested": "^3.0.0",
"resolved": "https://registry.npmjs.org/highcharts-pattern-fill/-/highcharts-pattern-fill-3.0.3.tgz"
},
"history": {
"requested": "4.7.2",
"resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz"
},
"moment": {
"requested": "2.22.2",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz"
},
"moment-timezone": {
"requested": "0.5.20",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.20.tgz"
},
"numeral": {
"requested": "2.0.6",
"resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz"
},
"object-hash": {
"requested": "1.1.5",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.1.5.tgz"
},
"prop-types": {
"requested": "15.5.8",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz"
},
"react": {
"requested": "^16.5.2",
"resolved": "https://registry.npmjs.org/react/-/react-16.5.2.tgz"
},
"react-autobind": {
"requested": "1.0.6",
"resolved": "https://registry.npmjs.org/react-autobind/-/react-autobind-1.0.6.tgz"
},
"react-dom": {
"requested": "^16.5.2",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.5.2.tgz"
},
"react-redux": {
"requested": "5.0.7",
"resolved": "http://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz"
},
"react-router": {
"requested": "4.2.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz"
},
"react-router-dom": {
"requested": "4.2.2",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz"
},
"redux": {
"requested": "4.0.1",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz"
},
"redux-devtools-extension": {
"requested": "2.13.5",
"resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.5.tgz"
},
"redux-thunk": {
"requested": "2.3.0",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz"
},
"styled-components": {
"requested": "3.3.3",
"resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.3.3.tgz"
},
"underscore": {
"requested": "1.9.1",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz"
},
"urijs": {
"requested": "1.19.1",
"resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz"
}
}
}
Options
-
packagePath - Path to
package.json
andnode_modules
. Defaults to the current working directory.