open-index/open-npm huggingface dataset:
npm package: @rabi_roshan/react-feature-flipper
Description: Effortlessly manage feature flags in React. Simplify flag distribution and control across your application.
Author: Rabi Roshan
Latest version: 1.0.6

# react-feature-flipper

Effortlessly manage feature flags in React. `react-feature-flipper` simplifies flag distribution and control across your application, providing an intuitive and efficient solution for feature toggling.

## Features

- **Easy Integration**: Seamlessly integrates with any React project.
- **Dynamic Flag Management**: Allows for flexible and dynamic control of feature visibility within your application.
- **Context-Based**: Utilizes React's context API for efficient flag state management.
- **Custom Hooks**: Provides `useFlags` hook for easy access to flag state and control within components.

## Installation

```bash
npm install @rabi_roshan/react-feature-flipper
```

Or

```bash
yarn add @rabi_roshan/react-feature-flipper
```

## Usage

### Basic Usage

```jsx
import React from "react";
import { FlagsProvider, Flipper } from "@rabi_roshan/react-feature-flipper";

const App = () => {
  return (
    <FlagsProvider flags={{ feature1: true }}>
      <Flipper authorizedFlags={["feature1"]}>
        <div>Feature 1 is active!</div>
      </Flipper>
    </FlagsProvider>
  );
};

export default App;
```

### Advanced Usage

#### Using `useFlags` Hook

```jsx
import React from "react";
import { useFlags, FlagsProvider } from "@rabi_roshan/react-feature-flipper";

const MyComponent = () => {
  const { flags, setFlags } = useFlags();

  // Example usage of the flags
  return (
    <div>
      {flags.feature1 && <p>Feature 1 is active!</p>}
      <button onClick={() => setFlags({ ...flags, feature1: !flags.feature1 })}>
        Toggle Feature 1
      </button>
    </div>
  );
};

const App = () => (
  <FlagsProvider flags={{ feature1: false }}>
    <MyComponent />
  </FlagsProvider>
);

export default App;
```

#### Using `requireAllFlags`

By default, `Flipper` checks if at least one of the `authorizedFlags` is true. Use `requireAllFlags` to render content only if all specified flags are true.

```jsx
<Flipper authorizedFlags={["feature1", "feature2"]} requireAllFlags>
  <div>All required features are active!</div>
</Flipper>
```

#### Using `onNoMatchRender`

Customize rendering when the flag conditions aren't met using `onNoMatchRender`. It provides arrays of matched and unmatched flags.

```jsx
<Flipper
  authorizedFlags={["feature1"]}
  onNoMatchRender={(matched, unmatched) => (
    <div>Feature 1 is not active. Unmatched Flags: {unmatched.join(", ")}</div>
  )}
>
  <div>Feature 1 is active!</div>
</Flipper>
```

#### Using `onMatchRender`

Define custom rendering for when flag conditions are met with `onMatchRender`. Note that `onMatchRender` is mutually exclusive with `children`.

```jsx
<Flipper
  authorizedFlags={["feature1"]}
  onMatchRender={(matched, unmatched) => (
    <div>
      Feature 1 is active and custom rendered! Matched Flags:{" "}
      {matched.join(", ")}
    </div>
  )}
/>
```

## License

`react-feature-flipper` is [MIT licensed](./LICENSE).
npm package: @rabisco/eslint-config
Description: Configuração eslint com prettier
Latest version: 1.0.2

# Rabisco ESLint config

## Plugins

- Standard config base;
- React plugin;
- React Hooks plugin;
- JSX a11y plugin;
- Prettier;

## Instruções

### React (com Next.js)

Install:
```
npm i -D @rabisco/eslint-config
```
Adiciona em: `.eslintrc.json`
```
{
  "extends": [
    "@rabisco/eslint-config/next", 
    "next/core-web-vitals"
  ]
}
```

### React

Install:
```
npm i -D @rabisco/eslint-config
```
Adiciona em: `.eslintrc.json`
```
{
  "extends": "@rabisco/eslint-config/react"
}
```

### Node.js

Install:
```
npm i -D @rabisco/eslint-config
```
Adiciona em: `.eslintrc.json`
```
{
  "extends": "@rabisco/eslint-config/node"
}
```
npm package: @rabits/tsconfig
Description: Rabits' base TSConfig
Author: Rabits Studio
Latest version: 0.2.2

# Rabits TSConfig

