Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@project-chip/matter.js

Package Overview
Dependencies
Maintainers
0
Versions
230
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@project-chip/matter.js

Matter protocol in pure js

  • 0.11.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2.9K
decreased by-10.91%
Maintainers
0
Weekly downloads
 
Created
Source

@project-chip/matter.js

[!IMPORTANT] With matter.js 0.11.0 the package structure was adjusted. This package is exposing the current API for Controller implementations (a new API will follow soon) and the Legacy Device building Node API and mainly contains compatibility re-exports. Please adjust your code to just use the relevant exports from here and switch for all other matter.js general packages to the @matter/main package.

Implementation of Matter protocol in typescript with no native dependencies (and very limited dependencies).

This is the JavaScript-only Core of the Matter protocol. It is used by other projects to implement Matter Nodes and Clients and add the relevant specific implementations for Network and other elements.

This package supports all Node.js LTS versions starting with 18.x

The following features are abstracted away to allow to be implemented environment specific:

  • Network (UDP/MDNS)
  • Crypto
  • Storage
  • Date/Timer
  • Logger (Default uses "console")
  • Environment (Process and Configuration handling)

Exported functionality

This library exports the Matter protocol functionality as well as some helper functions as named exports:

ExportDescription
@project-chip/matter.jsExports the API to implement a Device or a Controller.
@project-chip/matter.js/behaviorExports Behavior classes (New API) as framework to implement all relevant Logic for clusters and internal logic. Contains auto-generated class structures and also Cluster default implementations.
@project-chip/matter.js/certificateExports Certificate (Root-/PAA/PAI/IAC/DA-Certificates) related functionality
@project-chip/matter.js/clusterExports Matter Cluster definitions and Default Cluster-Handlers
@project-chip/matter.js/codecExports Codecs for e.g. Matter-Messages
@project-chip/matter.js/commonExports certain common functionalities
@project-chip/matter.js/cryptoExports Crypto related abstract functionality that needs to be implemented platform specific!
@project-chip/matter.js/datatypeExports Matter Data types
@project-chip/matter.js/deviceExports Matter Device relevant classes (Legacy API!)
@project-chip/matter.js/devicesExports Matter Device type classes (NEW API!)
@project-chip/matter.js/endpointExports Matter Endpoint structure classes (NEW API!)
@project-chip/matter-.js/environmentExports environment functionalities, which handles central functions like MDNS and configuration
@project-chip/matter.js/elementsExports every standard Matter element defined by the Matter Object Model
@project-chip/matter.js/fabricExports Matter-Fabric functionality
@project-chip/matter.js/interactionExports Matter Interaction protocol functionality
@project-chip/matter.js/logExports Logging functionality (based on "console")
@project-chip/matter.js/mathExports Math functionality used by Matter
@project-chip/matter.js/mdnsExports Basic MDNS functionality (uses Network implementation)
@project-chip/matter.js/modelExports a JavaScript version of the Matter data model
@project-chip/matter.js/netExports Basic Network abstract functionality that needs to be implemented platform specific!
@project-chip/matter.js/nodeExports Matter Node functionality which is used as basis for a device or controller (NEW API!). It also contains Matter Interaction model abstractions for the new API.
@project-chip/matter.js/protocolExports Basic Matter protocol functionality
@project-chip/matter.js/schemaExports Schema definitions and functionality
@project-chip/matter.js/securechannelExports Secure Channel functionality
@project-chip/matter.js/sessionExports Session and Secure-Session functionality
@project-chip/matter.js/specExports Matter Specification References
@project-chip/matter.js/storageExports Basic Storage abstract functionality that needs to be implemented platform specific!
@project-chip/matter.js/tagsExports Semantic Tag Standard namespace definitions of the Matter specification
@project-chip/matter.js/timeExports Basic Time/Timer abstract functionality that needs to be implemented platform specific!
@project-chip/matter.js/tlvExports Matter TLV type definitions
@project-chip/matter.js/utilExports Basic Utility functionality

Both exports and the typings are exported as CommonJS and ES6 modules.

For more details please refer to the API Documentation.

For more details see the main package documentation.

Typescript note

To have Typescript and your IDE know all the relevant exported functionality you need to use the following in your tsconfig.json:

{
    compilerOptions: {
        moduleResolution: "node16", // Required to support package.json exports
        module: "node16", // Required to make sure all imports are js
    },
}

Additionally, we recommend using "strictNullChecks": true or better for code quality "strict": true to make sure that all types are correctly determined.

Building

  • npm run build: Build all code and create CommonJS and ES6 variants in dist directory. This will built incrementally and only build the changed files.
  • npm run build-clean: Clean the dist directory and build all code from scratch

Tests

  • npm run test: Run all tests

Keywords

FAQs

Package last updated on 07 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc