open-index/open-npm huggingface dataset:
npm package: @rokt33r/season
Description: CSON utilities
Latest version: 5.3.1

# season - CSON Node module [![Build Status](https://travis-ci.org/atom/season.svg?branch=master)](https://travis-ci.org/atom/season)

Read and write CSON/JSON files seamlessly.

## Installing

```sh
npm install season
```

## Building
  * Clone the repository
  * Run `npm install`
  * Run `grunt` to compile the CoffeeScript code
  * Run `grunt test` to run the specs

## Compiling CSON to JSON

This module comes with a `csonc` executable that allows you to compile a CSON
file to JSON.

To use:

```sh
npm install -g season
echo "this: 'is cson'" > file.cson
csonc file.cson --output file.json
cat file.json
{
  "this": "is cson"
}
```

## Docs

```coffeescript
CSON = require 'season'
```

### CSON.setCacheDir(cacheDirectory)

Set the cache directory to use for storing compiled CSON files.

`cacheDirectory` - Root directory path for storing compiled CSON.

### CSON.stringify(object)

Convert the object to a CSON string.

`object` - The object to convert to CSON.

Returns the CSON string representation of the given object.

### CSON.readFile(objectPath, callback)

Read the CSON or JSON object at the given path and return it to the callback
once it is read and parsed.

`objectPath` - The string path to a JSON or CSON object file.

`callback` - The function to call with the error or object once the path
             is read and parsed.

### CSON.readFileSync(objectPath)

Synchronous version of `CSON.readFile(objectPath, callback)`.

Returns the object read from the path or throws an error if reading fails.

### CSON.writeFile(objectPath, object, callback)

Write the object to the given path as either JSON or CSON depending on the
path's extension.

`objectPath` - The string path to a JSON or CSON object file.

`object` - The object to convert to a string and write to the path.

`callback` - The function to with an error object on failures.

### CSON.writeFileSync(objectPath, object)

Synchronous version of `CSON.writeFile(objectPath, object, callback)`

### CSON.isObjectPath(objectPath)

Is the given path a valid object path?

Returns `true` if the path has a `.json` or `.cson` file extension, `false`
otherwise.

### CSON.resolve(objectPath)

Resolve the path to an existent file that has a `.json` or `.cson` extension.

`objectPath` - The string path to a JSON or CSON object file with or without
               an extension.

Returns the path to an existent CSON or JSON file or `null` if none found.
npm package: @roku-ui/icons
Description: 这是一个 React 使用的图标库。利用了 [iconify]( https://iconify.design/) 的图标数据。你可以在 [icones](https://icones.js.org/) 浏览所有可用的图标。感谢这些库的作者的收集，让图标选择变得自由。
Latest version: 0.0.2

# ROKU-ICONS

这是一个 React 使用的图标库。利用了 [iconify]( https://iconify.design/) 的图标数据。你可以在 [icones](https://icones.js.org/) 浏览所有可用的图标。感谢这些库的作者的收集，让图标选择变得自由。

## 动机

目前 UnoCSS 和 Iconify 都已提供了图标解决方案，他们的优势是通用，不依赖于任何前端框架。但是如果我已经锁定了 React，这一优势便不复存在了。
而且，我们并没有完全摆脱框架锁定——比如 UnoCSS 虽然是框架无关的，但它的图标方案锁死了我们必须使用 UnoCSS。

此外，这些库需要拼接字符串来寻找图标。这样的方式其实不够优雅。我们需要打开一个图标库网页去获得字符串（或是添加一个IDE插件，又是一种锁定），而无法获得代码智能提示。

最后，虽然许多图标库也维护了 React 组件库，但他们的 API 各不相同，默认的设置（如图标大小）也不一致。

而这个库的优势是，我们直接将图标数据转换为 React 组件，这样就可以使用 IDE 的代码智能提示了。同时，所有的库具备相同的 API 和默认设置，让我们可以无缝在各种图标库之间切换。

## 安装

```bash
npm install @roku/icons-<prefix>
```

其中 `<prefix>` 是图标库的前缀，比如 `mdi`、`fa`、等。
npm package: @roku-ui/nuxt
Description: Nuxt module that auto-registers Roku UI Vue components with an `R` prefix.
Author: Jianqi Pan
Latest version: 0.31.0

# Roku UI Nuxt Module

Nuxt module that auto-registers Roku UI Vue components with an `R` prefix.

## Usage

```bash
pnpm add @roku-ui/nuxt @roku-ui/vue
```

```ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@roku-ui/nuxt'],
  rokuUi: {
    // Optional: customize the prefix
    prefix: 'R',
  },
})
```

If `@unocss/nuxt` is present, this module will automatically add `rokuPreset()` to the UnoCSS configuration, so you do not need to include it manually.
npm package: @roku-ui/vue
Description: Vue 3 component library for the Roku UI design system. Every component is written in TypeScript, themed by shared tokens, and works with UnoCSS for consistent light and dark schemes.
Author: Jianqi Pan
Latest version: 0.31.0

# Roku UI Vue

Vue 3 component library for the Roku UI design system. Every component is written in TypeScript, themed by shared tokens, and works with UnoCSS for consistent light and dark schemes.

## Installation

```bash
pnpm add @roku-ui/vue
# Optional: enable utility classes and theme tokens
pnpm add -D unocss @roku-ui/preset
```

## UnoCSS setup (recommended)

Add the Roku preset to your UnoCSS config and enable the Vite plugin so `virtual:uno.css` is generated:

```ts
import { rokuPreset } from '@roku-ui/preset'
// uno.config.ts
import { defineConfig } from 'unocss'

export default defineConfig({
  presets: [rokuPreset()],
})
```

```ts
import vue from '@vitejs/plugin-vue'
import Unocss from 'unocss/vite'
// vite.config.ts
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [vue(), Unocss()],
})
```

If you cannot run UnoCSS, import the prebuilt styles instead:

```ts
import '@roku-ui/vue/style.css'
```

## Basic usage

Wrap your app with `RokuProvider` to supply theme values and use components with the provided tokens such as `bg-base`, `text-default`, and `border-container`.

```vue
<script setup lang="ts">
import { Btn, RokuProvider } from '@roku-ui/vue'
</script>

<template>
  <RokuProvider :theme-obj="{ colors: { primary: '#0f6bff', surface: '#121212' } }">
    <div class="text-default bg-base border-container p-6 border rounded-lg">
      <h1 class="text-2xl font-semibold mb-4">
        Roku UI Vue
      </h1>
      <Btn color="primary">
        Get started
      </Btn>
    </div>
  </RokuProvider>
</template>
```

## Nuxt integration

Use the Nuxt module to auto-register components with the `R` prefix:

```bash
pnpm add @roku-ui/nuxt @roku-ui/vue
```

```ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@roku-ui/nuxt'],
  rokuUi: {
    // Optional: customize the prefix
    prefix: 'R',
  },
})
```

## Local development

- Install dependencies: `pnpm install`
- Start the component playground: `pnpm --filter @roku-ui/vue dev`
- Build the library: `pnpm --filter @roku-ui/vue build`
- Run unit tests: `pnpm --filter @roku-ui/vue test --run`
- Lint all packages: `pnpm lint`