A collection of [Rabits](https://rabits.dev) TypeScript configuration files designed to enforce the strictest possible type checking.

## Installation

```sh
pnpm add -D -E @rabits/tsconfig typescript
```

## Usage

`tsconfig.json`:

```json
{
  "extends": ["@rabits/tsconfig/<preset>"],
  "compilerOptions": {
    // Your own configurations.
  }
}
```

### Available Presets

| Preset | Usage                                 |
| ------ | ------------------------------------- |
| base   | Base config shared across all presets |
| react  | React app (vite / nextjs)             |
| node   | Node.js app (node / ts-node)          |
| tsx    | Node.js app (tsx)                     |

## Recommendations

### Next.js

```json
{
  "extends": ["@rabits/tsconfig/react"],
  "compilerOptions": {
    "target": "ES2017",
    "plugins": [{ "name": "next" }],
    "paths": { "@/*": ["./*"] }
  },
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
  "exclude": ["node_modules"]
}
```

### Hono + TSX

```json
{
  "extends": ["@rabits/tsconfig/tsx"],
  "compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "hono/jsx"
  },
  "include": ["**/*.ts"],
  "exclude": ["node_modules"]
}
```

## Credits

Development of `@rabits/tsconfig` was inspired by the following open-source projects.\
Sincere thanks to their authors and contributors.

- [`@fullstacksjs/tsconfig`](https://github.com/fullstacksjs/tsconfig) ([Website](https://fullstacksjs.com/en))
- [`@tsconfig/*`](https://github.com/tsconfig/bases)
npm package: @rabjs/service
Description: 响应式状态库核心
Author: ximing
Latest version: 9.0.5

# @rabjs/rs-core

响应式状态库核心

## 开发

```bash
# 开发模式
pnpm dev

# 构建
pnpm build

# 测试
pnpm test

# 测试覆盖率
pnpm test:coverage
```

## License

MIT
npm package: @rabjs/typedi
Description: Dependency injection for TypeScript.
Author: TypeStack contributors
Latest version: 0.10.4

# TypeDI

![Build Status](https://github.com/ximing/typedi/workflows/CI/badge.svg)
[![codecov](https://codecov.io/gh/ximing/typedi/branch/develop/graph/badge.svg)](https://codecov.io/gh/ximing/typedi)
[![npm version](https://badge.fury.io/js/%40rabjs%2Ftypedi.svg)](https://badge.fury.io/js/%40rabjs%2Ftypedi)

TypeDI is a [dependency injection](https://en.wikipedia.org/wiki/Dependency_injection) tool for TypeScript and JavaScript. With it you can build well-structured and easily testable applications in Node or in the browser.

Main features includes:

- property based injection
- constructor based injection
- singleton and transient services
- support for multiple DI containers

## Installation

> Note: This installation guide is for usage with TypeScript, if you wish to use
> TypeDI without Typescript please read the documentation about how get started.

To start using TypeDI install the required packages via NPM:

```bash
npm install typedi reflect-metadata
```

Import the `reflect-metadata` package at the **first line** of your application:

```ts
import 'reflect-metadata';

// Your other imports and initialization code
// comes here after you imported the reflect-metadata package!
```

As a last step, you need to enable emitting decorator metadata in your Typescript config. Add these two lines to your `tsconfig.json` file under the `compilerOptions` key:

```json
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
```

Now you are ready to use TypeDI with Typescript!

## Basic Usage

```ts
import { Container, Service } from 'typedi';

@Service()
class ExampleInjectedService {
  printMessage() {
    console.log('I am alive!');
  }
}

@Service()
class ExampleService {
  constructor(
    // because we annotated ExampleInjectedService with the @Service()
    // decorator TypeDI will automatically inject an instance of
    // ExampleInjectedService here when the ExampleService class is requested
    // from TypeDI.
    public injectedService: ExampleInjectedService,
  ) {}
}

const serviceInstance = Container.get(ExampleService);
// we request an instance of ExampleService from TypeDI

serviceInstance.injectedService.printMessage();
// logs "I am alive!" to the console
```

## Documentation

The detailed usage guide and API documentation for the project can be found:

- at [docs.typestack.community/typedi][docs-stable]
- in the `./docs` folder of the repository

[docs-stable]: https://docs.typestack.community/typedi/
[docs-development]: https://docs.typestack.community/typedi/v/develop/

## Contributing

Please read our [contributing guidelines](./CONTRIBUTING.md) to get started.