awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
yarnpkg avatar

yarnpkg/berry

0
View on GitHub↗
yarnpkg.com↗

Berry

Berry is a Node.js package manager, dependency resolution engine, and monorepo workspace manager. It provides the tools necessary for resolving, downloading, and managing dependencies to ensure consistent environments across different development machines, while also serving as a publishing tool for uploading versioned package tarballs to registries.

The project is distinguished by its implementation of Plug'n'Play, which resolves dependencies without creating a physical node_modules directory by mapping dependencies directly to the file system. This enables a zero-install development workflow where a local package cache is stored within version control, allowing projects to run immediately after checkout without executing installation commands.

The manager covers a broad surface of capability areas, including monorepo coordination through workspace management, secure package distribution with vulnerability auditing and integrity verification, and a plugin-based architecture for extending core functionality. It also includes tools for third-party package patching, dependency constraint enforcement, and the management of package lifecycles and versioning.

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Features

  • Monorepo Managers - Coordinates multiple internal packages within a single repository to simplify dependency management and shared code maintenance.
  • Version Controlled Caches - Enables a zero-install workflow by storing compressed package archives directly within version control.
  • Package Dependency Managers - Provides a comprehensive system for resolving, installing, and updating software package dependencies for Node.js projects.
  • Immutable Lockfile Validation - Enforces a strict match between the project state and the lockfile to prevent accidental dependency drift.
  • Plug-and-Play Installers - Implements the Plug'n'Play specification to resolve dependencies without a physical node_modules directory.
  • Package Registry Integrations - Implements mechanisms to retrieve source code and artifacts from remote registries or local disk locations.
  • Dependency Orchestrators - Manages versions and relationships of installed packages to prevent conflicts and ensure reproducible builds.
  • Node.js Dependency Managers - Resolves and downloads dependency trees specifically for Node.js projects to ensure consistent environments.
  • Package Caches - Maintains a local cache of downloaded package artifacts to eliminate redundant network requests and enable offline use.
  • Zero-Install Caches - Stores compressed package archives within version control to allow immediate execution after project checkout.
  • Workspace Managers - Coordinates dependencies and executes commands across multiple internal packages within a single project.
  • Workspace-Aware Resolution - Manages dependencies between internal sub-projects using a specialized protocol that avoids external registry lookups.
  • Workspace Dependency Resolution - Implements a dedicated protocol for resolving dependencies between internal sub-projects in a monorepo.
  • Zero-Install Workflows - Enables a zero-install development experience by combining Plug'n'Play resolution with a version-controlled local package cache.
  • Dependency Resolution Controls - Provides advanced controls to override package versions and enforce strict constraints for reproducible build states.
  • Dependency Resolution - Automates the resolution and downloading of all required packages to prepare a project for execution.
  • Dependency Specifications - Implements a system for defining required, optional, development, and peer dependencies.
  • External Library Installers - Downloads and configures external libraries required for a project while ensuring consistent versions.
  • Plug-and-Play Resolution - Maps package dependencies to a static lookup table to eliminate the physical node_modules directory.
  • Virtual File System Resolvers - Implements Plug'n'Play to resolve dependencies via a static mapping table, eliminating the need for a physical node_modules directory.
  • Dependency Resolution Engines - Implements a sophisticated engine for converting version ranges into fixed references and maintaining a reproducible lockfile.
  • Project Constraint Validation - Validates that a project adheres to a set of defined rules using a constraints database.
  • Dependency Consistency Validators - Ensures workspaces adhere to specified dependency ranges and automatically fixes incompatible dependencies.
  • Lockfile Integrity Validators - Ensures the lockfile strictly matches the project state and prevents unauthorized modifications during immutable installs.
  • Package Publishing - Authenticates with remote registries to upload package versions and manage distribution tags.
  • Dependency Patching Utilities - Implements a workflow to prepare third-party packages for modification and commit custom patches.
  • Dependency Hardening - Offers hardened modes to validate the integrity of installed packages and protect against malicious code injection.
  • Offline Installation Tools - Allows dependencies to be saved locally, enabling full project installation without an active internet connection.
  • Dependency Override Managers - Provides a mechanism to force specific versions of dependencies to override default resolver selections.
  • Package Disk Linkers - Provides a linker that extracts fetched package archives into a specific disk layout based on the chosen strategy.
  • Secure Distribution Workflows - Ships tools for authenticating with registries, filtering published files, and auditing for known security vulnerabilities.
  • Package Publishing Tools - Provides utilities for authenticating with registries and uploading versioned package tarballs with configurable metadata.
  • Package Publishing Utilities - Configures registries, access levels, provenance, and executable permissions for package tarballs.
  • Dependency Resolution Overrides - Allows overriding default version selection logic through configurable rules and constraints to resolve dependency conflicts.
  • Workspace Command Orchestration - Runs commands across multiple sub-projects and allows targeting specific workspaces for installation.
  • Zero-Install Executions - Implements a zero-install workflow using a local package cache and a specialized loader to run projects immediately after checkout.
  • Dependency Hoisting - Controls how high dependencies are moved up the file tree in a workspace to manage installation structure.
  • Package Linkers - Extracts fetched package archives into specific disk layouts based on the chosen installation strategy.
  • Resolution Consistency Checks - Verifies that lockfile resolutions remain consistent with their initial version ranges during continuous integration.
  • Package Integrity Verifications - A system to check package checksums against the lockfile and manage checksum mismatches.
  • Architecture Compatibility Filtering - Filters package installations based on system OS, CPU, and libc requirements to ensure binary compatibility.
  • Extensible Plugin Architectures - Provides an extensibility system to add custom logic and new commands to the package management workflow.
  • Plugin Architectures - Employs a plugin-based architecture to extend core functionality and add new command sets via external modules.
  • Content-Addressable Caches - Caches package artifacts using unique checksums to ensure binary integrity and optimize disk usage.
  • Developer Tooling - Dependency management for JavaScript projects.
  • Developer Tools - Package manager for dependency management.
  • Package Management - Modern package management tool.
