open-index/open-npm huggingface dataset:
npm package: @luewell/prettier-plugin-tailwindcss
Description: A Prettier plugin for sorting Tailwind CSS classes.
Latest version: 0.1.14

<img src="https://raw.githubusercontent.com/tailwindlabs/prettier-plugin-tailwindcss/main/.github/banner.jpg" alt="prettier-plugin-tailwindcss" />

A [Prettier](https://prettier.io/) plugin for Tailwind CSS v3.0+ that automatically sorts classes based on [our recommended class order](https://tailwindcss.com/blog/automatic-class-sorting-with-prettier#how-classes-are-sorted).

## Installation

To get started, just install `prettier-plugin-tailwindcss` as a dev-dependency:

```sh
npm install -D prettier prettier-plugin-tailwindcss
```

This plugin follows Prettier’s autoloading convention, so as long as you’ve got Prettier set up in your project, it’ll start working automatically as soon as it’s installed.

_Note that plugin autoloading is not supported when using certain package managers, such as pnpm or Yarn PnP. In this case you may need to add the plugin to your Prettier config explicitly:_

```js
// prettier.config.js
module.exports = {
  plugins: [require('prettier-plugin-tailwindcss')],
}
```

## Resolving your Tailwind configuration

To ensure that the class sorting is taking into consideration any of your project's Tailwind customizations, it needs access to your [Tailwind configuration file](https://tailwindcss.com/docs/configuration) (`tailwind.config.js`).

By default the plugin will look for this file in the same directory as your Prettier configuration file. However, if your Tailwind configuration is somewhere else, you can specify this using the `tailwindConfig` option in your Prettier configuration.

Note that paths are resolved relative to the Prettier configuration file.

```js
// prettier.config.js
module.exports = {
  tailwindConfig: './styles/tailwind.config.js',
}
```

If a local configuration file cannot be found the plugin will fallback to the default Tailwind configuration.

## Compatibility with other Prettier plugins

To make this plugin work we had to use private Prettier APIs that can only be used by a single plugin at once. This means this plugin is incompatible with other Prettier plugins that are using the same APIs.

The most popular example we know of is [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte), which can't be installed at the same time as the Tailwind CSS plugin.

To work around this, we've bundled `prettier-plugin-svelte` directly into `prettier-plugin-tailwindcss`, so if you'd like to use this plugin with Svelte, just uninstall `prettier-plugin-svelte` and everything should work as expected.

If you discover any other incompatibilities, please share them in [this issue](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/31) and hopefully we can figure out a way to make it work.
npm package: @luffysan/easy-emitter
Description: Easy Emitter is easy EventEmitter as Utils and singleton.
Author: Bastien VINH
Latest version: 1.0.1

# EasyEmitter

## Introduction
Emitter is like a third party eyes that can help you execute code at perfect timming than using waterfall technics.

## Specification
* You need NodeJS 8+ or more
* It's a ES6 module, no babelJS

## Usage

### => Register an event
```js
let emitter = require('easy-emitter');
emitter.register('name-event', function () {
  console.log('I do this when name-event is called');
});
```

### => Unregister an event
```js
let emitter = require('easy-emitter');
emitter.unregister('name-event');
```

### => Unregister an event with callback
```js
let emitter = require('easy-emitter');
emitter.unregister('name-event', function () {
  console.log('Done after name-event has been removed')
});
```

### => Active our event
```js
let emitter = require('easy-emitter');
emitter.emit('name-event');
```

### => Examples of basic usage

```js
let emitter = require('easy-emitter');
let gulp = require('gulp');

gulp.task('build', (done) => {
  emitter.emit('before-build'); // we activate an event before build
  // output : After-build event is working works

  // TODO do your things
  // Take big amount of time or not
  // ...

  emitter.emit('after-build'); // We activate an event after build
  // => output : After-build event is working works
  done();
});

gulp.task('default', () => {
  
  emitter.register('after-build', ['build'], function () => {
    console.log('After-build event is working works');
  });

});

```

### => Examples of unregister case
<blockquote>
<p>Notice : You can register as many callback for an event name.</p>
</blockquote>
<blockquote>
<p>Warning : Unregister will remove all registered events. If you have many registered/declared callback for a particular event name, then you will have lost all of them when you will unregister the event-name.</p>
</blockquote>

```js
let gulp = require('gulp');
let emitter = require('easy-emitter');

gulp.task('default', (done) => {
  
  emitter.register('after-register', function () => {
    console.log('event 1');
  });

  emitter.register('after-register', function () => {
    console.log('event 2');
  });

  emitter.emit('after-build');
  // => ouput: event 1
  // =>        event 2

  emitter.unregister('after-build');
  // => unregister the two events
  
  emitter.emit('after-build');
  // => nothing

  done();
});

```

## Changelog

1.0.0

* Register a function to an event
* Unregister all functions of an event
* Emit a function

1.0.1

* Fix README : some nonsense vocabulary


## Reasons
I got some timing issues with webpack + gulp. Since webpack destroy and replace file asynchronously and slowly. I reload most of the time to soon. So to make a clean development with using EventEmitter or if/switch staement on 'end event'. I decide to create a postal pattern like we can find in Mobile GUI to pass information between pages.