# This file contains the list of officially endorsed plugins.

# Note that the plugins below reference "/master/" in their
# url; this isn't what gets actually fetch. We replace this
# part at runtime by "@yarnpkg/cli/X.Y.Z", where X.Y.Z is
# the version of the CLI running `yarn plugin import`.
#
# As a result, even if these files don't technically exist
# on our repository anymore, they'll still get properly
# fetched by Yarn 3.x users.

"@yarnpkg/plugin-hello-world":
  url: "https://github.com/yarnpkg/berry/raw/master/scripts/plugin-hello-world.js"
  range: "*"
  experimental: true
  description: "Adds a `yarn hello` command that says 'hello'."

"@yarnpkg/plugin-constraints":
  # Important: The /master/ part is replaced at import time by the release tag; it's not a problem if the file it points to doesn't exist anymore.
  url: "https://github.com/yarnpkg/berry/raw/master/packages/plugin-constraints/bin/%40yarnpkg/plugin-constraints.js"
  range: "<4.0.0-rc.1"
  experimental: true
  description: "[Yarn <4 only] Adds a new command to Yarn (`yarn constraints`) to enforce lint rules across workspaces."

"@yarnpkg/plugin-exec":
  # Important: The /master/ part is replaced at import time by the release tag; it's not a problem if the file it points to doesn't exist anymore.
  url: "https://github.com/yarnpkg/berry/raw/master/packages/plugin-exec/bin/%40yarnpkg/plugin-exec.js"
  range: "<4.0.0-rc.1"
  experimental: true
  description: "[Yarn <4 only] Adds a new protocol to Yarn (`exec:`) that dynamically generate packages instead of downloading them."

"@yarnpkg/plugin-interactive-tools":
  # Important: The /master/ part is replaced at import time by the release tag; it's not a problem if the file it points to doesn't exist anymore.
  url: "https://github.com/yarnpkg/berry/raw/master/packages/plugin-interactive-tools/bin/%40yarnpkg/plugin-interactive-tools.js"
  range: "<4.0.0-rc.1"
  experimental: true
  description: "[Yarn <4 only] Adds various commands providing a more high-level control on your project through terminal interfaces."

"@yarnpkg/plugin-stage":
  # Important: The /master/ part is replaced at import time by the release tag; it's not a problem if the file it points to doesn't exist anymore.
  url: "https://github.com/yarnpkg/berry/raw/master/packages/plugin-stage/bin/%40yarnpkg/plugin-stage.js"
  range: "<4.0.0-rc.1"
  experimental: true
  description: "[Yarn <4 only] Adds a new command to Yarn (`yarn stage`) to automatically stage & commit all Yarn-related files."

"@yarnpkg/plugin-typescript":
  # Important: The /master/ part is replaced at import time by the release tag; it's not a problem if the file it points to doesn't exist anymore.
  url: "https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js"
  range: "<4.0.0-rc.1"
  experimental: true
  description: "[Yarn <4 only] Adds various utilities for a seamless TypeScript experience. Consult the plugin page for more details."

"@yarnpkg/plugin-version":
  # Important: The /master/ part is replaced at import time by the release tag; it's not a problem if the file it points to doesn't exist anymore.
  url: "https://github.com/yarnpkg/berry/raw/master/packages/plugin-version/bin/%40yarnpkg/plugin-version.js"
  range: "<4.0.0-rc.1"
  experimental: true
  description: "[Yarn <4 only] Adds a new workflow to Yarn (`yarn version`) to efficiently manage releases in a monorepository."

"@yarnpkg/plugin-workspace-tools":
  # Important: The /master/ part is replaced at import time by the release tag; it's not a problem if the file it points to doesn't exist anymore.
  url: "https://github.com/yarnpkg/berry/raw/master/packages/plugin-workspace-tools/bin/%40yarnpkg/plugin-workspace-tools.js"
  range: "<4.0.0-rc.1"
  experimental: true
  description: "[Yarn <4 only] Adds various commands that make working with workspaces a more pleasing experience."
