UNPKG

auditjs

Version:

Audit dependencies to identify known vulnerabilities and maintenance problems

68 lines 2.6 kB
"use strict"; /* * Copyright 2019-Present Sonatype Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Bower = void 0; const Coordinates_1 = require("../Types/Coordinates"); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); class Bower { constructor(devDependencies = false) { this.devDependencies = devDependencies; } getSbomFromCommand() { throw new Error('Method not implemented.'); } isValid() { const tempPath = path_1.default.join(process.cwd(), 'bower.json'); return fs_1.default.existsSync(tempPath); } async getDepList() { return await this.getInstalledDeps(); } async getInstalledDeps() { const depsArray = []; const file = fs_1.default.readFileSync(path_1.default.join(process.cwd(), 'bower.json')); const json = JSON.parse(file.toString()); const resolve = (name) => { try { const bowerJson = JSON.parse(fs_1.default.readFileSync(path_1.default.join(process.cwd(), 'bower_components', name, '.bower.json'), 'utf8')); return /^\d+\.\d+\.\d+/.test(bowerJson.version) ? bowerJson.version : null; } catch { return null; } }; Object.keys(json.dependencies).forEach((x) => { const version = resolve(x); if (version) depsArray.push(new Coordinates_1.Coordinates(x, version, '')); }); if (this.devDependencies) { Object.keys(json.devDependencies).forEach((x) => { const version = resolve(x); if (version) depsArray.push(new Coordinates_1.Coordinates(x, version, '')); }); } return depsArray; } } exports.Bower = Bower; //# sourceMappingURL=Bower.js.map