open-index/open-npm huggingface dataset:
npm package: @loona/angular
Description: App State Management done with GraphQL (angular integration)
Author: Kamil Kisiela
Latest version: 1.0.0

<p align="center"><a href="https://loonajs.com"><img src="https://loonajs.com/img/logo-big.png" alt="Loona" height="70px"></a></p>

[![npm version](https://badge.fury.io/js/%40loona%2Fangular.svg)](https://npmjs.org/package/@loona/angular) [![CircleCI](https://circleci.com/gh/kamilkisiela/loona.svg?style=shield)](https://circleci.com/gh/kamilkisiela/loona)

**Loona is a state management library built on top of Apollo Angular.** It brings the simplicity of managing remote data with Apollo, to your local state. Instead of maintaining a second store for your local data with tools like Redux, MobX or NGRX, use Loona to **keep data in just one space and make it a single source of truth**.

With Loona you get all the benefits of Apollo, like caching, offline persistence and more. On top of that you gain all the other benefits like stream of actions, better sepatation between mutation and store updates.

Loona requires _no_ complex build setup to get up and running and works out of the box with both [Angular CLI](https://cli.angular.io/) (`ng add @loona/angular`) and [NativeScript](https://www.nativescript.org/) with a single install.

## Installation

It is simple to install Loona and related libraries

```bash
# installing Loona in Angular CLI
ng add @loona/angular

# or with yarn
yarn add @loona/angular
```

That’s it! You may now use Loona in any of your Angular environments.

For an amazing developer experience you may also install the [Apollo Client Developer tools for Chrome](https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm) which will give you inspectability into your remote and local data.

> Loona lives on top of Apollo Angular so you have to have it working in your application too!

## Documentation

All of the documentation for Loona including usage articles and helpful recipes lives on: [https://loonajs.com](https://loonajs.com)

## Contributing

This project uses Lerna.

Bootstraping:

```bash
yarn install
```

Running tests locally:

```bash
yarn test
```

Formatting code:

```bash
yarn format
```

This project uses TypeScript for static typing. You can get it built into your editor with no configuration by opening this project in [Visual Studio Code](https://code.visualstudio.com/), an open source IDE which is available for free on all platforms.
npm package: @loona/react
Description: App State Management done with GraphQL (react integration)
Author: Kamil Kisiela
Latest version: 1.0.0

<p align="center"><a href="https://loonajs.com"><img src="https://loonajs.com/img/logo-big.png" alt="Loona" height="70px"></a></p>

[![npm version](https://badge.fury.io/js/%40loona%2Freact.svg)](https://npmjs.org/package/@loona/react) [![CircleCI](https://circleci.com/gh/kamilkisiela/loona.svg?style=shield)](https://circleci.com/gh/kamilkisiela/loona)

**Loona is a state management library built on top of React Apollo.** It brings the simplicity of managing remote data with Apollo, to your local state. Instead of maintaining a second store for your local data with tools like Redux or MobX, use Loona to **keep data in just one space and make it a single source of truth**.

With Loona you get all the benefits of Apollo, like caching, offline persistence and more. On top of that you gain all the other benefits like stream of actions, better sepatation between mutation and store updates.

Loona requires _no_ complex build setup to get up and running and works out of the box with both [`create-react-app`](http://npmjs.com/package/create-react-app) and [ReactNative](https://facebook.github.io/react-native/) with a single install.

## Installation

It is simple to install Loona

```bash
yarn add @loona/react
```

That’s it! You may now use Loona in any of your React environments.

For an amazing developer experience you may also install the [Apollo Client Developer tools for Chrome](https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm) which will give you inspectability into your remote and local data.

> Loona lives on top of React Apollo so you have to have it working in your application too!

## Documentation

All of the documentation for Loona including usage articles and helpful recipes lives on: [https://loonajs.com](https://loonajs.com)

## Contributing

This project uses Lerna.

Bootstraping:

```bash
yarn install
```

Running tests locally:

```bash
yarn test
```

Formatting code:

```bash
yarn format
```

This project uses TypeScript for static typing. You can get it built into your editor with no configuration by opening this project in [Visual Studio Code](https://code.visualstudio.com/), an open source IDE which is available for free on all platforms.
npm package: @loonaorg/stylelint-config
Description: Loona's public stylelint configuration
Author: Loona
Latest version: 1.0.1

# stylelint-config-fk
Loona's public stylelint configuration

## usage

Run the following in your project directory to install:

```
yarn add stylelint stylelint-order stylelint-scss @loonaorg/stylelint-config --dev
```

In your package.json file, add:

```
"stylelint": {
    "extends": "@loonaorg/stylelint-config-fk"
}
```
npm package: @loong-js/babel-plugin-transform-loong
Description: Convert LSX file to JSX
Author: Shen Chang
Latest version: 0.0.8

# @loong-js/babel-plugin-transform-loong

Use Loong syntax to write react components.

`babel-plugin-transform-loong` is a plugin for babel which transpiles LSX syntax within template literals to JSX.

## 📦 Installation

```bash
npm install --save-dev babel-plugin-syntax-jsx @loong-js/babel-plugin-transform-loong
```

Add the following line to your .babelrc file:

```json
{
  "plugins": [
    "@babel/plugin-syntax-jsx",
    "@loong-js/babel-plugin-transform-loong"
  ]
}
```

## 🔨 Usage

LSX syntax is a simplified version of JSX syntax. There are some JS features in LSX that cannot be used, such as rendering functions, loops, ternary, etc.

### Condition

```jsx
<condition>
  <if condition={data > 1}>This condition 1</if>
  <elseif condition={data === 2}>This condition 2</elseif>
  <else>This condition 3</else>
</condition>
```

To

```jsx
<Condition>
  <Condition.If condition={data > 1}>This condition 1</Condition.If>
  <Condition.Elseif condition={data === 2}>This condition 2</Condition.Elseif>
  <Condition.Else>This condition 3</Condition.Else>
</Condition>
```

### Foreach

```jsx
<foreach iterable={data} variable="item,index">
  <div>
    {item.name}-{index}
  </div>
</foreach>
```

To

```jsx
<Foreach>
  {(item, index) => (
    <div>
      {item.name}-{index}
    </div>
  )}
</Foreach>
```

## Slot

```jsx
<Component>
  <slot name="prefix">
    <div>前缀</div>
  </slot>
  // After adding the rendering property, enable the rendering function
  <slot rendering name="renderPrefix" variable="value">
    <div>{value}前缀</div>
  </slot>
</Component>
```

To

```jsx
<Component
  prefix={<div>前缀</div>}
  renderPrefix={(value) => <div>{value}前缀</div>}
/>
```

## 🐛 Issues

If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/loong-js/babel-plugin-transform-loong/issues).

## 🏁 Changelog

Changes are tracked in the [CHANGELOG.md](https://github.com/loong-js/babel-plugin-transform-loong/blob/master/CHANGELOG.md).

## 📄 License

`babel-plugin-transform-loong` is available under the [MIT](https://github.com/loong-js/babel-plugin-transform-loong/blob/master/LICENSE) License.
npm package: @loong-js/babel-plugin-transform-typescript-metadata
Description: Babel plugin to emit decorator metadata like typescript compiler
Author: ShenChang
Latest version: 0.0.3

# @loong-js/babel-plugin-transform-typescript-metadata

Fork in [babel-plugin-transform-typescript-metadata](https://github.com/leonardfactory/babel-plugin-transform-typescript-metadata#readme)
npm package: @loong-js/components
Description: This is loong model
Author: Sam618
Latest version: 0.5.0

# @loong-js/components

This is loong components.

## 📦 Installation

```bash
npm install @loong-js/components
```

## 🔨 Usage

```javascript
import { Foreach, Condition } from "@loong-js/components";
```

## 🐛 Issues

If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/loong-js/loong/issues).

## 🏁 Changelog

Changes are tracked in the [CHANGELOG.md](https://github.com/loong-js/loong/blob/master/CHANGELOG.md).

## 📄 License

`@loong/components` is available under the [MIT](https://github.com/loong-js/loong/blob/master/LICENSE) License.
npm package: @loong-js/loong-loader
Description: This is lsx loader
Author: Shen Chang
Latest version: 0.0.1

# @loong-js/loong-loader

This is lsx loader.

## 📦 Installation

```bash
npm install --save-dev @loong-js/loong-loader
```

## 🔨 Usage

```javascript
const otherRules = [
  ...
];
const webpackOptions = {
  ...
  module: {
    rules: [
      {
        test: /\.jsx?/,
        exclude: /node_modules/,
        use: [
          // Parsing JSX requires putting Loong loader at the end
          '@loong-js/loong-loader',
          ...otherRules
        ],
      },
      {
        test: /\.lsx/,
        exclude: /node_modules/,
        use: [
          ...otherRules,
          // To parse LSX, you need to put Loong loader in the first place to convert it to the correct LSX format
          '@loong-js/loong-loader',
        ],
      },
    ],
  },
  ...
}
```

## 🐛 Issues

If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/loong-js/loong-loader/issues).

## 🏁 Changelog

Changes are tracked in the [CHANGELOG.md](https://github.com/loong-js/loong-loader/blob/master/CHANGELOG.md).

## 📄 License

`loong-loader` is available under the [MIT](https://github.com/loong-js/loong-loader/blob/master/LICENSE) License.
npm package: @loong-js/model
Description: This is loong model
Author: Sam618
Latest version: 0.5.0

# @loong-js/model

This is loong model.

## 📦 Installation

```bash
npm install @loong-js/model
```

## 🔨 Usage

```javascript
import { store } from "@loong-js/model";

class Global {
  @observable
  value = 1;

  @action
  addValue() {
    this.value += 1;
  }
}

@Component()
class Test {
  render() {
    const { global } = store.get();
    return (
      <div>
        value: {global.value}
        <button onClick={global.addValue}>Add</button>
      </div>
    );
  }
}
```

## 🐛 Issues

If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/loong-js/loong/issues).

## 🏁 Changelog

Changes are tracked in the [CHANGELOG.md](https://github.com/loong-js/loong/blob/master/CHANGELOG.md).

## 📄 License

`@loong/model` is available under the [MIT](https://github.com/loong-js/loong/blob/master/LICENSE) License.
npm package: @loong-js/router
Description: This is loong model
Author: Sam618
Latest version: 0.5.0

# @loong-js/router

This is loong router.

## 📦 Installation

```bash
npm install @loong-js/router
```

## 🔨 Usage

```javascript
import { configure } from "@loong-js/router";
```

## 🐛 Issues

If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/loong-js/loong/issues).

## 🏁 Changelog

Changes are tracked in the [CHANGELOG.md](https://github.com/loong-js/loong/blob/master/CHANGELOG.md).

## 📄 License

`@loong/router` is available under the [MIT](https://github.com/loong-js/loong/blob/master/LICENSE) License.
npm package: @loong-js/service
Description: This is loong service
Author: Sam618
Latest version: 0.5.0

# @loong-js/service

This is loong service.

## 📦 Installation

```bash
npm install @loong-js/service
```

## 🔨 Usage

```javascript
import { request, configure } from "@loong-js/service";

configure({
  middlewares: [
    async (ctx, next) => {
      console.log("anonymous before", ctx);
      await next();
      console.log("anonymous after", ctx);
    },
  ],
  requests: {
    "/api": {
      middlewares: [
        async (ctx, next) => {
          console.log("requests anonymous before", ctx);
          try {
            await next();
          } catch (error) {
            console.log([error]);
          }
          if (ctx.response.status !== 200) {
            throw new Error("错误");
          }
          console.log("requests anonymous after", ctx);
        },
      ],
    },
  },
});

async function getUser() {
  const result = await request("/api/user1", {
    // baseUrl: "https://www.xxx1.com",
    data: 1,
    timeout: 3000,
    ingoreError: true,
  });
  console.log(result);
}

getUser();
```

## 🐛 Issues

If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/loong-js/loong/issues).

## 🏁 Changelog

Changes are tracked in the [CHANGELOG.md](https://github.com/loong-js/loong/blob/master/CHANGELOG.md).

## 📄 License

`@loong/service` is available under the [MIT](https://github.com/loong-js/loong/blob/master/LICENSE) License.
npm package: @loongdotjs/dmg-builder
Description: Utilities to build DMG. Used by [electron-builder](https://github.com/electron-userland/electron-builder).
Author: Vladimir Krivosheev
Latest version: 26.8.2-loong1

# dmg-builder

Utilities to build DMG. Used by [electron-builder](https://github.com/electron-userland/electron-builder).
npm package: @loongdotjs/electron-builder-squirrel-windows
Description: Plugin for [electron-builder](https://github.com/electron-userland/electron-builder) to build Squirrel.Windows installer.
Author: Vladimir Krivosheev
Latest version: 26.8.2-loong1

# electron-builder-squirrel-windows

Plugin for [electron-builder](https://github.com/electron-userland/electron-builder) to build Squirrel.Windows installer.
npm package: @loongdotjs/electron-publish
Description: Part of [electron-builder](https://github.com/electron-userland/electron-builder).
Author: Vladimir Krivosheev
Latest version: 26.8.1-loong1

# electron-publish

Part of [electron-builder](https://github.com/electron-userland/electron-builder).

See the [Publishing Artifacts](https://www.electron.build/publish) for more information.

Can be used standalone.