open-index/open-npm huggingface dataset:
npm package: @rock-js/platform-apple-helpers
Description: Shared utilities and helpers for Apple platforms (iOS/macOS/tvOS/visionOS) in Rock
Author: Callstack
Latest version: 0.13.0

# @rock-js/platform-apple-helpers

Internal utilities for Apple platform integration in Rock. This package is part of the Rock ecosystem and provides shared functionality for iOS and other Apple platforms.

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock-js/platform-harmony
Description: HarmonyOS Next platform integration for Rock. This package is part of the Rock ecosystem and provides HarmonyOS-specific build and development tools.
Author: Callstack
Latest version: 0.13.0

# @rock-js/platform-harmony

HarmonyOS Next platform integration for Rock. This package is part of the Rock ecosystem and provides HarmonyOS-specific build and development tools.

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock-js/plugin-brownfield-android
Description: Plugin for integrating Rock projects with existing Android apps
Author: Callstack
Latest version: 0.13.0

# @rock-js/plugin-brownfield-android

Android brownfield integration plugin for Rock. This package is part of the Rock ecosystem and provides tools for integrating React Native into existing Android applications.

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock-js/plugin-brownfield-ios
Description: Plugin for integrating Rock projects with existing iOS apps
Author: Callstack
Latest version: 0.13.0

# @rock-js/plugin-brownfield-ios

iOS brownfield integration plugin for Rock. This package is part of the Rock ecosystem and provides tools for integrating React Native into existing iOS applications.

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock-js/plugin-expo-config-plugins
Description: Expo Config Plugins and CNG integration plugin for Rock. This package is part of the Rock ecosystem and provides tools for regenerating the native directories and applying config plugins.
Author: Callstack
Latest version: 0.13.0

# @rock-js/plugin-expo-config-plugins

Expo Config Plugins and CNG integration plugin for Rock. This package is part of the Rock ecosystem and provides tools for regenerating the native directories and applying config plugins.

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock-js/plugin-metro
Description: Metro bundler integration plugin for Rock
Author: Callstack
Latest version: 0.13.0

# @rock-js/plugin-metro

Metro bundler integration plugin for Rock. This package is part of the Rock ecosystem and provides integration with Metro, the default JavaScript bundler for React Native.

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock-js/plugin-repack
Description: Re.Pack bundler integration plugin for Rock
Author: Callstack
Latest version: 0.13.0

# @rock-js/plugin-repack

