{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/bun-lock.json","title":"Bun.lock file","description":"Schema definition for Bun's `bun.lock` file (package manager lockfile). See https://bun.sh/docs/install/lockfile","type":"object","allowTrailingCommas":true,"properties":{"lockfileVersion":{"type":"integer","enum":[0,1],"description":"Specifies the version of the lockfile format. Currently only sypporting 0 or 1."},"workspaces":{"type":"object","description":"Defines the project workspaces and their corresponding packages.","patternProperties":{".*":{"$ref":"#/definitions/BunLockFileWorkspacePackage"}}},"overrides":{"type":"object","description":"Defines custom dependency resolutions for specific packages.","patternProperties":{".*":{"type":"string"}}},"patchedDependencies":{"type":"object","description":"Lists dependencies that have been patched to modify their behavior.","patternProperties":{".*":{"type":"string"}}},"trustedDependencies":{"type":"array","description":"An array of dependencies explicitly marked as trusted.","items":{"type":"string"}},"packages":{"type":"object","description":"Contains information about all the packages used in the project.","patternProperties":{".*":{"$ref":"#/definitions/BunLockFilePackageArray"}}}},"required":["lockfileVersion","workspaces","packages"],"definitions":{"BunLockFileBasePackageInfo":{"type":"object","description":"Base information about a package, including dependencies and peer relationships.","required":[],"properties":{"dependencies":{"type":"object","description":"A map of dependencies required by this package.","patternProperties":{".*":{"type":"string"}}},"devDependencies":{"type":"object","description":"A map of development-only dependencies.","patternProperties":{".*":{"type":"string"}}},"optionalDependencies":{"type":"object","description":"A map of optional dependencies for this package.","patternProperties":{".*":{"type":"string"}}},"peerDependencies":{"type":"object","description":"A map of peer dependencies for this package.","patternProperties":{".*":{"type":"string"}}},"optionalPeers":{"type":"array","description":"An array of optional peer dependencies.","items":{"type":"string"}},"bin":{"description":"Executable binaries provided by the package.","oneOf":[{"type":"object","patternProperties":{".*":{"type":"string"}}},{"type":"string"}]},"binDir":{"type":"string","description":"Directory where the package's binaries are located."}}},"BunLockFileWorkspacePackage":{"allOf":[{"$ref":"#/definitions/BunLockFileBasePackageInfo"},{"type":"object","description":"Information specific to workspace packages.","properties":{"name":{"type":"string","description":"The name of the workspace package."},"version":{"type":"string","description":"The version of the workspace package."}}}]},"BunLockFilePackageInfo":{"allOf":[{"$ref":"#/definitions/BunLockFileBasePackageInfo"},{"type":"object","description":"Detailed information about a specific package.","properties":{"os":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Specifies operating systems supported by this package."},"cpu":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Specifies CPU architectures supported by this package."},"bundled":{"type":"boolean","enum":[true],"description":"Indicates if the package is bundled."}},"required":[]}]},"BunLockFilePackageArray":{"description":"An array representing a package in the lockfile.","oneOf":[{"description":"Represents an npm package.","type":"array","items":[{"type":"string","description":"Package name and version in the format 'name@version'."},{"type":"string","description":"Registry URL or empty string for the default registry."},{"$ref":"#/definitions/BunLockFilePackageInfo","description":"Package metadata including dependencies and environment constraints."},{"type":"string","description":"Integrity hash for the package."}],"minItems":4,"maxItems":4},{"description":"Represents a symlink, folder, or tarball package.","type":"array","items":[{"type":"string","description":"Package name with a path."},{"$ref":"#/definitions/BunLockFilePackageInfo","description":"Package metadata including dependencies and environment constraints."}],"minItems":2,"maxItems":2},{"description":"Represents workspace package.","type":"array","items":[{"type":"string","description":"Package name with a workspace path."}],"minItems":1,"maxItems":1},{"description":"Represents a git or GitHub package.","type":"array","items":[{"type":"string","description":"Package name with a git or GitHub prefix."},{"$ref":"#/definitions/BunLockFilePackageInfo","description":"Package metadata including dependencies and environment constraints."},{"type":"string","description":"Bun tag for the package."}],"minItems":3,"maxItems":3},{"description":"Represents the root package.","type":"array","items":[{"type":"string","description":"Root package identifier in the format 'name@root:'."},{"type":"object","properties":{"bin":{"description":"Executable binaries provided by the root package.","oneOf":[{"type":"object","patternProperties":{".*":{"type":"string"}}},{"type":"string"}]},"binDir":{"type":"string","description":"Directory where the root package's binaries are located."}},"additionalProperties":false}],"minItems":2,"maxItems":2}]}}}