open-index/open-npm huggingface dataset:
npm package: @matthieuoger/lbc
Description: Automation for LeBonCoin
Author: Matthieu Oger
Latest version: 0.1.0

# lbc

Automate ad creation on LeBonCoin.

**Warning 1: I've only tested this package on my computer and with my workflow. This is an alpha. Use with caution.**

**Warning 2: this package relies heavily on visual automation with [Puppeteer](https://github.com/GoogleChrome/puppeteer/). If the developers change the markup on leboncoin.fr, it will break.**

## Install

```bash
yarn global add @matthieuoger/lbc
```

## Usage

### Post an ad

You have this JSON file:

```json
{
  "category": "Jeux & Jouets",
  "title": "Ad Example",
  "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nMorbi ornare nibh ipsum, non placerat urna tincidunt ac.",
  "price": 42.48,
  "postal": "75003",
  "street": "Rue de Saintonge",
  "images": ["01.jpg", "02.jpg", "03.jpg"]
}
```

You want to post it:

```bash
lbc file.json
```

The command will ask for some information, like your user account and password (don't worry, they are not transmitted or used outside of leboncoin.fr, check the code). Then, it will open a webpage and do its work all alone.

You just have to valid the ad at the end. _We could do that automatically, but I think it's better to let the user do this task manually._

### Create a template for a new ad

If you want to prepare a new ad, just do:

```bash
lbc --generate new_ad.json
```

And fill it.

## Rational

This package might seem a bit strange, but it serves a clear purpose: I always store an ad and its images and after a few weeks, if the item has not been sold, I re-create a new ad with the same data.

It was tedious to copy and paste everything each time, and since I was keeping the files anyways, I decided to automate this task.

## TODO

- [ ] Windows support.
- [ ] If an image is not uploaded correctly, retry.

  Markup when it's broken:

  ```html
  <div id="uploadPhoto-0" data-state="uploaded">
    <img src="https://img3.leboncoin.fr/ad-thumb/.jpg">
  </div>
  ```

  The correct indicator here is the `ad-thumb/.jpg` and `data-state="uploaded"` at the end. If we detect that, we could try a new upload.

- [ ] Package with NCC/PKG.
npm package: @matthme/electron-updater
Description: Cross platform updater for electron applications
Author: Vladimir Krivosheev
Latest version: 6.3.0-alpha.2

# electron-updater

This module allows you to automatically update your application. You only need to install this module and write two lines of code!
To publish your updates you just need simple file hosting, it does not require a dedicated server.

See [Auto Update](https://electron.build/auto-update) for more information.

Supported OS:
 - macOS ([Squirrel.Mac](https://github.com/Squirrel/Squirrel.Mac)).
 - Windows (NSIS).
 - Linux (AppImage).

## Credits

Thanks to [Evolve Labs](https://www.evolvehq.com) for donating the npm package name.
npm package: @matthrew/x-design
Description: An enterprise-class UI components generator based on React.
Author: matthrew
Latest version: 0.0.1

# x-design

## Getting Started

Install dependencies,

```bash
$ npm i
```

Start the dev server,

```bash
$ npm start
```

Build documentation,

```bash
$ npm run docs:build
```

Build library via `father-build`,

```bash
$ npm run build
```
npm package: @mattiadevivo/build-url
Description: A super simple and zero-dependency url builder
Author: Mattia De Vivo
Latest version: 0.1.2

# @mattiadevivo/build-url

[![Publish to npmjs](https://github.com/mattiadevivo/build-url/actions/workflows/npm-publish.yml/badge.svg?branch=master)](https://github.com/mattiadevivo/build-url/actions/workflows/npm-publish.yml)

A super simple and zero-dependency url builder.

You're coming from `build-url` package but it's been deprecated and lacks support for **ESM** and **TS**?
This new build-url comes with the intention of substituting it with **zero dependencies**, let's help me to make it a better version (see [CONTRIBUTING.md](./CONTRIBUTING.md))!

## Installation

Install it with npm:
```bash
npm install @mattiadevivo/build-url --save
```

No need of `@types` package since it has built-in support for TypeScript. 

## Usage

- No need to manage ending *basePath* ending with `/` or *path* starting with `/`, the function will manage it.

- No need to worry about double `/`, *build-url* function will remove them (except for the ones after the protocol i.e. `https://`).

Usage in TypeScript/ES6:
```ts
import {buildUrl} from "@mattiadevivo/build-url";

const result = buildUrl("http://localhost:8080", {
  path: "api/hello/",
  queryParams: {
    a: 1,
    b: 2,
  },
});
// This will produce http://localhost:8080/api/hello/?a=1&b=2
```


There is no support for commonjs modules right now, but it will be introduced later!

## Changelog

See [CHANGELOG.md](./CHANGELOG.md)

## Want to contribute?

This project is under a MIT license.

See [CONTRIBUTING.md](./CONTRIBUTING.md)
npm package: @mattiasbuelens/stable
Description: A stable array sort for JavaScript
Author: Angry Bytes
Latest version: 0.2.0
Deprecated: Use stable v0.1.7 or higher instead

## Stable

A stable array sort, because `Array#sort()` is not guaranteed stable.

MIT licensed.

[![Node.js CI](https://secure.travis-ci.org/MattiasBuelens/stable.png)](http://travis-ci.org/MattiasBuelens/stable)

[![Browser CI](http://ci.testling.com/MattiasBuelens/stable.png)](http://ci.testling.com/MattiasBuelens/stable)

#### From the browser

Include [`stable.js`] or the minified version [`stable.min.js`]
in your page, then call `stable()`.

 [`stable.js`]: https://raw.github.com/MattiasBuelens/stable/master/dist/stable.js
 [`stable.min.js`]: https://raw.github.com/MattiasBuelens/stable/master/dist/stable.min.js

#### From Node.js

Install using NPM:

    npm install stable

Require in your code:

    var stable = require("stable");

#### Usage

The default sort is, as with `Array#sort`, lexicographical:

    stable(["foo", "bar", "baz"]);   // => ["bar", "baz", "foo"]
    stable([10, 1, 5]);              // => [1, 10, 5]

Unlike `Array#sort`, the default sort is **NOT** in-place. To do an in-place
sort, use `stable.inplace`, which otherwise works the same:

    var arr = [10, 1, 5];
    stable(arr) === arr;            // => false
    stable.inplace(arr) === arr;    // => true

A comparator function can be specified:

    // Regular sort() compatible comparator, that returns a number.
    // This demonstrates the default behavior.
    function lexCmp(a, b) {
        return String(a).localeCompare(b);
    }
    stable(["foo", "bar", "baz"], lexCmp);   // => ["bar", "baz", "foo"]

    // Boolean comparator. Sorts `b` before `a` if true.
    // This demonstrates a simple way to sort numerically.
    function greaterThan(a, b) {
        return a > b;
    }
    stable([10, 1, 5], greaterThan);  // -> [1, 5, 10]

#### License

Copyright (C) 2017 Angry Bytes and contributors.

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @mattiash/grid-graph
Description: ![Build master](https://github.com/mattiash/grid-graph/workflows/Build%20master/badge.svg) ![Publish to npm](https://github.com/mattiash/grid-graph/workflows/Publish%20to%20npm/badge.svg) ![npm (scoped)](https://img.shields.io/npm/v/@mattiash/grid-graph)
Author: Mattias Holmlund
Latest version: 1.4.1

# grid-graph

![Build master](https://github.com/mattiash/grid-graph/workflows/Build%20master/badge.svg)
![Publish to npm](https://github.com/mattiash/grid-graph/workflows/Publish%20to%20npm/badge.svg)
![npm (scoped)](https://img.shields.io/npm/v/@mattiash/grid-graph)

Built from component template at [https://github.com/gojutin/svelte-custom-element](https://github.com/gojutin/svelte-custom-element).

## Usage

grid-graph is a [custom element](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) that should be possible to use in any web framework and also in plain html.

### Example

```
<grid-graph nodes="..." connectors='...'/>
```

`nodes` should be a json-encoded string containing a two-dimensional array of nodes.
Each node is an object with the following properties:

-   id - an identifier for the node. Used as the label of the node and when defining connectors.
-   color - optional text-color for the node. Default #383d41
-   background - optional background for the node. Default #e2e3e5.
-   border - optional border for the node. Default none.

```javascript
;[[{ id: 'A' }, { id: 'B' }], [undefined, { id: 'C' }]]
```

`connectors` shall be an array of connector objects. Each connector object has the following properties:

-   from - the id of a node
-   to - the id of a node
-   color - the color of the connector. Default: #444.

```javascript
;[{ from: 'A', to: 'B' }, { from: 'A', to: 'C' }]
```

The grid-graph element emits a `nodeclick` whenever the user clicks a node,
with the id of the node in event.detail.nodeId.

See `public/index.html` for a complete example.

See [@mattiash/grid-graph-placement](https://github.com/mattiash/grid-graph-placement) for a module
that automatically places out your nodes on a grid.

## Styling

The grid-graph can be styled with css variables.

```html
<grid-graph style="--node-margin: 5px 30px; --node-padding: 2px 10px">
</grid-graph>
```

## Development

```
npm run dev
```

Open [http://localhost:5000](http://localhost:5000)

## Production

```
npm run build
```
npm package: @mattickx/global-dom-listener
Description: Global DOM listener for current and dynamically added elements
Author: Mathieu Magalhaes
Latest version: 0.0.4

# Global DOM Listener

A global listener for current AND dynamically added elements.

## ⚙️ Usage

You can use the hosted CDN file directly in your browser/html :<br>
[https://cdn.jsdelivr.net/npm/@mattickx/global-dom-listener/dist/index.umd.js](https://cdn.jsdelivr.net/npm/@mattickx/global-dom-listener/dist/index.umd.js)

Or install through npm by using:<br>
`npm install --save @mattickx/global-dom-listener`

## 🔧 Example

### Example with custom attribute data-custom-attribute :
```js
window.GlobalDOMListener.on('click', '[data-custom-attribute]', (e) => {
  // Do something ...
});
```
This will work on any element with the data-custom-attribute attribute.
Even when such elements are dynamically added after this function call!

### Working example :

See a working examle in [this HTML file](./index.html)

## 🤝 Contribute
Continuous improvement is encouraged and your contributions are valuable!

If you identify areas for improvement, have suggestions or encounter issues, please create a GitHub issue.

## 📜 LICENSE

This is licensed under the MIT License, see [LICENSE](./LICENSE)
npm package: @mattietea/eslint-config
Description: Matt Thomas' ESLint config
Author: Matthew Thomas
Latest version: 1.170.0

![publish package](https://github.com/mattietea/eslint-config/workflows/publish%20package/badge.svg?branch=master)
![npm](https://img.shields.io/npm/v/@mattietea/eslint-config)

# @mattietea/eslint-config

ESLint rules and configs

## Installation

```sh
yarn add eslint @mattietea/eslint-config -D
```

> `eslint`, `prettier` and `typescript` must also be installed

## Config

### eslintrc.json

```jsonc
// Base config
{
  "extends": ["@mattietea/eslint-config"],
}

// React config
{
  "extends": ["@mattietea/eslint-config/react"],
}
```

### prettierrc.json

```jsonc
"@mattietea/eslint-config/prettier"
```

## VSCode Config

Use the [VSCode ESLint](https://github.com/microsoft/vscode-eslint)

```jsonc
{
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
    "json",
    "jsonc",
    "mdx"
  ],
  "editor.codeActionsOnSave": {
    "source.fixAll": true
  }
}
```

## Errors on Install

```bash
rm -rf node_modules yarn.lock && yarn
```