123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- const fs = require('fs');
- const path = require('path');
-
- module.exports = {
- parseVersion,
- root,
- isExternalLib
- };
-
- const parseString = require('xml2js').parseString;
- // return the version number from `pom.xml` file
- function parseVersion() {
- let version = null;
- const pomXml = fs.readFileSync('pom.xml', 'utf8');
- parseString(pomXml, (err, result) => {
- if (err) {
- throw new Error('Failed to parse pom.xml: ' + err);
- }
- if (result.project.version && result.project.version[0]) {
- version = result.project.version[0];
- } else if (result.project.parent && result.project.parent[0] && result.project.parent[0].version && result.project.parent[0].version[0]) {
- version = result.project.parent[0].version[0];
- }
- });
- if (version === null) {
- throw new Error('pom.xml is malformed. No version is defined');
- }
- return version;
- }
-
- const _root = path.resolve(__dirname, '..');
-
- function root(args) {
- args = Array.prototype.slice.call(arguments, 0);
- return path.join.apply(path, [_root].concat(args));
- }
-
- function isExternalLib(module, check = /node_modules/) {
- const req = module.userRequest;
- if (typeof req !== 'string') {
- return false;
- }
- return req.search(check) >= 0;
- }
|