Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@digitalbazaar/credentials-context

digitalbazaar5.5kSEE LICENSE IN LICENSE.md3.2.0

Verifiable Credentials Contexts for JavaScript

JSON-LD context, JSON-LD, Linked Data, Verifiable Credentials, context

readme

Verifiable Credentials Contexts (@digitalbazaar/credentials-context)

Node.js CI NPM Version

A Verifiable Credentials Data Model contexts library for JavaScript

This project packages the contexts for the Verifiable Credentials Data Model specs for use with Node.js and web apps.

Table of Contents

Background

See related specs:

Security

TBD

Install

Requires Node.js 18+

To install via NPM:

npm install @digitalbazaar/credentials-context

Usage

import {contexts, metadata, named} from '@digitalbazaar/credentials-context';
// or
const {contexts, metadata, named} = require('@digitalbazaar/credentials-context');

The contexts Map can be used to access individual contexts by id or load them into a JSON-LD document loader. The metadata Map contains extra information about each context.

This package can be used with bundlers, such as webpack, in browser applications.

API

The library exports the following properties:

  • contexts: A Map associating context URLs to context data.
  • metadata: A Map associating context URLs to context metadata.
  • named: A Map associating short package specific names to context metadata.

Note that the metadata format is experimental and subject to change. The id field is expected to stay stable and can be used with the named Map to get a context URL for a short name such as v2.

The context files are available in the published contexts/ directory. The metadata has a URL for each context. Note that these files are semantically equivalent to published spec contexts but the formatting may differ such that strict file digests are not equivalent.

Status

The following contexts are available as of mid-2024. They track the published spec contexts.

  • Verifiable Credentials v1.1 context
    • URL: https://www.w3.org/2018/credentials/v1
    • Short name: v1
    • Status: stable
  • Verifiable Credentials v2.0 context
    • URL: https://www.w3.org/ns/credentials/v2
    • Short name: v2
    • Status: under development
  • Verifiable Credentials v2.0 undefined terms context
    • URL: https://www.w3.org/ns/credentials/undefined-terms/v2
    • Short name: undefined-terms-v2
    • Status: under development

Developing

Source is available at:

WARNING: The .jsonld files in contexts/ are auto-generated by the npm run build script each time the test suite is run.

DO NOT edit them directly since changes will be overwritten.

Make all context changes to lib/*.js.

Commercial Support

Commercial support for this library is available upon request from Digital Bazaar: support@digitalbazaar.com

License

  • Code: BSD 3-Clause © Digital Bazaar
  • Contexts: W3C Software and Document License
  • See the LICENSE file for details.

changelog

@digitalbazaar/credentials-context ChangeLog

3.2.0 - 2025-02-27

Changed

  • Update to latest VC Data Model 2.0 contexts.
    • Align with VC Bitstring Status List spec.
    • Move statusMessage, statusReference, and statusSize from BitstringStatusList to BitstringStatusListEntry.
    • Change statusSize data type from xsd:positiveInteger to xsd:integer.

3.1.0 - 2024-08-01

Added

  • Export experimental named Map to associate "short names" to metadata. Can be used to get context URLs from easier to remember names with code like vcNamed.get('v2').id.

Changed

  • Rename experimental export contextsMetadata to metadata.

3.0.0 - 2024-07-31

Added

Changed

  • BREAKING: Rename with scope to @digitalbazaar/credentials-context.
  • BREAKING: Only support Node.js >= 18.
  • BREAKING: Convert to ESM. A built CJS file is distributed.
  • Move code from js/ to lib/.
  • Update dependencies and tooling.

Removed

  • BREAKING: Remove documentLoader export.
  • BREAKING: Remove constants and direct URL and context exports.
    • Expectation is the contexts Map will be used directly with known context URLs or as a source of contexts to use with a JSON-LD context loader.

2.0.0 - 2019-09-20

Changed

  • Refactor to use current context repo template.

1.0.0 - 2019-07-30

See git history for changes previous to this release.