Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions packages/zpm-config/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
},
"enableImmutableInstalls": {
"type": "boolean",
"description": "Whether to report errors when a package would be added or removed from the cache",
"description": "Whether to report errors when an install would modify the lockfile or files matched by immutablePatterns",
"default": false
},
"immutablePatterns": {
Expand Down Expand Up @@ -339,7 +339,7 @@
},
"npmAuthIdent": {
"type": ["string", "null"],
"description": "The username to use for authentication when querying the npm registry"
"description": "The username and password (username:password), or their Base64 encoding, to use for npm authentication"
},
"npmAuthToken": {
"type": ["zpm_utils::Secret<String>", "null"],
Expand Down Expand Up @@ -371,7 +371,7 @@
},
"npmAuthIdent": {
"type": ["string", "null"],
"description": "The username to use for authentication when querying the npm registry"
"description": "The username and password (username:password), or their Base64 encoding, to use for npm authentication"
},
"npmAuthToken": {
"type": ["zpm_utils::Secret<String>", "null"],
Expand Down Expand Up @@ -411,7 +411,7 @@
},
"npmAuthIdent": {
"type": ["string", "null"],
"description": "The username to use for authentication when querying the npm registry"
"description": "The username and password (username:password), or their Base64 encoding, to use for npm authentication"
},
"npmAuthToken": {
"type": ["zpm_utils::Secret<String>", "null"],
Expand Down Expand Up @@ -457,7 +457,7 @@
},
"npmAuthIdent": {
"type": ["string", "null"],
"description": "The username to use for npm authentication for matching packages"
"description": "The username and password (username:password), or their Base64 encoding, to use for npm authentication"
},
"npmAuthToken": {
"type": ["zpm_utils::Secret<String>", "null"],
Expand Down Expand Up @@ -491,7 +491,7 @@
},
"npmAuthIdent": {
"type": ["string", "null"],
"description": "The username to use for npm authentication for matching sources"
"description": "The username and password (username:password), or their Base64 encoding, to use for npm authentication"
},
"npmAuthToken": {
"type": ["zpm_utils::Secret<String>", "null"],
Expand Down
88 changes: 46 additions & 42 deletions website/config/manifest.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"title": "JSON Schema for Yarn Manifest files",
"$schema": "https://json-schema.org/draft/2019-09/schema#",
"description": "Manifest files (also called `package.json` because of their name) contain everything needed to describe the settings unique to one particular package. Project will contain multiple such manifests if they use the workspace feature, as each workspace is described through its own manifest.",
"description": "Manifest files (also called `package.json` because of their name) contain everything needed to describe the settings unique to one particular package. Project will contain multiple such manifests if they use the workspace feature, as each workspace is described through its own manifest. Fields whose types include `null` accept it as an unset value. Dependency maps, script maps, workspace lists, and `publishConfig` must retain their documented collection or object types. Nested `exports` targets may be `null` to block an export; nested `imports` targets must be strings or objects.",
"__info": [
"This file contains the JSON Schema for Yarn Manifest files and is:",
"1) Hosted on the Yarn Website at http://yarnpkg.com/configuration/manifest.json",
"2) Used to generate the documentation page at http://yarnpkg.com/configuration/manifest",
"1) Hosted on the Yarn Website at https://v6.yarnpkg.com/configuration/manifest.json",
"2) Used to generate the documentation page at https://v6.yarnpkg.com/configuration/manifest",

"Note: Properties prefixed with a single underscore (e.g. _examples, _hidden)",
"are unique to our documentation generation interpreter. All others will be picked up",
Expand All @@ -21,21 +21,21 @@
"name": {
"title": "Name of the package.",
"description": "Used to identify it across the application, especially amongst multiple workspaces. The first part of the name (here `@scope/`) is optional and is used as a namespace).",
"type": "string",
"type": ["string", "null"],
"pattern": "^(?:@([^/]+?)/)?([^/]+?)$",
"examples": ["@scope/name"]
},
"version": {
"title": "Version of the package.",
"description": "Usually doesn't have any impact on your project, except when it is a workspace - then its version must match the specified ranges for the workspace to be selected as resolution candidate.",
"type": "string",
"type": ["string", "null"],
"pattern": "^(?:(.+))$",
"examples": ["1.2.3"]
},
"stableVersion": {
"title": "Stable version used as the base for deferred version bumps.",
"description": "When present, Yarn will use this value instead of `version` as the current stable release when applying deferred version changes. This is useful for prerelease workflows where `version` may already include a prerelease suffix.",
"type": "string",
"type": ["string", "null"],
"pattern": "^(?:(.+))$",
"_examples": [
{
Expand All @@ -51,7 +51,7 @@
"packageManager": {
"title": "Define the package manager that should be used when working on this project.",
"description": "This field is used by [Corepack](https://nodejs.org/api/corepack.html) and similar tools to detect the Yarn version in use in a project - in a sense, it has the same purpose as your lockfile, but only for Yarn itself.\n\nYarn will automatically set this value when running `yarn set version`.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"examples": ["yarn@4.0.0"],
"_examples": [
Expand All @@ -68,7 +68,7 @@
"packageManagerMigration": {
"title": "Define the package manager that should be used while migration mode is enabled.",
"description": "This field is used by Yarn Switch when migration mode is active. It lets a project temporarily opt into a different Yarn binary without replacing the regular `packageManager` field.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"_examples": [
{
Expand All @@ -84,8 +84,8 @@
"type": {
"title": "Define how should be interpreted `.js` files.",
"description": "A Node.js v13.x [option](https://nodejs.org/api/esm.html#esm_package_json_type_field). Possible values are `commonjs` (the default) and `module`. Yarn 3+ will generate a `.pnp.cjs` file when using PnP regardless of this option.",
"type": "string",
"enum": ["commonjs", "module"],
"type": ["string", "null"],
"enum": ["commonjs", "module", null],
"default": "commonjs"
},
"extends": {
Expand All @@ -109,7 +109,7 @@
"private": {
"title": "Define whether the package is meant to be published.",
"description": "If true, the package is considered private and Yarn will refuse to publish it regardless of the circumstances.",
"type": "boolean",
"type": ["boolean", "null"],
"default": false,
"examples": [true]
},
Expand Down Expand Up @@ -178,7 +178,7 @@
"main": {
"title": "Path of the file that should be resolved when requiring the package via a bare identifier.",
"description": "This field can be modified at publish-time through the use of the `publishConfig.main` field.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"examples": ["./sources/index.js"]
},
Expand Down Expand Up @@ -214,13 +214,17 @@
"imports": {
"title": "Private package import aliases.",
"description": "Defines `#`-prefixed import specifiers that can be used from within this package.",
"type": ["string", "object"],
"type": ["string", "object", "null"],
"patternProperties": {
"^#.+$": {
"$ref": "#/properties/imports"
},
"^(.+)$": {
"$ref": "#/properties/imports"
"$ref": "#/properties/imports",
"type": [
"string",
"object"
]
}
},
"_examples": [
Expand All @@ -244,14 +248,14 @@
"module": {
"title": "Path of the file that should be resolved when requiring the package via a bare identifier in an ES6-compatible bundler environment.",
"description": "This field should be considered deprecated, with `exports` being its official replacement.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"examples": ["./sources/index.mjs"]
},
"browser": {
"title": "Browser-specific entry point or path replacements.",
"description": "Bundlers may use this field to replace Node-oriented files with browser-compatible alternatives, or to ignore files by mapping them to `false`.",
"type": ["string", "object"],
"type": ["string", "object", "null"],
"patternProperties": {
"^(.+)$": {
"type": ["string", "boolean"],
Expand Down Expand Up @@ -283,7 +287,7 @@
"bin": {
"title": "Set of files to expose via `yarn run bin-name` and the shell environment.",
"description": "If set to a string, the binary value will be the package name (not including its scope part).",
"type": ["string", "object"],
"type": ["string", "object", "null"],
"format": "uri-reference",
"patternProperties": {
"^(.+)$": {
Expand Down Expand Up @@ -511,13 +515,13 @@
"built": {
"title": "Define whether to run the postinstall script or not.",
"description": "If false, the package will never be built (deny-list). This behavior is reversed when the `enableScripts` yarnrc setting is toggled off - when that happens, only packages with `built` explicitly set to `true` will be built (allow-list); as for those with `built` explicitly set to `false`, they will simply see their build script warnings downgraded into simple notices.",
"type": "boolean",
"type": ["boolean", "null"],
"examples": [false]
},
"unplugged": {
"title": "Define whether the package must be unplugged or not.",
"description": "If true, the specified package will be automatically unplugged at install time. This should only be needed for packages that contain scripts in other languages than Javascript (for example `nan` contains C++ headers).",
"type": "boolean",
"type": ["boolean", "null"],
"examples": [true]
}
},
Expand Down Expand Up @@ -640,13 +644,13 @@
"preferUnplugged": {
"title": "Define whether the package must be unplugged or not.",
"description": "While Yarn attempts to reference and load packages directly from their zip archives, it may not always be possible. A heuristic tries to detect cases where zip-loading would be problematic and unpack the files on disk instead but, being just a heuristic, it may report incorrect results.\n\nThe `preferUnplugged` field lets you define yourself, as a package author, whether your package works or not when stored as an archive. If set, it will override the default heuristic.",
"type": "boolean",
"type": ["boolean", "null"],
"examples": [false]
},
"files": {
"title": "Array of file glob patterns that will be included within the published tarball.",
"description": "File patterns follow a similar syntax to `.gitignore`, but reversed: including a file, directory, or glob pattern (`*`, `**/*`, and such) will make it so that file is included in the tarball when it’s packed. Omitting the field will make it default to `[\"*\"]`, which means it will include all files.\n\nIf this field is missing, Yarn will use the project's `.gitignore` to generate the pack list, or the `.npmignore` file instead if available.\n\nSome special files and directories are also [included](https://github.com/yarnpkg/berry/blob/ab2e84588b1eacb2ec60a751f12b168415224a19/packages/plugin-pack/sources/packUtils.ts#L11) or [excluded](https://github.com/yarnpkg/berry/blob/ab2e84588b1eacb2ec60a751f12b168415224a19/packages/plugin-pack/sources/packUtils.ts#L27) regardless of whether they exist in the `files` array.",
"type": "array",
"type": ["array", "null"],
"items": {
"type": "string",
"format": "uri-reference"
Expand All @@ -670,13 +674,13 @@
"access": {
"title": "Define the access to use when publishing the package.",
"description": "Valid values are `public` and `restricted`, but `restricted` usually requires to register for a paid plan (this is up to the registry you use).",
"type": "string",
"enum": ["public", "restricted"],
"type": ["string", "null"],
"enum": ["public", "restricted", null],
"examples": ["public"]
},
"bin": {
"title": "Replacement of the package's `bin` field, used in the published tarball over the main one.",
"type": ["string", "object"],
"type": ["string", "object", "null"],
"format": "uri-reference",
"patternProperties": {
"^(.+)$": {
Expand All @@ -688,7 +692,7 @@
},
"browser": {
"title": "Replacement of the package's `browser` field, used in the published tarball over the main one.",
"type": ["string", "object"],
"type": ["string", "object", "null"],
"format": "uri-reference",
"patternProperties": {
"^(.+)$": {
Expand All @@ -700,7 +704,7 @@
},
"executableFiles": {
"title": "Set of files that must be marked as executable (+x) in the published tarball.",
"type": "array",
"type": ["array", "null"],
"items": {
"type": "string",
"format": "uri-reference"
Expand All @@ -722,52 +726,53 @@
},
"imports": {
"title": "Replacement of the package's `imports` field, used in the published tarball over the main one.",
"type": ["string", "object"],
"type": ["string", "object", "null"],
"patternProperties": {
"^(.+)$": {
"$ref": "#/properties/imports"
"$ref": "#/properties/imports",
"type": ["string", "object"]
}
},
"examples": [{"#internal": "./build/internal.js"}]
},
"main": {
"title": "Replacement of the package's `main` field, used in the published tarball over the main one.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"examples": ["./build/index.js"]
},
"module": {
"title": "Replacement of the package's `module` field, used in the published tarball over the main one.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"examples": ["./build/index.mjs"]
},
"provenance": {
"title": "Define whether to produce a provenance statement for the package when publishing. Overrides all other provenance settings.",
"type": "boolean",
"type": ["boolean", "null"],
"examples": [true]
},
"registry": {
"description": "If present, will replace whatever registry is defined in the configuration when the package is about to be pushed to a remote location.",
"type": "string",
"type": ["string", "null"],
"format": "uri",
"examples": ["https://npm.pkg.github.com"]
},
"type": {
"title": "Replacement of the package's `type` field, used in the published tarball over the main one.",
"type": "string",
"enum": ["commonjs", "module"],
"type": ["string", "null"],
"enum": ["commonjs", "module", null],
"examples": ["module"]
},
"types": {
"title": "Replacement of the package's `types` field, used in the published tarball over the main one.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"examples": ["./build/index.d.ts"]
},
"typings": {
"title": "Replacement of the package's `typings` field, used in the published tarball over the main one.",
"type": "string",
"type": ["string", "null"],
"format": "uri-reference",
"examples": ["./build/index.d.ts"]
}
Expand Down Expand Up @@ -798,21 +803,20 @@
},
"installConfig": {
"title": "Extra settings affecting how the package is installed.",
"type": "object",
"description": "Omitted or null overrides inherit `nmHoistingLimits` and `nmSelfReferences` from the yarnrc configuration.",
"type": ["object", "null"],
"properties": {
"hoistingLimits": {
"title": "Defines the highest point where packages can be hoisted.",
"description": "See `nmHoistingLimits` for more information.",
"type": "string",
"enum": ["workspaces", "dependencies", "none"],
"default": "none",
"type": ["string", "null"],
"enum": ["workspaces", "dependencies", "none", null],
"examples": ["none"]
},
"selfReferences": {
"title": "Defines whether workspaces are allowed to require themselves.",
"description": "See `nmSelfReferences` for more information.",
"type": "boolean",
"default": true,
"type": ["boolean", "null"],
"examples": [true]
}
},
Expand Down
Loading