8,052 Stars·1,257 Forks·TypeScript·bsd-2-clause·11 Aufrufe

Star-Verlauf

Star-Verlauf für yarnpkg/berryStar-Verlauf für yarnpkg/berry

Häufig gestellte Fragen

Was macht yarnpkg/berry?

Berry is a Node.js package manager, dependency resolution engine, and monorepo workspace manager. It provides the tools necessary for resolving, downloading, and managing dependencies to ensure consistent environments across different development machines, while also serving as a publishing tool for uploading versioned package tarballs to registries.

Was sind die Hauptfunktionen von yarnpkg/berry?

Die Hauptfunktionen von yarnpkg/berry sind: Monorepo Managers, Version Controlled Caches, Package Dependency Managers, Immutable Lockfile Validation, Plug-and-Play Installers, Package Registry Integrations, Dependency Orchestrators, Node.js Dependency Managers.

Welche Open-Source-Alternativen gibt es zu yarnpkg/berry?

Open-Source-Alternativen zu yarnpkg/berry sind unter anderem: lerna/lerna — Lerna is a monorepo management tool, build orchestrator, and package publisher for JavaScript and TypeScript projects.… rust-lang/cargo — Cargo is the official build system and package manager for the Rust programming language. It provides a unified… npm/cli — This project is a command line interface for managing, installing, and publishing JavaScript packages to a remote… pypa/pip — pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index… homebrew/legacy-homebrew — This project is a command line package manager and dependency management engine used for installing, updating, and… astral-sh/rye — Rye is a comprehensive Python toolchain manager, package manager, and virtual environment orchestrator. It provides a…

Open-Source-Alternativen zu Berry

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Berry.
  • lerna/lernaAvatar von lerna

    lerna/lerna

    36,066Auf GitHub ansehen↗

    Lerna is a monorepo management tool, build orchestrator, and package publisher for JavaScript and TypeScript projects. It enables the management of multiple packages within a single shared repository, providing utilities for workspace organization and the coordinated publishing of packages to a registry. The tool distinguishes itself through dependency-aware task orchestration and automated version management. It uses topological sorting to sequence tasks and utilizes content-hash caching to skip redundant executions when input files remain unchanged. Versioning is automated by parsing standa

    TypeScriptlernamonoreponpm
    Auf GitHub ansehen↗36,066
  • rust-lang/cargoAvatar von rust-lang

    rust-lang/cargo

    14,624Auf GitHub ansehen↗

    Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f

    Rustcargopackage-managerrust
    Auf GitHub ansehen↗14,624
  • npm/cliAvatar von npm

    npm/cli

    9,846Auf GitHub ansehen↗

    This project is a command line interface for managing, installing, and publishing JavaScript packages to a remote registry. It serves as a dependency resolution tool, a software registry publishing client, and a security auditor for Node.js development workflows. The tool distinguishes itself by providing integrated monorepo workspace management and a comprehensive registry authentication client that supports multi-factor authentication. It enables detailed control over the software supply chain through provenance attestations, package signature verification, and the generation of a Software

    JavaScriptjavascriptnodejsnpm
    Auf GitHub ansehen↗9,846
  • pypa/pipAvatar von pypa

    pypa/pip

    10,186Auf GitHub ansehen↗

    pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index and other remote repositories. It functions as a dependency resolver that calculates compatible version sets for complex software trees, an environment inspector for analyzing installed distributions, and a wheel builder that compiles source distributions into binary files. The tool supports various installation methods, including fetching packages directly from web URLs and Git commits, as well as installing packages in editable mode for active development. It enables the crea

    Pythonpackagingpippython
    Auf GitHub ansehen↗10,186
Alle 30 Alternativen zu Berry anzeigen→