UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

28 lines (27 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.analyzePackages = analyzePackages; const getInstalledPackages_1 = require("./getInstalledPackages"); const updateIntegrationStatus_1 = require("./updateIntegrationStatus"); function analyzePackages(forceIntegratePackageName) { const installedPackages = (0, getInstalledPackages_1.getInstalledPackages)(); const { lockData, justCreated: justCreatedLockFile } = (0, updateIntegrationStatus_1.readLockFile)(); if (forceIntegratePackageName) { // delete from lock to get force integrated delete lockData.packages[forceIntegratePackageName]; } const newPackages = installedPackages.filter(([packageName]) => !(packageName in lockData.packages)); const updatedPackages = installedPackages.filter(([packageName, version]) => packageName in lockData.packages && version !== lockData.packages[packageName].version); const deletedPackages = Object.entries(lockData.packages).filter(([packageName]) => installedPackages.every(([installedPackageName]) => installedPackageName != packageName)); const integratedPackages = Object.entries(lockData.packages).filter(([, packageLock]) => packageLock.integrated); return { installedPackages, newPackages, updatedPackages, deletedPackages, integratedPackages, justCreatedLockFile, forceIntegratePackageName, }; }