awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
yarnpkg avatar

yarnpkg/berry

0
View on GitHub↗
8,052 stars·1,257 forks·TypeScript·bsd-2-clause·11 vuesyarnpkg.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.

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.
  • Outils de développement - Package manager for dependency management.
  • Package Management - Modern package management tool.

Historique des stars

Graphique de l'historique des stars pour yarnpkg/berryGraphique de l'historique des stars pour yarnpkg/berry

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait 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.

Quelles sont les fonctionnalités principales de yarnpkg/berry ?

Les fonctionnalités principales de yarnpkg/berry sont : Monorepo Managers, Version Controlled Caches, Package Dependency Managers, Immutable Lockfile Validation, Plug-and-Play Installers, Package Registry Integrations, Dependency Orchestrators, Node.js Dependency Managers.

Quelles sont les alternatives open-source à yarnpkg/berry ?

Les alternatives open-source à yarnpkg/berry incluent : 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…

Alternatives open source à Berry

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Berry.
  • lerna/lernaAvatar de lerna

    lerna/lerna

    36,066Voir sur GitHub↗

    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
    Voir sur GitHub↗36,066
  • rust-lang/cargoAvatar de rust-lang

    rust-lang/cargo

    14,624Voir sur GitHub↗

    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
    Voir sur GitHub↗14,624
  • npm/cliAvatar de npm

    npm/cli

    9,846Voir sur GitHub↗

    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
    Voir sur GitHub↗9,846
  • pypa/pipAvatar de pypa

    pypa/pip

    10,186Voir sur GitHub↗

    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
    Voir sur GitHub↗10,186
  • Voir les 30 alternatives à Berry→