open-index/open-npm huggingface dataset:
npm package: @filbert-js/autoprefixer
Description: > autoprefixer for filbert-js.
Author: Kuldeep Keshwar
Latest version: 0.0.6

# @filbert-js/autoprefixer

> autoprefixer for filbert-js.

## Install

```bash
yarn add @filbert-js/autoprefixer
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/browser-stylesheet
Description: > Browser StyleSheet for filbert-js
Author: Kuldeep Keshwar
Latest version: 0.0.10

# @filbert-js/browser-stylesheet

> Browser StyleSheet for filbert-js

## Install

```bash
yarn add @filbert-js/browser-stylesheet
```

## Usage

```jsx editor=static
import { createStylesheet } from '@filbert-js/browser-stylesheet';
import { StyleSheetProvider } from '@filbert-js/style-sheet-context';
import App from './App';

const stylesheet = createStylesheet();

<StyleSheetProvider stylesheet={stylesheet}>
  <App />
</StyleSheetProvider>;
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/core
Description: A light weight(~1KB) css-in-js solution(framework)🎨
Author: Kuldeep Keshwar
Latest version: 0.0.14

# @filbert-js/core

> A light weight(~1KB) css-in-js solution(framework)🎨.

## Install

```bash
yarn add @filbert-js/core
```

## Usage

```jsx editor=static
import React from 'react';
import { styled, Global } from '@filbert-js/core';

const Button = styled('button')`
  background: pink;
  border: solid 1px gray;
`;

render(
  <>
    <Button>This is a Button component.</Button>
    <Global
      styles={`
          .text {
            background: hotpink;
            padding: 1rem;
          }
        `}
    />
    <div className="text">I'm pink</div>
  </>,
);
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/css-ast
Description: > CSS to AST transformer for filbert-js.
Author: Kuldeep Keshwar
Latest version: 0.0.8

# @filbert-js/css-ast

> CSS to AST transformer for filbert-js.

## Install

```bash
yarn add @filbert-js/css-ast
```

```js editor=static
import { toAST } from '@filbert-js/css-ast';

const css = `
color: gray;
button {
    margin: 0 1rem;
    background: #1f368f;
    color: white;
    span {
        color: red;
    }
}
button,span {
    color: pink;
}
`;
const ast = toAST(css);
console.log(ast);
/**  
children: Array[2]
    0: Node
    1: Node
rules: Array[1]
    0: Object
name: "color"
value: "gray"
start: 0
end: 168
raw: "
  color: gray;
  button {
    margin: 0 1rem;
    background: #1f368f;
    color: white;
    span {
      color: red;
    }
  }
  button,
  span {
    color: pink;
  }
"
* */
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/css-parser
Description: > css parser for filbert-js.
Author: Kuldeep Keshwar
Latest version: 0.0.9

# @filbert-js/css-parser

> css parser for filbert-js.

## Install

```bash
yarn add @filbert-js/css-parser
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/macro
Description: babel plugin macro for filbert-js
Author: Kuldeep Keshwar
Latest version: 0.0.3

# @filbert-js/macro

A [Babel](https://babeljs.io/) macro for filbert, converts `styled.div` syntax to `styled('div')` calls.

## Install

`npm install --save @filbert-js/macro`

## How to use

```jsx editor=static
import React from 'react';
import { styled } from '@filbert-js/macro';

const Button = styled.button`
  margin: 0;
  padding: 1rem;
  font-size: 1rem;
  background-color: tomato;
`;
```
npm package: @filbert-js/server-stylesheet
Description: > A StyleSheet for server-side rendering
Author: Kuldeep Keshwar
Latest version: 0.0.10

# @filbert-js/server-stylesheet

> A StyleSheet for server-side rendering

## Install

```bash
yarn add @filbert-js/server-stylesheet
```

## Usage

```jsx editor=static
import { renderToString } from 'react-dom/server';
import { createStylesheet } from '@filbert-js/server-stylesheet';
import App from './App';

const sheet = createStylesheet();
const app = renderToString(sheet.collectStyles(<App />));
const styleHTML = sheet.getStyles();
// Or
// const styleTags = sheet.getReactElements(); // give React elements

const html = `
<html>
  <head>${styleHTML}</head>
  <body>
    <div id="app">${app}</div>
  </body>
</html>
`;
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/style-sheet-context
Description: > StyleSheet Context for filbert-js
Author: Kuldeep Keshwar
Latest version: 0.0.10

# @filbert-js/style-sheet-context

> StyleSheet Context for filbert-js

## Install

```bash
yarn add @filbert-js/style-sheet-context
```

## Usage

```jsx
import {
  StyleSheetProvider,
  StyleSheetContext,
} from '@filbert-js/style-sheet-context';
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/stylesheet
Description: > A StyleSheet for css-in-js libraries
Author: Kuldeep Keshwar
Latest version: 0.0.8

# @filbert-js/stylesheet

> A StyleSheet for css-in-js libraries

## Install

```bash
yarn add @filbert-js/stylesheet
```

## Usage

```jsx editor=static
import React from 'react';
import { StyleSheet } from '@filbert-js/stylesheet';
import { StyleSheetProvider } from '@filbert-js/style-sheet-context';

const stylesheet = new StyleSheet({
  getRoot,
  createElement,
  findElementByStyleId,
  cssParser,
});
render(
  <StyleSheetProvider stylesheet={stylesheet}>
    <App />
  </StyleSheetProvider>,
);
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @filbert-js/theming
Description: > theming for filbert-js
Author: Kuldeep Keshwar
Latest version: 0.0.7

# @filbert-js/theming

> theming for filbert-js

## Install

```bash
yarn add @filbert-js/theming
```

## Usage

```jsx editor=static
import React from 'react';
import { styled } from '@filbert-js/core';
import { ThemeProvider } from '@filbert-js/theming';
const Button = styled('button')`
  background: ${({ theme }) => theme.colors.brand};
  border: solid 1px gray;
`;
const theme = {
  colors: {
    brand: 'hotpink',
  },
};
render(
  <ThemeProvider theme={theme}>
    <Button>This is a Button component.</Button>
  </ThemeProvider>,
);
```

More documentation is available at https://filbert-js.vercel.app.
npm package: @file-cache/core
Description: A cache for file metadata or file content.
Author: azu
Latest version: 2.0.0

# @file-cache/core

A cache for file metadata or file content.

## Installation

```
npm install @file-cache/core
```

## Usage

```js
import { createCache } from '@file-cache/core';
// use metadata starategy to detect changes
const cache = await createCache({
    name: "your-tool-name",
    keys: [
        () => "test",
        () => "custom"
    ],
    mode: "metadata"
});
const filePath = path.resolve(__dirname, "./fixtures/f1.txt");
const result = await cache.getAndUpdateCache(filePath);
assert.deepStrictEqual(result, {
    changed: true,
    error: undefined
});
// write the updates to cache file
await cache.reconcile();
// re-get the file status
const result2 = await cache.getAndUpdateCache(filePath);
assert.deepStrictEqual(result2, {
    changed: false,
    error: undefined
});
```

You can disable cache by `noCache` options.

```js
import { createCache } from '@file-cache/core';
// use metadata starategy to detect changes
const cache = await createCache({
    name: "your-tool-name",
    keys: [
        () => "test",
        () => "custom"
    ],
    mode: "metadata",
    noCache: true,
});
const filePath = path.resolve(__dirname, "./fixtures/f1.txt");
const result = await cache.getAndUpdateCache(filePath);
assert.deepStrictEqual(result, {
    changed: true,
    error: undefined
});
await cache.reconcile();
// always, the result.changed is true
const result2 = await cache.getAndUpdateCache(filePath);
assert.deepStrictEqual(result2, {
    changed: true,
    error: undefined
});
```


### Options

```ts
export type CreateCacheOptions = {
    /**
     * The name of your tool
     */
    name: string;
    /**
     * - content: Using the hash value of file content
     *   - Slow but accurate
     * - metadata: Using the metadata of file
     *   - Fast but not accurate
     *   - It can not be used in CI env
     */
    mode: "content" | "metadata";
    /**
     * The key generators for cache file
     */
    keys: CreateCacheKeyGenerator[];
    /**
     * Custom cache directory.
     * Default: node_modules/.cache/<pkg-name>
     */
    cacheDirectory?: string;
};
```

## Tests

```
npm test
```

## Contributing

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## License

MIT
npm package: @file-cache/npm
Description: npm util for @file-cache
Author: azu
Latest version: 2.0.0

# @file-cache/npm

Create cache key that related npm package.

## Installation

    npm install @file-cache/npm

## Usage

```js
import { createCacheKey } from '@file-cache/npm';
createCacheKey(["@file-cache/npm"]); // cacche key 
```

## Tests

    npm test

## Contributing

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## License

MIT
npm package: @file-cache/package-lock
Description: package lock file for @file-cache
Author: azu
Latest version: 2.0.0

# @file-cache/package-lock

Create cache key that is based on lock file like `package-lock.json`.

## Supported Lock Files

- `package-lock.json`
- `yarn.lock`
- `pnpm-lock.yaml`
- `bun.lockb`

## Installation

    npm install @file-cache/package-lock

## Usage

```js
import { createPackageLockKey } from '@file-cache/npm';
const hash = createPackageLockKey(); // "package-lock.json__<hash>" 
```

## API

### createPackageLockKey(packageDir): string

Create cache key that is based on lock file like `package-lock.json`.
Search lock file from `rootDir`.

- Default `packageDir` is `process.cwd()`.

## Tests

    npm test

## Contributing

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## License

MIT
npm package: @file-conver/convers
Description: convers 提供了一些常用的 file-conver 转换器
Author: 郭斌勇
Latest version: 1.6.9

[教程]: ./doc/教程.md
[API接口文档]: ./doc/api/index.md

[GitHub仓库]: https://github.com/GuoBinyong/file-conver
[发行地址]: https://github.com/GuoBinyong/file-conver/releases
[issues]: https://github.com/GuoBinyong/file-conver/issues

[码云仓库]: https://gitee.com/guobinyong/file-conver



> 目录

- [1. 背景](#1-背景)
- [2. 简介](#2-简介)
- [3. 安装方式](#3-安装方式)
- [4. 教程](#4-教程)
- [5. API接口文档](#5-api接口文档)



# 1. 背景
当需要对旧项目进行改造，改造过程中需要很多重复的操作，比如：  
   将下面全局的模块使用方式：  
   ```js
   new Cesium.Cartesian3();
   ```
   改成成员导入方式：  
   ```js
   import {Cartesian3} from "cesium"
   new Cartesian3();
   ```
借助正则，这些都可以通过代码来操作。但对于不熟悉 Node 的同学，写一个批量处理这些文件的工具还是比较耗时的，优其只是偶尔用一下的时候。

所以，为了方便没有 Node 经验的同学能够快速实现自己的处理脚本，所以本工具就诞生了。
# 2. 简介
file-conver 用于批量处理文件，可自定义处理逻辑。它提供了遍历文件、读取文件 和 写入文件 的能力，提供了链式的自定义处理器逻辑，可以让用户方便的自定义 和 拆分 处理逻辑。并且支持一个文件转换成多个文件的机制。

**具有以下特性：**  
- 批量处理文件
- 链式的自定义处理逻辑，方便自定义 和 拆分处理逻辑
- 带有命令行工具，并且支持配置文件
- 支持一个文件转换成多个文件的机制
- 支持异步转换
- 支持 JSAPI 调用

**详情请看：**  
- 主页：<https://github.com/GuoBinyong/file-conver>
- [GitHub仓库][]
- [码云仓库][]
- [教程][]
- [API接口文档][]


**如果您在使用的过程中遇到了问题，或者有好的建议和想法，您都可以通过以下方式联系我，期待与您的交流：**
- 给该仓库提交 [issues][]
- 给我 Pull requests
- 邮箱：<guobinyong@qq.com>
- QQ：guobinyong@qq.com
- 微信：keyanzhe





# 3. 安装方式
通过 npm （或 yarn、pnpm 等包管理器）安装
```
npm install @file-conver/convers
```


# 4. 教程
详情跳转至[教程][]

# 5. API接口文档
详情跳转至[API接口文档][]



--------------------

> 有您的支持，我会在开源的道路上，越走越远

![赞赏码](https://i.loli.net/2020/04/08/PGsAEqdJCin1oQL.jpg)