dependencies.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const serviceManager_1 = require("../serviceManager");
  4. const Debug = require("debug");
  5. const configuration_1 = require("../configuration");
  6. const fs_1 = require("fs");
  7. class DependenciesFeature {
  8. constructor() {
  9. this.logger = Debug('axm:features:dependencies');
  10. }
  11. init() {
  12. this.transport = serviceManager_1.ServiceManager.get('transport');
  13. this.logger('init');
  14. const pkgPath = configuration_1.default.findPackageJson();
  15. if (typeof pkgPath !== 'string')
  16. return this.logger('failed to found pkg.json path');
  17. this.logger(`found pkg.json in ${pkgPath}`);
  18. fs_1.readFile(pkgPath, (err, data) => {
  19. if (err)
  20. return this.logger(`failed to read pkg.json`, err);
  21. try {
  22. const pkg = JSON.parse(data.toString());
  23. if (typeof pkg.dependencies !== 'object') {
  24. return this.logger(`failed to find deps in pkg.json`);
  25. }
  26. const dependencies = Object.keys(pkg.dependencies)
  27. .reduce((list, name) => {
  28. list[name] = { version: pkg.dependencies[name] };
  29. return list;
  30. }, {});
  31. this.logger(`collected ${Object.keys(dependencies).length} dependencies`);
  32. this.transport.send('application:dependencies', dependencies);
  33. this.logger('sent dependencies list');
  34. }
  35. catch (err) {
  36. return this.logger(`failed to parse pkg.json`, err);
  37. }
  38. });
  39. }
  40. destroy() {
  41. this.logger('destroy');
  42. }
  43. }
  44. exports.DependenciesFeature = DependenciesFeature;
  45. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZlYXR1cmVzL2RlcGVuZGVuY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNEQUFrRDtBQUNsRCwrQkFBOEI7QUFHOUIsb0RBQTRDO0FBQzVDLDJCQUE2QjtBQUs3QixNQUFhLG1CQUFtQjtJQUFoQztRQUdVLFdBQU0sR0FBYSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQWtDL0QsQ0FBQztJQWhDQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRywrQkFBYyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRW5CLE1BQU0sT0FBTyxHQUFHLHVCQUFhLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDL0MsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7UUFFcEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxhQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzlCLElBQUksR0FBRztnQkFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDM0QsSUFBSTtnQkFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO2dCQUN2QyxJQUFJLE9BQU8sR0FBRyxDQUFDLFlBQVksS0FBSyxRQUFRLEVBQUU7b0JBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO2lCQUN0RDtnQkFDRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUErQixDQUFDO3FCQUNsRSxNQUFNLENBQUMsQ0FBQyxJQUFvQixFQUFFLElBQVksRUFBRSxFQUFFO29CQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO29CQUNoRCxPQUFPLElBQUksQ0FBQTtnQkFDYixDQUFDLEVBQUUsRUFBb0IsQ0FBQyxDQUFBO2dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLGVBQWUsQ0FBQyxDQUFBO2dCQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxZQUFZLENBQUMsQ0FBQTtnQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO2FBQ3RDO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsQ0FBQyxDQUFBO2FBQ3BEO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDeEIsQ0FBQztDQUNGO0FBckNELGtEQXFDQyJ9