Files
js/legacy_packages/storage
jnsdls 495aa042ba ts 5.6 and other updates (#4522)
<!-- start pr-codex -->

## PR-Codex overview
The focus of this PR is to update dependencies across multiple packages and fix minor code issues.

### Detailed summary
- Updated `typedoc` to versions `0.26.7`.
- Updated `tsup` to versions `8.2.4`.
- Updated `typescript` to versions `5.6.2`.
- Updated various packages to use the latest TypeScript version.
- Fixed minor code issues like handling `delete` operations and eslint comments.

> The following files were skipped due to too many changes: `packages/thirdweb/src/wallets/in-app/core/eip5972/in-app-wallet-calls.ts`, `legacy_packages/wallets/src/evm/connectors/gcp-kms/utils/gcp-kms-utils.ts`, `apps/dashboard/package.json`, `packages/thirdweb/package.json`, `legacy_packages/contracts-js/package.json`, `pnpm-lock.yaml`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-09-11 02:35:34 +00:00
..
2024-06-19 10:51:41 -07:00
2024-09-11 02:35:34 +00:00
2024-09-11 02:35:34 +00:00



thirdweb Storage

npm version Build Status Join our Discord!

Best in class decentralized storage SDK for Browser and Node


Installation

Install the latest version of the SDK with either npm or yarn:

npm install @thirdweb-dev/storage
yarn add @thirdweb-dev/storage

Quick Start

Once you have the thirdweb Storage SDK installed, you can use it to easily upload and download files and other data using decentralized storage systems.

Here's a simple example using the SDK to upload and download a file from IPFS:

import { ThirdwebStorage } from "@thirdweb-dev/storage";

// First, instantiate the SDK
const storage = new ThirdwebStorage();

// Now we can upload a file and get the upload URI
const file = readFileSync("path/to/file.jpg");
const uri = await storage.upload(file);

// Finally we can download the file data again
const res = await storage.download(uri);
const data = await res.text();

Alternatively, we can use the SDK to upload and download metadata and JSON objects, and we can also upload multiple items at once:

// We define metadata for 2 different NFTs
const metadata = [
  {
    name: "NFT #1",
    description: "This is my first NFT",
    image: readFileSync("path/to/file.jpg"),
    properties: {
      coolness: 100,
    },
  },
  {
    name: "NFT #2",
    description: "This is my second NFT",
    image: readFileSync("path/to/file.jpg"),
    properties: {
      coolness: 200,
    },
  },
];

// And now we can upload it all at once to a single directory
const uris = await storage.uploadBatch(metadata);

// And easily retrieve the metadata
const metadata = await storage.downloadJSON(uris);

Learn More

You can learn more about thirdweb and the Storage SDK with the following resources: