diff --git a/packages/auto-dag-data/README.md b/packages/auto-dag-data/README.md index dd2cd02a..99b79b9d 100644 --- a/packages/auto-dag-data/README.md +++ b/packages/auto-dag-data/README.md @@ -10,6 +10,10 @@ The **Autonomys Auto Dag Data SDK** (`@autonomys/auto-dag-data`) provides utilities for creating and managing IPLD DAGs (InterPlanetary Linked Data Directed Acyclic Graphs) for files and folders. It facilitates chunking large files, handling metadata, and creating folder structures suitable for distributed storage systems like IPFS. +### This package is an ES Module package and it's designed to work with ESM applications. + +Check [this tutorial](https://dev.to/mangadev/set-up-a-backend-nodejs-typescript-jest-using-es-modules-1530) in how to setup a ES module application. + ## Features - **File Chunking and DAG Creation**: Efficiently split large files into smaller chunks and create IPLD DAGs. diff --git a/packages/auto-drive/README.md b/packages/auto-drive/README.md index 0fe18be1..64f6645f 100644 --- a/packages/auto-drive/README.md +++ b/packages/auto-drive/README.md @@ -8,11 +8,7 @@ ## Overview -The `auto-drive` package provides a set of tools to interact with the Autonomys Auto-Drive API. Below are some key functionalities: - -### This package is an ES Module package and it's designed to work with ESM applications. - -Check [this tutorial](https://dev.to/mangadev/set-up-a-backend-nodejs-typescript-jest-using-es-modules-1530) in how to setup a ES module application +The `auto-drive` package provides a set of tools to interact with the Autonomys Auto-Drive API. ### Installation diff --git a/packages/auto-drive/package.json b/packages/auto-drive/package.json index 26a92345..8f81cfd0 100644 --- a/packages/auto-drive/package.json +++ b/packages/auto-drive/package.json @@ -3,10 +3,9 @@ "packageManager": "yarn@4.2.2", "version": "1.0.12", "license": "MIT", - "type": "module", "repository": { - "type": "git", - "url": "https://github.com/autonomys/auto-sdk" + "type": "git", + "url": "https://github.com/autonomys/auto-sdk" }, "author": { "name": "Autonomys", @@ -19,7 +18,7 @@ "node": ">=20.8.0" }, "scripts": { - "build": "rollup -c" + "build": "yarn tsc" }, "exports": { ".": { @@ -35,7 +34,6 @@ "@rollup/plugin-node-resolve": "^15.3.0", "@rollup/plugin-typescript": "^12.1.1", "@types/mime-types": "^2", - "rollup": "^4.28.0", "rollup-plugin-jscc": "^2.0.0", "rollup-plugin-terser": "^7.0.2", "tslib": "^2.8.1", diff --git a/packages/auto-drive/rollup.config.js b/packages/auto-drive/rollup.config.js deleted file mode 100644 index 16b7cad8..00000000 --- a/packages/auto-drive/rollup.config.js +++ /dev/null @@ -1,40 +0,0 @@ -import commonjs from '@rollup/plugin-commonjs' -import json from '@rollup/plugin-json' -import resolve from '@rollup/plugin-node-resolve' -import typescript from '@rollup/plugin-typescript' -import { terser } from 'rollup-plugin-terser' - -export default [ - { - input: 'src/node.ts', - output: { - file: 'dist/node.js', - format: 'esm', - sourcemap: true, - }, - plugins: [ - resolve({ - preferBuiltins: false, - }), - commonjs(), - typescript({ tsconfig: './tsconfig.json' }), - json(), - ], - }, - { - input: 'src/browser.ts', - output: { - file: 'dist/browser.js', - format: 'esm', - sourcemap: true, - }, - plugins: [ - resolve({ - preferBuiltins: false, - }), - commonjs(), - typescript({ tsconfig: './tsconfig.json' }), - json(), - ], - }, -] diff --git a/packages/auto-drive/src/api/calls/download.ts b/packages/auto-drive/src/api/calls/download.ts index 862399dc..6c1e55e0 100644 --- a/packages/auto-drive/src/api/calls/download.ts +++ b/packages/auto-drive/src/api/calls/download.ts @@ -1,5 +1,5 @@ -import { ArgsWithoutPagination } from '../../utils/types.js' -import { AutoDriveApi } from '../connection.js' +import { ArgsWithoutPagination } from '../../utils/types' +import { AutoDriveApi } from '../connection' export const downloadObject = async ( api: AutoDriveApi, diff --git a/packages/auto-drive/src/api/calls/index.ts b/packages/auto-drive/src/api/calls/index.ts index 7e493705..0ebf45a0 100644 --- a/packages/auto-drive/src/api/calls/index.ts +++ b/packages/auto-drive/src/api/calls/index.ts @@ -1,4 +1,4 @@ -export * from './download.js' -export * from './read.js' -export * from './upload.js' -export * from './write.js' +export * from './download' +export * from './read' +export * from './upload' +export * from './write' diff --git a/packages/auto-drive/src/api/calls/read.ts b/packages/auto-drive/src/api/calls/read.ts index 05ff591a..c49852b4 100644 --- a/packages/auto-drive/src/api/calls/read.ts +++ b/packages/auto-drive/src/api/calls/read.ts @@ -1,7 +1,7 @@ -import { ArgsWithoutPagination, ArgsWithPagination } from '../../utils/types.js' -import { AutoDriveApi } from '../connection.js' -import { PaginatedResult } from '../models/common.js' -import { ObjectInformation, ObjectSummary, Scope } from '../models/objects.js' +import { ArgsWithoutPagination, ArgsWithPagination } from '../../utils/types' +import { AutoDriveApi } from '../connection' +import { PaginatedResult } from '../models/common' +import { ObjectInformation, ObjectSummary, Scope } from '../models/objects' /** * Retrieves the root objects based on the specified scope. diff --git a/packages/auto-drive/src/api/calls/upload.ts b/packages/auto-drive/src/api/calls/upload.ts index e02bc49e..d453e293 100644 --- a/packages/auto-drive/src/api/calls/upload.ts +++ b/packages/auto-drive/src/api/calls/upload.ts @@ -1,8 +1,12 @@ -import { CID, FileUploadOptions } from '@autonomys/auto-dag-data' -import { ArgsWithoutPagination } from '../../utils/types.js' -import { AutoDriveApi } from '../connection.js' -import { FolderTree } from '../models/folderTree.js' -import { CompleteUploadResponse, FileUpload, FolderUpload } from '../models/uploads.js' +import { ArgsWithoutPagination } from '../../utils/types' +import { AutoDriveApi } from '../connection' +import { FolderTree } from '../models/folderTree' +import { + CompleteUploadResponse, + FileUpload, + FileUploadOptions, + FolderUpload, +} from '../models/uploads' /** * Initiates a file upload to the server. diff --git a/packages/auto-drive/src/api/calls/write.ts b/packages/auto-drive/src/api/calls/write.ts index 8190a224..260fce78 100644 --- a/packages/auto-drive/src/api/calls/write.ts +++ b/packages/auto-drive/src/api/calls/write.ts @@ -1,5 +1,5 @@ -import { ArgsWithoutPagination } from '../../utils/types.js' -import { AutoDriveApi } from '../connection.js' +import { ArgsWithoutPagination } from '../../utils/types' +import { AutoDriveApi } from '../connection' /** * Shares an object with a specified public ID. diff --git a/packages/auto-drive/src/api/index.ts b/packages/auto-drive/src/api/index.ts index 0d81d296..ff7f933b 100644 --- a/packages/auto-drive/src/api/index.ts +++ b/packages/auto-drive/src/api/index.ts @@ -1,4 +1,4 @@ -export * from './calls/index.js' -export * from './connection.js' -export * from './models/index.js' -export * from './wrappers.js' +export * from './calls/index' +export * from './connection' +export * from './models/index' +export * from './wrappers' diff --git a/packages/auto-drive/src/api/models/index.ts b/packages/auto-drive/src/api/models/index.ts index f129861b..b271942a 100644 --- a/packages/auto-drive/src/api/models/index.ts +++ b/packages/auto-drive/src/api/models/index.ts @@ -1,2 +1,2 @@ -export * from './objects.js' -export * from './uploads.js' +export * from './objects' +export * from './uploads' diff --git a/packages/auto-drive/src/api/models/objects.ts b/packages/auto-drive/src/api/models/objects.ts index 4f347d6a..2149d9ee 100644 --- a/packages/auto-drive/src/api/models/objects.ts +++ b/packages/auto-drive/src/api/models/objects.ts @@ -1,4 +1,38 @@ -import { OffchainMetadata } from '@autonomys/auto-dag-data' +import { FileUploadOptions } from './uploads' + +export type OffchainMetadata = OffchainFileMetadata | OffchainFolderMetadata +interface ChildrenMetadata { + type: 'folder' | 'file' + name?: string + cid: string + totalSize: bigint +} + +export type OffchainFolderMetadata = { + type: 'folder' + dataCid: string + name?: string + totalSize: bigint + totalFiles: number + children: ChildrenMetadata[] + uploadOptions: FileUploadOptions +} + +export type OffchainFileMetadata = { + type: 'file' + dataCid: string + name?: string + mimeType?: string + totalSize: bigint + totalChunks: number + chunks: ChunkInfo[] + uploadOptions?: FileUploadOptions +} + +export interface ChunkInfo { + size: bigint + cid: string +} export enum Scope { Global = 'global', diff --git a/packages/auto-drive/src/api/models/uploads.ts b/packages/auto-drive/src/api/models/uploads.ts index df4bf07b..dc1ad2b3 100644 --- a/packages/auto-drive/src/api/models/uploads.ts +++ b/packages/auto-drive/src/api/models/uploads.ts @@ -1,6 +1,5 @@ -import { CID, FileUploadOptions } from '@autonomys/auto-dag-data' import { z } from 'zod' -import { FolderTreeFolderSchema } from './folderTree.js' +import { FolderTreeFolderSchema } from './folderTree' export enum UploadType { FILE = 'file', @@ -28,6 +27,29 @@ export const fileUploadSchema = z.object({ oauthUserId: z.string(), }) +export enum CompressionAlgorithm { + ZLIB = 'ZLIB', +} +export interface CompressionOptions { + algorithm: CompressionAlgorithm + level?: number + chunkSize?: number +} + +export type FileUploadOptions = { + compression?: CompressionOptions + encryption?: EncryptionOptions +} + +export enum EncryptionAlgorithm { + AES_256_GCM = 'AES_256_GCM', +} + +export interface EncryptionOptions { + algorithm: EncryptionAlgorithm + chunkSize?: number +} + export type FileUpload = z.infer & { uploadOptions: FileUploadOptions | null } @@ -55,13 +77,13 @@ export type CompleteUploadResponse = { export type UploadFileStatus = { type: 'file' progress: number - cid?: CID + cid?: string } export type UploadFolderStatus = { type: 'folder' progress: number - cid?: CID + cid?: string } export type UploadChunksStatus = { diff --git a/packages/auto-drive/src/api/wrappers.ts b/packages/auto-drive/src/api/wrappers.ts index 46bacd5c..2a86d663 100644 --- a/packages/auto-drive/src/api/wrappers.ts +++ b/packages/auto-drive/src/api/wrappers.ts @@ -1,16 +1,9 @@ -import { - compressFile, - CompressionAlgorithm, - decompressFile, - decryptFile, - encryptFile, - EncryptionAlgorithm, - stringToCid, -} from '@autonomys/auto-dag-data' +import fs from 'fs' import mime from 'mime-types' -import { asyncByChunk, asyncFromStream, fileToIterable } from '../utils/async.js' -import { progressToPercentage } from '../utils/misc.js' -import { PromisedObservable } from '../utils/observable.js' +import { asyncByChunk, asyncFromStream, fileToIterable } from '../utils/async' +import { progressToPercentage } from '../utils/misc' +import { PromisedObservable } from '../utils/observable' + import { completeUpload, createFileUpload, @@ -19,11 +12,11 @@ import { downloadObject, getObjectMetadata, uploadFileChunk, -} from './calls/index.js' -import { AutoDriveApi } from './connection.js' -import { GenericFile } from './models/file.js' -import { constructFromInput, constructZipBlobFromTreeAndPaths } from './models/folderTree.js' -import { UploadChunksStatus, UploadFileStatus, UploadFolderStatus } from './models/uploads.js' +} from './calls/index' +import { AutoDriveApi } from './connection' +import { GenericFile } from './models/file' +import { constructFromInput, constructZipBlobFromTreeAndPaths } from './models/folderTree' +import { UploadChunksStatus, UploadFileStatus, UploadFolderStatus } from './models/uploads' export type UploadFileOptions = { password?: string @@ -75,6 +68,8 @@ export const uploadFileFromInput = ( uploadChunkSize?: number, ): PromisedObservable => { return new PromisedObservable(async (subscriber) => { + const { stringToCid, compressFile, CompressionAlgorithm, encryptFile, EncryptionAlgorithm } = + await import('@autonomys/auto-dag-data') let asyncIterable: AsyncIterable = fileToIterable(file) if (compression) { @@ -115,7 +110,7 @@ export const uploadFileFromInput = ( const result = await completeUpload(api, { uploadId: fileUpload.id }) - subscriber.next({ type: 'file', progress: 100, cid: stringToCid(result.cid) }) + subscriber.next({ type: 'file', progress: 100, cid: result.cid }) subscriber.complete() }) } @@ -144,6 +139,8 @@ export const uploadFile = ( uploadChunkSize?: number, ): PromisedObservable => { return new PromisedObservable(async (subscriber) => { + const { stringToCid, compressFile, CompressionAlgorithm, encryptFile, EncryptionAlgorithm } = + await import('@autonomys/auto-dag-data') let asyncIterable: AsyncIterable = file.read() if (compression) { @@ -184,7 +181,7 @@ export const uploadFile = ( const result = await completeUpload(api, { uploadId: fileUpload.id }) - subscriber.next({ type: 'file', progress: 100, cid: stringToCid(result.cid) }) + subscriber.next({ type: 'file', progress: 100, cid: result.cid }) subscriber.complete() }) } @@ -270,7 +267,7 @@ export const uploadFolderFromInput = async ( const result = await completeUpload(api, { uploadId: folderUpload.id }) - subscriber.next({ type: 'folder', progress: 100, cid: stringToCid(result.cid) }) + subscriber.next({ type: 'folder', progress: 100, cid: result.cid }) subscriber.complete() }) } @@ -321,6 +318,10 @@ export const downloadFile = async ( cid: string, password?: string, ): Promise> => { + const { decompressFile, CompressionAlgorithm, EncryptionAlgorithm, decryptFile } = await import( + '@autonomys/auto-dag-data' + ) + const metadata = await getObjectMetadata(api, { cid }) let iterable = asyncFromStream(await downloadObject(api, { cid })) diff --git a/packages/auto-drive/src/browser.ts b/packages/auto-drive/src/browser.ts index fbb252a8..ea6f5453 100644 --- a/packages/auto-drive/src/browser.ts +++ b/packages/auto-drive/src/browser.ts @@ -1,2 +1,2 @@ -export * from './api/index.js' -export * from './utils/index.js' +export * from './api/index' +export * from './utils/index' diff --git a/packages/auto-drive/src/fs/index.ts b/packages/auto-drive/src/fs/index.ts index 1619a291..437f2430 100644 --- a/packages/auto-drive/src/fs/index.ts +++ b/packages/auto-drive/src/fs/index.ts @@ -1,2 +1,2 @@ -export * from './utils.js' -export * from './wrappers.js' +export * from './utils' +export * from './wrappers' diff --git a/packages/auto-drive/src/fs/utils.ts b/packages/auto-drive/src/fs/utils.ts index 17ec1e8b..49d7aece 100644 --- a/packages/auto-drive/src/fs/utils.ts +++ b/packages/auto-drive/src/fs/utils.ts @@ -2,7 +2,7 @@ import { WriteStream, createReadStream } from 'fs' import fs from 'fs/promises' import JSZip from 'jszip' import path from 'path' -import { FolderTree, FolderTreeFolder } from '../api/models/folderTree.js' +import { FolderTree, FolderTreeFolder } from '../api/models/folderTree' export const getFiles = async (folderPath: string): Promise => { const stat = await fs.stat(folderPath) diff --git a/packages/auto-drive/src/fs/wrappers.ts b/packages/auto-drive/src/fs/wrappers.ts index 33ebbbbd..8c675bda 100644 --- a/packages/auto-drive/src/fs/wrappers.ts +++ b/packages/auto-drive/src/fs/wrappers.ts @@ -1,4 +1,3 @@ -import { CompressionAlgorithm, stringToCid } from '@autonomys/auto-dag-data' import fs from 'fs' import mime from 'mime-types' import { AutoDriveApi } from '../api/connection.js' @@ -101,6 +100,7 @@ export const uploadFolderFromFolderPath = async ( } return new PromisedObservable(async (subscriber) => { + const { CompressionAlgorithm } = await import('@autonomys/auto-dag-data') const folderUpload = await createFolderUpload(api, { fileTree, uploadOptions: { @@ -134,7 +134,7 @@ export const uploadFolderFromFolderPath = async ( const result = await completeUpload(api, { uploadId: folderUpload.id }) - subscriber.next({ type: 'folder', progress: 100, cid: stringToCid(result.cid) }) + subscriber.next({ type: 'folder', progress: 100, cid: result.cid }) subscriber.complete() }) } diff --git a/packages/auto-drive/src/utils/async.ts b/packages/auto-drive/src/utils/async.ts index 99afbabb..9c14f57a 100644 --- a/packages/auto-drive/src/utils/async.ts +++ b/packages/auto-drive/src/utils/async.ts @@ -1,3 +1,5 @@ +import { Buffer } from 'buffer' + export const asyncByChunk = async function* ( asyncIterable: AsyncIterable, chunkSize: number, diff --git a/packages/auto-drive/src/utils/index.ts b/packages/auto-drive/src/utils/index.ts index f67fed50..77a11717 100644 --- a/packages/auto-drive/src/utils/index.ts +++ b/packages/auto-drive/src/utils/index.ts @@ -1,2 +1,4 @@ -export * from './async.js' -export * from './types.js' +export * from './async' +export * from './misc' +export * from './observable' +export * from './types' diff --git a/packages/auto-drive/tsconfig.json b/packages/auto-drive/tsconfig.json index a6dcec7d..8505176d 100644 --- a/packages/auto-drive/tsconfig.json +++ b/packages/auto-drive/tsconfig.json @@ -3,8 +3,9 @@ "compilerOptions": { "outDir": "./dist", "rootDir": "./src/", - "moduleResolution": "NodeNext", - "module": "NodeNext", + "moduleResolution": "node16", + "module": "Node16", + "target": "es6", "forceConsistentCasingInFileNames": true, "skipLibCheck": true, "stripInternal": true, diff --git a/yarn.lock b/yarn.lock index 1aa98742..0abd10a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,7 +80,6 @@ __metadata: jszip: "npm:^3.10.1" mime-types: "npm:^2.1.35" process: "npm:^0.11.10" - rollup: "npm:^4.28.0" rollup-plugin-jscc: "npm:^2.0.0" rollup-plugin-terser: "npm:^7.0.2" rxjs: "npm:^7.8.1" @@ -2676,132 +2675,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.28.0" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-android-arm64@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-android-arm64@npm:4.28.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.28.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-x64@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.28.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-freebsd-arm64@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.28.0" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-freebsd-x64@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-freebsd-x64@npm:4.28.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-gnueabihf@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.28.0" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-musleabihf@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.28.0" - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-gnu@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.28.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.28.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.28.0" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-gnu@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.28.0" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-s390x-gnu@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.28.0" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-gnu@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.28.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-musl@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.28.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-win32-arm64-msvc@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.28.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-ia32-msvc@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.28.0" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@rollup/rollup-win32-x64-msvc@npm:4.28.0": - version: 4.28.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.28.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@rtsao/scc@npm:^1.1.0": version: 1.1.0 resolution: "@rtsao/scc@npm:1.1.0" @@ -3086,7 +2959,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:1.0.6, @types/estree@npm:^1.0.0": +"@types/estree@npm:*, @types/estree@npm:^1.0.0": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a @@ -11171,75 +11044,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.28.0": - version: 4.28.0 - resolution: "rollup@npm:4.28.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.28.0" - "@rollup/rollup-android-arm64": "npm:4.28.0" - "@rollup/rollup-darwin-arm64": "npm:4.28.0" - "@rollup/rollup-darwin-x64": "npm:4.28.0" - "@rollup/rollup-freebsd-arm64": "npm:4.28.0" - "@rollup/rollup-freebsd-x64": "npm:4.28.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.28.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.28.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.28.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.28.0" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.28.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.28.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.28.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.28.0" - "@rollup/rollup-linux-x64-musl": "npm:4.28.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.28.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.28.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.28.0" - "@types/estree": "npm:1.0.6" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-freebsd-arm64": - optional: true - "@rollup/rollup-freebsd-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10c0/98d3bc2b784eff71b997cfc2be97c00e2f100ee38adc2f8ada7b9b9ecbbc96937f667a6a247a45491807b3f2adef3c73d1f5df40d71771bff0c2d8c0cca9b369 - languageName: node - linkType: hard - "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1"