npm install aws-crt

NodeJS/browser bindings to the aws-c-* libraries

About aws-crt

The npm package "aws-crt" provides essential NodeJS and browser bindings to the AWS Common Runtime libraries, facilitating seamless integration and interaction with AWS services. This powerful module supports a variety of AWS SDKs, enabling developers to efficiently manage and utilize AWS resources in their applications. The aws-crt package is particularly beneficial for creating robust, scalable, and secure cloud-based applications. By leveraging this module, developers can ensure that their applications are built on a reliable and continuously updated foundation, which is crucial for maintaining high performance and compliance with the latest AWS standards and protocols.

To begin using the aws-crt in your project, simply run the command 'npm install aws-crt' in your development environment. This installation process integrates the module into your NodeJS or browser-based project, allowing you to take full advantage of its features such as automatic handling of AWS authentication, encryption, and data transmission. The 'npm install aws-crt' command ensures that you are equipped with the latest version, providing access to the most current features and security updates. This module is vital for developers looking to enhance their application's interaction with AWS services, offering streamlined API calls and improved performance across various AWS features.

The aws-crt package is licensed under the Apache 2.0 License, which guarantees that it meets the standards of open-source software, providing both flexibility and security in application development. This licensing ensures that developers can use, modify, and distribute their software built with aws-crt without concerns about legal implications. The availability of API documentation further aids developers in implementing the module efficiently, making aws-crt a dependable choice for professional-grade software development projects that require reliable AWS integration.

More from awslabs

awslabs npm packages

Find the best node modules for your project.

Search npm

aws-crt

NodeJS/browser bindings to the aws-c-*...

Read more

Dependencies

Core dependencies of this npm package and its dev dependencies.

@aws-sdk/util-utf8-browser, @httptoolkit/websocket-stream, axios, buffer, crypto-js, mqtt, process, @types/crypto-js, @types/jest, @types/node, @types/prettier, @types/puppeteer, @types/uuid, @types/ws, aws-sdk, cmake-js, https-proxy-agent, jest, jest-puppeteer, jest-runtime, puppeteer, tar, ts-jest, typedoc, typedoc-plugin-merge-modules, typescript, uuid, yargs

Documentation

A README file for the aws-crt code repository. View Code

AWS CRT JS

NodeJS/Browser bindings for the AWS Common Runtime

API Docs

License

This library is licensed under the Apache 2.0 License.

Building the package

Prereqs:

To build the package locally

git clone https://github.com/awslabs/aws-crt-nodejs.git
cd aws-crt-nodejs
git submodule update --init
npm install

Using From Your NodeJS Application

Normally, you just declare aws-crt as a dependency in your package.json file.

Using From Your Browser Application

You can either add it to package.json (if using a tool like webpack), or just import the dist.browser/ folder into your web project

Installing from npm

npm install aws-crt

To reduce the size of package, we put the C source code in the S3 bucket. If the platform you are using doesn't have the prebuilt binary, the install script will pull the source from S3 bucket. In case of no public internet access, you can specify the "CRT_BINARY_HOST" environment variable for the host of the source code. The build script will fetch source code from that host instead. To fetch the source from S3, you can reach to the cloudfront distribution (Only works for version after v1.9.2) https://d332vdhbectycy.cloudfront.net/aws-crt-<version>-source.tgz, the sha256 checksum https://d332vdhbectycy.cloudfront.net/aws-crt-<version>-source.sha256

Debug C part of code

After building the package locally, use node ./scripts/build.js --debug to enable debug. Then, attach any C debugger to use node to run jest

Mac-Only TLS Behavior

Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. Beginning in v1.1.11, when a stored private key from the Keychain is used, the following will be logged at the "info" log level:

static: certificate has an existing certificate-key pair that was previously imported into the Keychain.  Using key from Keychain instead of the one provided.