open-index/open-npm huggingface dataset:
npm package: @julmot/form-components
Description: Custom Form Components. Without Any Framework. Accessible.
Author: Julian Kühnel
Latest version: 1.1.4

# Form Components

> Custom Form Components. Without Any Framework. Accessible.

[![Build Status](https://img.shields.io/travis/julmot/form-components/master.svg)](https://travis-ci.org/julmot/form-components)
[![npm Version](https://img.shields.io/npm/v/@julmot/form-components.svg)](https://www.npmjs.com/package/@julmot/form-components)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/julmot/form-components/master/LICENSE)

## Further Information

**Please view the [website](https://form-components.io/) for documentation and further information!**

## Contributing

See the [contribution guidelines](./CONTRIBUTING.md).

## Changelog

Changes are documented in [release](https://github.com/julmot/form-components/releases) descriptions.
npm package: @julmot/git-branch-deploy
Description: Git Branch Deployment
Author: Julian Kühnel
Latest version: 1.0.1

# Git Branch Deploy

A Node.js tool to deploy build artifacts to a GitHub branch using a Git commit.

## Installation

```bash
$ npm i @julmot/git-branch-deploy
```

## Deployment

```javascript
const deploy = require('@julmot/git-branch-deploy');

deploy({
  branch: 'website', // Name of the target branch
  sourceDir: `${__dirname}/library/`, // Folder where the build artifacts are located
  deployDir: `${__dirname}/deploy/`, // Build folder where the GitHub repository can be cloned to
  gitName: process.env.GIT_USER_NAME, // The name that should appear in the Git commit
  gitEmail: process.env.GIT_USER_EMAIL, // The e-mail address to use in the Git commit
  ghRepository: process.env.GITHUB_REPOSITORY, // The GitHub repository URL, e.g. https://github.com/julmot/git-branch-deploy
  ghUser: process.env.GITHUB_USERNAME, // The GitHub username of the account with which the commit should be pushed
  ghToken: process.env.GITHUB_TOKEN, // A GitHub private access key of the account with which the commit should be pushed
  travis: true // Makes sure the deployment only succeeds when running on Travis CI
});
```

The above mentioned values are the default values, except:

* `branch`
* `sourceDir`
* `deployDir`

which must be provided (no default values). So, the minimal example would be:

```javascript
deploy({
  branch: 'website',
  sourceDir: `${__dirname}/library/`,
  deployDir: `${__dirname}/deploy/`
});
```

__NOTE__: Make sure that the target branch in the repository exists on GitHub. To create an empty branch you can use [these instructions](https://stackoverflow.com/a/13969482/3894981).
npm package: @juln/curl-to-json
Description: Convert curl format to json
Author: rony
Latest version: 1.0.6


# curl-to-json
## Install
```
npm i @bany/curl-to-json
```
## Usage

```js
const parse = require('@bany/curl-to-json');

var out = parse(`your_curl`);

```
## Example
```js
const parse = require('@bany/curl-to-json');

var out = parse(`curl -X GET 'http://localhost:3001/search?search=react&asdfa=asfdaf' \
--header 'xapi-key: 21432139847290402402190' \
--header 'Content-Type: text/html' \
--data-raw '{
    "name": "string",
    "name2": "string"
}'`);
console.log(out)

/**
 {
  method: 'GET',
  header: {
    'xapi-key': '21432139847290402402190',
    'Content-Type': 'text/html'
  },
  url: 'http://localhost:3001/search',
  origin: 'http://localhost:3001',
  params: { search: 'react', asdfa: 'asfdaf' },
  body: { name: 'string', name2: 'string' }
} */
```

## CURL
- [Check this gist](https://gist.github.com/subfuzion/08c5d85437d5d4f00e58)
- Accept curl from Postman.
## Contributing

If you want to colaborate check the project's issues.

1. Fork the repository
2. Create a new branch
3. Implement your solution
4. Commit
5. Open a Pull Request

Thanks!
npm package: @juln/next-with-less
Description: Next.js + Less CSS Support
Author: juln
Latest version: 0.0.1

# `@juln/next-with-less`

> [Next.js](https://nextjs.org/) + [Less CSS](https://lesscss.org/) Support

Next.js supports SASS/SCSS, but not Less. This plugin adds Less support by duplicating SASS webpack rules and adding support for `.less` files with `less-loader`.
It mimics the exact behavior of CSS extraction/css-modules/errors/client/server of SASS.

⚠️ _**Use with caution - Next.js implementation can chance in any version, and the monkey patching may not work anymore.**_

Tested with `next@11.0.1` (with webpack5), `next@12.0.7`, and `antd@4.15.x`.

## Install

```sh
yarn add @juln/next-with-less

npm i @juln/next-with-less
```

Peer dependencies to install: `less` `less-loader`.

## Usage

```js
// next.config.js
const withLess = require("@juln/next-with-less");

module.exports = withLess({
  // 加在less-loader后面的loader
  prependRules: [
    {
      loader: 'style-resources-loader',
      options: {
        patterns: [
          path.resolve(__dirname,'./styles/common.less'),
        ],
      },
    },
    // ...
  ],
  lessLoaderOptions: {
    /* ... */
  },
});
```

You can see all the options available to `less-loader` [here](https://webpack.js.org/loaders/less-loader/#options).

### Usage with [`next-compose-plugins`](https://github.com/cyrilwanner/next-compose-plugins)

```js
// next.config.js
const withPlugins = require("next-compose-plugins");

const withLess = require("@juln/next-with-less");

const plugins = [
  /* ...other plugins... */
  [withLess, {
    lessLoaderOptions: {
      /* ... */
    },
  }],
  /* ...other plugins... */
];

module.exports = withPlugins(plugins, {
  /* ... */
});
```

### Customize `antd` theme

To override some of `antd` [default variables](https://ant.design/docs/react/customize-theme), just add them under `lessLoaderOptions.lessOptions.modifyVars`:

```js
// next.config.js
const withLess = require("@juln/next-with-less");

module.exports = withLess({
  lessLoaderOptions: {
    /* ... */
    lessOptions: {
      /* ... */
      modifyVars: {
        "primary-color": "#9900FF",
        "border-radius-base": "2px",
        /* ... */
      },
    },
  },
});
```

As an alternative, the same can be achieved using the `additionalData` option.
Put your variables in a file, like:

```less
@primary-color: #9900ff;
@border-radius-base: 2px;
```

and then pass it to `less-loader` using `additionalData`:

```js
// next.config.js
const withLess = require("next-with-less");
const path = require("path");

const pathToLessFileWithVariables = path.resolve(
  "your-file-with-antd-variables.less"
);

module.exports = withLess({
  lessLoaderOptions: {
    /* ... */
    additionalData: (content) =>
      `${content}\n\n@import '${pathToLessFileWithVariables}';`,
  },
});
```

---

*There's an [existing PR](https://github.com/vercel/next.js/pull/23185) trying to add built in Less support for Next, but currently it's not likely to be merged.*
npm package: @juln/rollup-plugin-node-polyfills
Description: rollup-plugin-node-polyfills ===
Latest version: 0.2.1

rollup-plugin-node-polyfills
===

```
npm install --save-dev rollup-plugin-node-polyfills
```

Allows the node builtins to be `require`d/`import`ed.

The following modules include ES6 specific version which allow you to do named imports in addition to the default import and should work fine if you only use this plugin.

- process*
- events
- stream*
- util*
- path
- buffer*
- querystring
- url*
- string_decoder*
- punycode
- http*†
- https*†
- os*
- assert*
- constants
- timers*
- console*‡
- vm*§
- zlib*
- tty
- domain
- dns∆
- dgram∆
- child_process∆
- cluster∆
- module∆
- net∆
- readline∆
- repl∆
- tls∆
- fs˚
- crypto˚


† the http and https modules are actually the same and don't differentiate based on protocol

‡ default export only, because it's console, seriously just use the global

§ vm does not have all corner cases and has less of them in a web worker

∆ not shimmed, just returns mock

˚ optional, add option to enable browserified shim

Crypto is not shimmed and and we just provide the commonjs one from browserify  and it will likely not work, if you really want it please pass `{crypto: true}` as an option.

Not all included modules rollup equally, streams (and by extension anything that requires it like http) are a mess of circular references that are pretty much impossible to tree-shake out, similarly url methods are actually a shortcut to a url object so those methods don't tree shake out very well, punycode, path, querystring, events, util, and process tree shake very well especially if you do named imports.

config for using this with something simple like events or querystring

```js
import nodePolyfills from 'rollup-plugin-node-polyfills';
rollup({
  entry: 'main.js',
  plugins: [
    nodePolyfills()
  ]
})
```

and now if main contains this, it should just work

```js
import EventEmitter from 'events';
import {inherits} from 'util';

// etc
```

Config for something more complicated like http

```js
import nodePolyfills from 'rollup-plugin-node-polyfills';
rollup({
  entry: 'main.js',
  plugins: [
    nodePolyfills()
  ]
})
```

License
===

MIT except ES6 ports of browserify modules which are whatever the original library was.
npm package: @julong/checker
Description: This is ...
Author: julong
Latest version: 1.0.5

# title

This is a tool for code inspection, testing, and message submission.

Support the following files

- .jsx,.js,.ts,.tsx,.mjs,.cjs
- .css,.stylus,.styl,.scss,.sass
- .md
- .html



## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
- [Maintainers](#maintainers)
- [Thanks](#thanks)
- [Contributing](#contributing)
- [License](#license)



## Installation

```sh
# local
npm install --save-dev @julong/checker
# global
npm install -g @julong/checker
```



## Usage

### step1. setting git hook

```sh
npm install husky
npx husky add .husky/commit-msg 'npx jcheck commitlint'
npx husky add .husky/pre-commit 'npx jcheck default'
```



### step2. jcheck.config.js(Can be omitted)

```js
// jcheck.config.js
module.exports = {
  tsc: true,
  test: true,
  eslint: true,
  stylelint: true,
  markdownlint: true,
  htmlhint: true,
};
```



## CLI Command

```sh
$ npx jcheck default
```

- default
- all
- fix
- tsc
- test
- testCoverage
- testOnlyChange
- eslint
- eslintFix
- stylelint
- stylelintFix
- htmlhint
- markdownlint
- markdownlintFix
- commitlint



## Maintainers

JuLong - [jl917](https://github.com/jl917)



## Contributing

Anyone is welcome to participate in the maintenance and development of this project, and can also submit Issues and PR's



## License

[MIT](https://github.com/jl917/jchecker/blob/master/LICENSE)
npm package: @julong/cmd
Description: react_project
Latest version: 1.0.8

## react cli
react project generator

#### stack
react, redux, react-router, webpack, stylus, css-modules(only stylus file), eslint(airbnb), prettier, husky

#### stack(option)
typescript or es(babel), antDesign

#### install global
```sh
npm install -g @julong/cmd
# or 
yarn global add @julong/cmd
```

#### install local
```sh
npx @julong/cmd init
```

#### generator project
```sh
gen_react init 
# or
gen_react i
```

#### generator page 
```sh
gen_react page
# or
gen_react p
```

#### generator component 
```sh
gen_react component
# or
gen_react c
```

#### script
```sh
npm run start #local
npm run build:prod #production
npm run build:dev #development
npm run build:test #test
npm run lint #code lint
npm run fix #code fix
npm run analyze #bundle file analyze
```

#### run process
1. setting command options
2. make diretory
3. genarator env file
4. genarator source file
5. install
npm package: @julong/eslint-watch
Description: eslint 기능을 프로젝트 내부에서 분리
Author: jl917
Latest version: 1.0.2

# Readme

eslint 기능을 프로젝트 내부에서 분리 


## Table of Contents

- [Background](#background)
- [Installation](#installation)
- [Usage](#usage)
- [Maintainers](#maintainers)
- [Contributing](#contributing)
- [License](#license)



## Background

eslint 기능을 프로젝트 내부에서 분리



## Installation

```sh
npm install -g @julong/eslint-watch
npm install --save-dev @julong/eslint-watch
```

## Usage

```sh
jlint -t react -m default
```

### type
- react
- vue(...준비중)
- svelte(...준비중)

#### mode

- default
- watch
- fix
- fixWatch



## Maintainers

JuLong - [jl917](https://github.com/jl917)



## Contributing

Anyone is welcome to participate in the maintenance and development of this project, and can also submit Issues and PR's



## License

[MIT](https://github.com/jl917/eslintWatch/blob/master/LICENSE)
npm package: @julong/jbin
Description: cli명령어 생성
Author: jl917
Latest version: 1.0.0

# title

cli명령어 생성


## Table of Contents

- [Background](#background)
- [Installation](#installation)
- [Usage](#usage)
- [Maintainers](#maintainers)
- [Thanks](#thanks)
- [Contributing](#contributing)
- [License](#license)



## Background

cli명령어 생성



## Installation

```sh
npm install -g @julong/jbin
npm install --save-dev @julong/jbin
```



## Usage

```sh
jbin -t ts -p ./src/index.ts -o ./dist/index.ts
```

### --type(-t)
- ts
- js

### --path(-p)
- ./src/index.${type} (default)

### --path(-p)
- ./dist/index.js (default)


## Maintainers

JuLong - [jl917](https://github.com/jl917)



## Contributing

Anyone is welcome to participate in the maintenance and development of this project, and can also submit Issues and PR's



## License

[MIT](https://github.com/jl917/jnpkg/blob/master/LICENSE)
npm package: @julong/micro-frontend-utils
Description: This README would normally document whatever steps are necessary to get your application up and running.
Latest version: 1.0.3

# Micro FrontEnd Utils
 
### Guide 
```js
// react
import react from 'react'
import ReactDOM from 'react-dom'
import { moduleLoader } from '@julong/micro-frontend-utils';
moduleLoader('ground1', <App />, ReactDOM)

// vue
import { moduleLoader } from '@julong/micro-frontend-utils';
const app = new Vue({
  router,
  render: h => h(App),
})
moduleLoader('ground3', app);
```
npm package: @julong/webpack-plugin-runtime-assets
Description: ```js // webpack.config.js const webpackPluginRuntimeAssets = require('@julong/webpack-plugin-runtime-assets').default; module.exports = {   plugins: [     // ...     new webpackPluginRuntimeAssets(),     // ...   ] } ```
Latest version: 1.0.11

### Guide
```js
// webpack.config.js
const webpackPluginRuntimeAssets = require('@julong/webpack-plugin-runtime-assets').default;
module.exports = {
  plugins: [
    // ...
    new webpackPluginRuntimeAssets(),
    // ...
  ]
}
```
npm package: @julong/winston-mongodb
Description: ```js import winston from 'winston';
Latest version: 1.0.3

### Guide
```js
import winston from 'winston';

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new MongoTransport({ url: 'mongodb://localhost:27017/test_log', collection: 'error_log' }),
  ],
});
```

##### options 
- url(default mongodb://localhost:27017/test_log)
- collection(default error_log)
npm package: @julr/gql-generator-full-blown-preset
Description: 🛩 A cool and opinionated base configuration for graphql-code-generator.
Author: Julien Ripouteau
Latest version: 0.0.2

# gql-generator-full-blown-preset

🛩 A cool and opinionated base configuration for [Graphql Code Generator](https://www.graphql-code-generator.com/). 

## Features
- Generates a base `schema.graphql` file using [`@graphql-codegen/schema-ast`](https://www.graphql-code-generator.com/plugins/schema-ast)
- Generates a base `schema.generated.ts` with typings for the base schema using [`@graphql-codegen/typescript`](https://www.graphql-code-generator.com/plugins/typescript)
- Generates typings files for each of your operations files using [`@graphql-codegen/typescript`](https://www.graphql-code-generator.com/plugins/near-operation-file-preset)
- Generate `TypedDocumentNode` instead of hooks/composables using [`@graphql-codegen/typed-document-node`](https://www.graphql-code-generator.com/plugins/typed-document-node)
- Use PascalCase as default naming convention.
- Remove `__typenames` from types.

## Installation
```
pnpm add -D @julr/gql-generator-full-blown-preset 
pnpm add @graphql-typed-document-node/core
```

If you are using pnpm you must hoist the `@graphql-codegen` dependencies to the root modules directory. This could be done by adding the following content to your project .npmrc file :
```
public-hoist-pattern[]=@graphql-codegen/*
```

## Usage
Create a `graphql.config.js` file in the root of your project.
```js
require("dotenv").config();
const defineConfig = require("@julr/gql-generator-full-blown-preset");

module.exports = defineConfig({
  // The path to your GraphQL schema file. Can be a local file or a remote URL.
  schema: {
    url: process.env.HASURA_URL,
    secret: process.env.HASURA_SECRET,
  },

  // Since we're using graphql-config, you may need to define 
  // additional extensions configurations
  additionalExtensions: {
    myExtension: {
      config: 'foo'
    }
  }
});
```

## License

[MIT](./LICENSE.md) License © 2022 [Julien Ripouteau](https://github.com/Julien-R44)
npm package: @julr/japa-database-plugin
Description: Database assertions and testing helpers for Japa
Author: Julien Ripouteau
Latest version: 1.1.0-beta.4

<p align="center">
  <img src="https://user-images.githubusercontent.com/8337858/190878581-43ed9b9d-bf4a-47d2-9af0-b00b2e79027a.png">
</p>

# @julr/japa-database-plugin

This plugin for [Japa](http://japa.dev) provides some utility functions to make it easier for you to test a database. Built on top of [knex](https://knexjs.org/).

## Features
- Support Mysql, Sqlite, PostgreSQL, MSSQL
- Support expect, and assert

## Installation
```bash
pnpm install @julr/japa-database-plugin
```

## Configuration
The first step is to register the plugin in your Japa configuration : 

```ts
import { database } from '@julr/japa-database-plugin'

configure({
  ...processCliArgs(process.argv.slice(2)),
  ...{
    plugins: [
      expect(),
      database({ 
        database: {
          client: 'pg',
          connection: {
            host: 'localhost',
            user: 'japa',
            password: 'password',
            database: 'japa',
          }
        } 
      }),
    ],
    // ...
  },
})
```
You can find more information about the configuration of your database in the [knex documentation](https://knexjs.org/guide/#configuration-options)

## Usage

The plugin provides the DatabaseUtils class which you can use for refreshing the database between your tests :

```ts
import { DatabaseUtils } from '@julr/japa-database-plugin'

test.group('My tests', group => {
  group.each.teardown(async () => DatabaseUtils.refreshDatabase())

  // ...
})
```

This will truncate all tables in your database.

### Assertions

You can access the main object from the test context as follows :

```ts
test.group('My tests', group => {
  test('My test', async ({ database }) => {
    await database.assertHas('users', { email: 'jul@japa.com' })
  })
})
```

The plugin proposes the following assertions: 

```ts
test('My test', async ({ database }) => {
  // Assert that an user with jul@japa.com in DB
  await database.assertHas('users', { email: 'jul@japa.com' })

  // Assert that we have 5 users with bonjour@ok.com in DB
  await database.assertHas('users', { email: 'bonjour@ok.com' }, 5)

  // Assert that the db does not have the given row
  await database.assertMissing('users', { email: 'shouldNotBe@inDatabase.com'})

  // Assert that the db 5 users rows
  await database.assertHasCount('users', 5)
})
```

## License

[MIT](./LICENSE.md) License © 2022 [Julien Ripouteau](https://github.com/Julien-R44)
npm package: @julr/lit-valtio-state
Description: 🏪 A simple state management library for Lit components.
Author: Julien Ripouteau
Latest version: 1.0.1

<p align="center">
  <img src="https://user-images.githubusercontent.com/8337858/188330463-526c1448-9405-423c-b3c6-af7927723ca9.png">
</p>

🏪 A simple state management library for [Lit](https://lit.dev), built on top of [valtio](https://valtio.pmnd.rs/).

## Installation
  
```sh
pnpm add @julr/lit-valtio-state
```

## Usage

First you have to define a state, eg. in `stores/app.ts` : 

```ts
import { defineState } from '@julr/lit-valtio-state'

export const appState = defineState({
  count: 0,
  name: 'John Doe'
})
```

Then you can simply use it in your components as follows : 
```ts
import { LitElement, html } from 'lit'
import { customElement } from 'lit/decorators.js'
import { useState } from '@julr/lit-valtio-state'
import { appState } from '@/stores/app'

@customElement('my-lit-component')
export class MyLitComponent extends LitElement {
  private state = useState(this, appState)

  render() {
    return html`
      <div>
        <h1>${this.state.name}</h1>
        <p>${this.state.count}</p>
        <button @click=${() => this.state.count++}>Increment</button>
      </div>
    `
  }
}
```

## How it works ? 

This is made possible by [Javascript proxies](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Proxy) and [Lit controllers](https://lit.dev/docs/composition/controllers/)

Basically, the state is a proxy, and the `useState` will create a Lit controller that will subscribe to the state changes. When a change is made, we will ask the host of the controller (so your Lit component), to make a new rendering.

## License

[MIT](./LICENSE.md) License © 2022 [Julien Ripouteau](https://github.com/Julien-R44)
npm package: @julr/module-methods-extractor
Description: 🪛 Utility module to extract public methods for a given default Typescript export. Used by the Adonis.js VSCode extension
Author: Julien Ripouteau
Latest version: 0.0.1

<div align="center">
  <img width="650" src="https://user-images.githubusercontent.com/8337858/187311621-767302f4-fe05-471c-adfa-ce1b589460d1.png" />
  <br/>
</div>

# @julr/module-methods-extractor

🪛 Utility module to extract public methods for a given default Typescript export. Used by the Adonis.js VSCode extension

## Installation
```bash
pnpm add @julr/module-methods-extractor
```

## Usage
```ts
import { Extractor } from '@julr/module-methods-extractor'

const extractor = new Extractor()

const response = extractor.extract(`
  export default class UserController {
    public async index () {}
    public async store () {}
  }
`)

assert.deepEqual(response, {
  kind: 'class',
  methods: [
    { name: 'index', lineno: 2 },
    { name: 'store', lineno: 5 },
  ]
})
```

## Features supported
- ESM `export default` is supported.
- Handle inline class declarations like `export default UserController {}`.
- Returns `lineno` for all methods.
- Use `@babel/parser` instead of the Typescript Compiler API to parse the source code. This results in a much lighter dependency ( 274KB instead of 3.32MB)

## Limitations
- Only supports ESM. Commonjs `module.exports` is not supported. ( Maybe later ? )
- The export reference must be located as a top level property. For example:
    ```ts
    const someObject = {
      prop: class UserController {}
    }

    export default someObject.prop
    ```

    The above expression is not something we advocate in the Adonis.js eco-system and also it is not a great pattern to use either.

## Acknowledgements

- [Harminder Virk](https://github.com/thetutlage) for developping the [initial version of this module](https://github.com/poppinss/module-methods-extractor).

## License

[MIT](./LICENSE.md) License © 2022 [Julien Ripouteau](https://github.com/Julien-R44)
npm package: @julr/prettier-config
Description: Shared prettier configuration
Author: Julien Ripouteau
Latest version: 1.0.0

# `@julr/prettier-config`

Shared prettier configuration

## Installation

```bash
$ pnpm add --D @julr/prettier-config
```

## Usage

To enable these rules, add a `prettier` property in your `package.json` and reference this shared config as follows:

```
"prettier": "@julr/prettier-config"
```
npm package: @julr/tooling-configs
Description: Shared tooling configs: TSConfig, OXC (oxlint + oxfmt)
Author: Julien Ripouteau
Latest version: 6.1.2

<p align="center">
  <img src="https://user-images.githubusercontent.com/8337858/194765812-05e19fc8-3820-45c5-8d02-fd838d303200.png">
</p>

> [!NOTE]
> Looking for ESLint/Prettier support? We now only support OXC (oxlint + oxfmt). Check the [last commit with ESLint/Prettier](https://github.com/Julien-R44/tooling-configs/tree/d7b363f).

## Features

- Shared presets for [OXC](https://oxc.rs/) tools (oxlint + oxfmt)
- TypeScript configuration presets
- CLI for quick project setup

## Usage

> [!IMPORTANT]
> New/updated rules will not be considered as breaking changes. Only API changes will be considered as breaking changes.

### CLI installation

Just run this command in your project root directory:

```bash
pnpm dlx @julr/tooling-configs@latest
```

### Manual install

```bash
pnpm add -D oxlint oxfmt @julr/tooling-configs
```

### OXC (oxlint + oxfmt)

#### oxlint

```ts
// oxlint.config.ts
import { defineConfig } from 'oxlint'
import { julrPreset } from '@julr/tooling-configs/oxc/lint'

export default defineConfig({
  extends: [julrPreset()],
})
```

Options:

| Option          | Type      | Default | Description                             |
| --------------- | --------- | ------- | --------------------------------------- |
| `adonisjs`      | `boolean` | `false` | Enable AdonisJS-specific rules          |
| `perfectionist` | `boolean` | `false` | Enable import sorting via perfectionist |

```ts
export default defineConfig({
  extends: [julrPreset({ adonisjs: true, perfectionist: true })],
})
```

#### oxfmt

```ts
// oxfmt.config.ts
import { julrPreset } from '@julr/tooling-configs/oxc/fmt'

export default julrPreset()
```

You can override any option:

```ts
export default julrPreset({ printWidth: 120, semi: true })
```

Defaults: `printWidth: 100`, `semi: false`, `singleQuote: true`, `trailingComma: 'all'`, `arrowParens: 'avoid'`.

#### Scripts

```json
{
  "scripts": {
    "lint": "oxlint",
    "lint:fix": "oxlint --fix",
    "format": "oxfmt --write ."
  }
}
```

### Tsconfig

Node (ESM):

```json
{
  "extends": "@julr/tooling-configs/tsconfigs/tsconfig.node",
  "compilerOptions": {
    "rootDir": "./",
    "outDir": "./build"
  }
}
```

Node Next (ESM + `ts` extensions):

```json
{
  "extends": "@julr/tooling-configs/tsconfigs/tsconfig.node-next",
  "compilerOptions": {
    "rootDir": "./",
    "outDir": "./build"
  }
}
```

Vue:

```json
{
  "extends": "@julr/tooling-configs/tsconfigs/tsconfig.vue",
  "compilerOptions": {
    "rootDir": "./",
    "outDir": "./build"
  }
}
```
npm package: @julr/unocss-preset-flowbite
Description: 💅 An adaptation of the Flowbite Tailwind plugin for UnoCSS
Author: Julien Ripouteau
Latest version: 0.0.2

<p align="center">
  <img src="https://user-images.githubusercontent.com/8337858/188330855-83ab70fb-a736-488f-922e-60a3234056e5.png">
</p>

# unocss-preset-flowbite
💅 An adaptation of the [Flowbite](https://flowbite.com/) Tailwind plugin for [UnoCSS](https://github.com/unocss/unocss)

🚧 **Warning: The preset does not currently support all Flowbite features yet. I just added what I needed for the moment.** 
**So use it at your own risk, and feel free to make PRs or open issues if you need more features.**

# Installation
```
pnpm add -D @julr/unocss-preset-flowbite
```

# Usage
```ts
import { defineConfig, presetAttributify, presetUno } from 'unocss'
import { presetFlowbite } from '@julr/unocss-preset-flowbite'

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

## License

[MIT](./LICENSE.md) License © 2022 [Julien Ripouteau](https://github.com/Julien-R44)
npm package: @julr/unocss-preset-forms
Description: 📋 Port of @tailwindcss/forms for UnoCSS.
Author: Julien Ripouteau
Latest version: 2.0.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/8337858/188330269-7ddfeb8f-54a6-4594-b546-e85a69927e00.png">
</p>

## Installation

```bash
pnpm install @julr/unocss-preset-forms
```

## Usage 

```ts

import { defineConfig, presetAttributify, presetUno } from 'unocss'
import { presetForms } from '@julr/unocss-preset-forms'

export default defineConfig({
  presets: [
    presetUno(),
    presetForms(), // Add preflights and new rules likes `.form-input`

    presetForms({
      strategy: 'class', // Only add new rules likes `.form-input` and not preflights
    }),

    presetForms({
      strategy: 'base', // Only add preflights and not new rules
    }),

  ],
})
```

As this is a 1-1 port of the Tailwind plugin, please consult their documentation for more information: https://github.com/tailwindlabs/tailwindcss-forms

## License

[MIT](./LICENSE.md) License © 2022 [Julien Ripouteau](https://github.com/Julien-R44)
npm package: @julschwarz/ts-geo-utils
Description: This package provides a set of geo utils for working with bbox, geojson, etc.
Author: Juliana Schwarz
Latest version: 1.1.0

# A package for geo utils

## Overview

The `@julschwarz/ts-geo-utils` TypeScript package is a utility library that provides a set of functions for working with Points, LineStrings, Polygons and BBoxes. These functions are designed to simplify common operations around geojson objects, making it easier to work with spatial information.

## Installation

You can install the `@julschwarz/ts-geo-utils` package via npm or yarn:

```bash
npm install @julschwarz/ts-geo-utils

# OR

yarn add @julschwarz/ts-geo-utils
```

## Getting Started

To use this package in your TypeScript project, import the functions you need and start working with bounding boxes.

```typescript
import { bboxToPoly, expandBBox } from "@julschwarz/ts-geo-utils";

// Example usage
const bbox = [10, 20, 30, 40];
const polygon = bboxToPoly(bbox);
const expandedBBox = expandBBox(bbox, 1000);
```

## Functions

1. `expandBBox`expands a bounding box by a specified distance in meters. This is useful for increasing the size of a bounding box while preserving its center.

2. `isInsideBBox` checks whether a given Point is located inside a specified bounding box. It returns a boolean value indicating whether the point is within the box.

3. `polyToBBox` takes a GeoJSON polygon as input and calculates the bounding box that encloses the polygon's geometry.

4. `bboxToPoly` takes a bounding box as input and converts it into a GeoJSON polygon.

5. `positionToBBox` generates a bounding box based on a center position and a specified distance in meters. It returns the BBox that encompasses the area around the center point.

6. `getBBoxEdgeLength` calculates the edge length in meters of a squared bounding box. The result is rounded to the nearest meter.

7. `terminal` calculates the destination Position on a sphere given a starting Position, a bearing in degrees, and a distance in meters.

# In development: 

- `holesToOuterBorder` Remove holes of a Polygon or Multipolygon by creating a pass-through and splitting up the shape.