Re.Pack integration plugin for Rock. This package is part of the Rock ecosystem and provides integration with [Re.Pack](https://re-pack.dev), a toolkit for building React Native apps with webpack or Rspack.

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock-js/provider-s3
Description: AWS S3 (and Cloudflare R2) provider for Rock Remote Build Cache
Author: Callstack
Latest version: 0.13.0

# @rock-js/provider-s3

AWS S3 remote cache provider for Rock. This package is part of the Rock ecosystem.

## Features

- Compatible with AWS S3 and Cloudflare R2
- Supports custom endpoints for self-hosted S3-compatible storage
- Secure credential handling

## Configuration

The provider accepts the following configuration options:

```typescript
type ProviderConfig = {
  /**
   * Optional endpoint, necessary for self-hosted S3 servers or Cloudflare R2 integration
   */
  endpoint?: string;
  /**
   * The bucket name to use for the S3 server
   */
  bucket: string;
  /**
   * The region of the S3 server
   */
  region: string;
  /**
   * The access key ID for the S3 server
   */
  accessKeyId: string;
  /**
   * The secret access key for the S3 server
   */
  secretAccessKey: string;
  /**
   * The directory to store artifacts in the S3 server.
   */
  directory?: string;
  /**
   * The display name of the provider
   */
  name?: string;
  /**
   * The time in seconds for the presigned URL to expire. By default, it is 24 hours.
   */
  linkExpirationTime?: number;
  /**
   * If true, the provider will not sign requests and will try to access the S3 bucket without authentication.
   */
  publicAccess?: boolean;
  /**
   * ACL (Access Control List) to use for uploaded objects
   */
  acl?: clientS3.ObjectCannedACL;
};
```

## Usage Examples

### AWS S3

```ts
// rock.config.mjs
import { providerS3 } from '@rock-js/provider-s3';

export default {
  // ...
  remoteCacheProvider: providerS3({
    bucket: 'your-bucket',
    region: 'your-region',
    accessKeyId: 'access-key',
    secretAccessKey: 'secret-key',
  }),
};
```

### Cloudflare R2

```ts
// rock.config.mjs
import { providerS3 } from '@rock-js/provider-s3';

export default {
  // ...
  remoteCacheProvider: providerS3({
    name: 'R2' // optional to display R2 instead of S3
    endpoint: 'https://${ACCOUNT_ID}.r2.cloudflarestorage.com',
    bucket: 'your-bucket',
    region: 'your-region',
    accessKeyId: 'access-key',
    secretAccessKey: 'secret-key',
  }),
};
```

### Public S3 Bucket

```ts
// rock.config.mjs
import { providerS3 } from '@rock-js/provider-s3';

export default {
  // ...
  remoteCacheProvider: providerS3({
    bucket: 'your-public-bucket',
    region: 'your-region',
    publicAccess: true, // Access public bucket without authentication
  }),
};
```

## Documentation

For detailed documentation about Rock and its tools, visit [Rock Documentation](https://rockjs.dev)
npm package: @rock.chen/icms-components
Description: A React component library for building modern UIs with Tailwind CSS
Author: rock.chen
Latest version: 0.1.0

# @icms/components

轻量的 Next.js UI 组件库脚手架（TypeScript + Tailwind），用于内部 CMS 快速搭站。

快速开始

1. 安装依赖（在库目录）:

```bash
npm install
```

2. 本地开发（watch 构建）:

```bash
npm run dev
```

3. 打包（会输出到 `dist/`）:

```bash
npm run build
```

在 Next.js 项目中使用

服务端渲染组件（Server Component，直接在 `app` 目录中可直接导入）:

```tsx
import { SsrCard } from '@icms/components';

export default function Page(){
  return <SsrCard title="服务端卡片">服务端渲染内容</SsrCard>
}
```

客户端组件（Client Component，需要在客户端使用）:

```tsx
import { ClientButton } from '@icms/components';

export default function Page(){
  return <ClientButton initial={0} label="点赞" />
}
```

引入样式

如果你希望使用组件库自带的样式（`dist/styles.css`），在你的 Next.js 项目中可以按需引入：

- 使用 App Router (`app/layout.tsx`)：

```tsx
import './globals.css'; // 你的全局样式（可保留）
import '@icms/components/dist/styles.css';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return <html lang="zh-CN"><body>{children}</body></html>;
}
```

- 使用 Pages Router (`pages/_app.tsx`)：

```tsx
import '../styles/globals.css';
import '@icms/components/dist/styles.css';

export default function MyApp({ Component, pageProps }) {
  return <Component {...pageProps} />
}
```

说明：如果你在项目中已启用 Tailwind，并希望统一使用同一套 Tailwind 编译配置，建议在宿主项目中直接引入组件的原子类并把组件样式纳入宿主 Tailwind 的 `content` 扫描范围，或在发布包时使用 `dist/styles.css`（库已提供）。

发布到 npm

1. 确认 `package.json` 中 `name`、`version`、`publishConfig` 正确。
2. 登录 `npm login`。
3. 运行 `npm publish`。
npm package: @rocka/mp3-duration
Description: Get the duration of an MP3 file
Author: Han de Boer
Latest version: 2.0.0

# mp3-duration ![Travis-Build](https://travis-ci.org/ddsol/mp3-duration.svg?branch=master)

> Calculate duration of an MP3

## Install

```sh
npm install mp3-duration
```

## Usage

1. JavaScript

```javascript
var mp3Duration = require('@rocka/mp3-duration');

mp3Duration('file.mp3').then(duration => {
  console.log(`Your file is ${duration} seconds long`);
}).catch(e => {
  console.err(e);
});
```

2. TypeScript

```typescript
import mp3Duration = require('@rocka/mp3-duration');

mp3Duration('file.mp3').then(duration => {
  console.log(`Your file is ${duration} seconds long`);
}).catch(e => {
  console.err(e);
});
```

## API

## mp3Duration(filePathOrBuffer [, cbrEstimate])

### filePathOrBuffer

Type: `string | Buffer`

Path to the file or a buffer with the file's contents

### cbrEstimate

Type: `boolean`

Defaults to `false`. When set to `true`, will estimate the length of a
constant-bitrate mp3. This speeds up the calculation a lot but isn't
guaranteed to be accurate.

### Return value

`mp3Duration` returns a Promise that resolves to the duration of the mp3 in `second` or rejects with some error.

## License

MIT © Han de Boer