UNPKG

@onereach/get-version-data

Version:
47 lines (37 loc) 1.19 kB
'use strict'; const path = require('path'); const parsePnpmLock = require('./pnpm_lock'); const parseNpmLock = require('./npm_lock'); const parseYarnLock = require('./yarn_lock'); const {getLockFile} = require('./utils'); async function getOneReachDependencies (rootPath, options) { const lock = await getLockFile(rootPath) if (!lock) return {}; const deps = await getDependencies(lock, options); return extractOnereachPackages(deps, options); } async function getDependencies (lock, options) { switch (lock.type) { case 'pnpm': return parsePnpmLock(lock, options); case 'yarn': return parseYarnLock(lock, options); case 'npm': return parseNpmLock(lock, options); default: return {}; } } function extractOnereachPackages (dependencies) { const filteredDeps = Object.entries(dependencies || {}) .filter(([name, version]) => { return version.includes('//git@gitlab.com:onereach') || name.startsWith('//git@gitlab.internal.onereach.io') || name.startsWith('@onereach/') || name.startsWith('@or-') }) return Object.fromEntries(filteredDeps); } module.exports = { getOneReachDependencies, }