open-index/open-npm huggingface dataset:
npm package: @igorjacauna/vue-lib-firebase
Description: Serviços do Firebase para Vue
Author: Igor Jacaúna
Latest version: 0.2.8

# Firebase

Lib for use with Firebase

## Usage

### Initialize the Firebase app

This can be done on `main.ts`

```ts
import { initFirebase } from '@igorjacauna/lib-firebase';

const firebaseConfig = {
  apiKey: "",
  authDomain: "",
  databaseURL: "",
  projectId: "",
  storageBucket: "",
  messagingSenderId: "",
  appId: "",
  measurementId: "",
};

const firebaseApp = initFirebase(firebaseConfig);

```

### Auth

#### SignIn

Make SignIn passing provider. Google is the only supported for now

```ts
import { signIn } from '@igorjacauna/lib-firebase';

signIn('google');
```

#### SignOut

```ts
import { signOut } from '@igorjacauna/lib-firebase';

signOut();
```

#### IsAuthenticated

Returns `User` object if authenticated else `null`

```ts
import { isAuthenticated } from '@igorjacauna/lib-firebase';

const authenticated = await isAuthenticated();
```

#### User object

You can use the composables `useUserProvider` and `useUserInject` to get user object on any componente on your application

On your `App.vue`
```vue
<script lant="ts" setup>
import { onUnmounted } from 'vue';

const { unsubscribe } = useUserProvider();

// We use onAuthStateChanged observer from Firebase
// to get User object changes
// For best practice we must unsubscribe when needed
onUnmounted(() => unsubscribe());
</script>
```

On any other child component of `App.vue`, you can inject

```vue
<script setup lang="ts">
import { useUserInject } from '@igorjacauna/vue-lib-firebase';

const user = useUserInject();
</script>

<template>
  <div>
    <div v-if="user">
      Authenticated
    </div>
    <div v-else>
    </div>
  </div>
</template>
```

#### Navigation Guard

Use with meta configs of `vue-router`. The route protected must have `meta.auth === true`

When a route has `meta.auth === true` we will use `beforeResolve` from `vue-router` navigation guard and allow navigation if authenticated

```ts
import { createRouter } from 'vue-router';
import { configureAuthGuard } from '@igorjacauna/vue-lib-firebase';

const router = createRouter({
  ...
});

configureAuthGuard(router);
```
npm package: @igorjs/eslint-config-strict-js
Description: Strict Javascript ESLint config
Author: Igor Santos
Latest version: 1.0.0-alpha.1

<div align="center">
  <center>
    <img width="148" height="148" alt="Strict ESLint Config logo" src="https://raw.githubusercontent.com/igorjs/eslint-config-strict-js/main/docs/eslint.png" />
  </center>
</div>
<div align="center">
  <center>
    <h1 align="center"><i></i>A Strict, Awesome ESLint Config<i></i></h1>
  </center>
</div>

Base eslint config for latest ecma script standards with strict rules

## Usage
To make use of this configuration, you need to first install the configuration in your Node.js project:

```bash
npm install --save-dev eslint-config-strict-js
```

After that, you need to include a reference to the package in your package.json:

```json
{
  "name": "mypackage",
  "version": "1.0.0",
  ...
  "eslintConfig": {
    "extends": "@igorjs/eslint-config-strict-js"
  }
}
```

You can override the settings that are provided by the plugin by including additional rules in your package.json. For instance, if you wanted to turn off a rule named max-len, your package.json would look something like this:

```json
{
  "name": "mypackage",
  "version": "1.0.0",
  ...
  "eslintConfig": {
    "extends": "@igorjs/eslint-config-strict-js",
    "rules": {
        "max-len": "off"
    }
  }
}
```

In `.eslintrc`:

```json
{
  "root": true,
  "extends": ["@igorjs/eslint-config-strict-js"],
  "rules": {
      "max-len": "off"
  }
}
```

**NOTE:** you may need to restart your editor for config to take effect

## Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the [issues] page. If you would like to contribute, please take a look at the [contributing] guide.


## Plugins


## License
This project is [MIT][license] licensed.

[issues]: https://github.com/igorjs/eslint-config-strict-js/issues
[license]: ./LICENSE
[contributing]: ./docs/CONTRIBUTING.md
npm package: @igorjunior/adminjs-adonis
Description: [AdminJS](https://adminjs.co/) is an automatic admin interface that can be plugged into your application. You, as a developer, provide database models (like posts, comments, stores, products or whatever else your application uses), and AdminJS generates U
Author: Rafał Dzięgielewski
Latest version: 1.1.1

# AdminJS

[AdminJS](https://adminjs.co/) is an automatic admin interface that can be plugged into your application. You, as a developer, provide database models (like posts, comments, stores, products or whatever else your application uses), and AdminJS generates UI which allows you (or other trusted users) to manage content.

Inspired by: [django admin](https://docs.djangoproject.com), [rails admin](https://github.com/sferik/rails_admin) and [active admin](https://activeadmin.info/).

# @adminjs/adonis

This is an official AdminJS package which integrates AdminJS with:
- AdonisJS server framework
- Lucid ORM

## Installation & Configuration

The installation and configuration instructions are maintained in the official documentation:

https://docs.adminjs.co/installation/plugins/adonis

## Discord Community

[Join the community](https://adminjs.page.link/discord) to get help and be inspired.

## License

AdminJS is copyrighted © 2024 rst.software. It is a free software, and may be redistributed under the terms specified in the [LICENSE](LICENSE.md) file.

## About rst.software

<img src="https://pbs.twimg.com/profile_images/1367119173604810752/dKVlj1YY_400x400.jpg" width=150>

We’re an open, friendly team that helps clients from all over the world to transform their businesses and create astonishing products.

* We are available for [hire](https://www.rst.software/estimate-your-project).
* If you want to work for us - check out the [career page](https://www.rst.software/join-us).
npm package: @igorjunior/adonis-vite
Description: AdonisJS ships with webpack encore to manage your frontend assets. This package provides a way to use Vite instead.
Latest version: 0.3.3

# Adonis Vite

AdonisJS ships with webpack encore to manage your frontend assets. This package provides a way to use Vite instead.

_Note: the API may change between minor versions until we reach 1.0._

## Installation and usage

If you are creating a new project, choose **false** or **N** when you are asked if you want to configure webpack encore for compiling frontend assets.

If you are integrating this package in an existing project, you can remove webpack.config.js and any webpack related packages you may have in your project's dependencies.

#### Install using your package manager:

```sh
npm install --save @91codes/adonis-vite
# or
yarn add @91codes/adonis-vite
```

#### Please note that you need to install Vite separately.

```sh
npm install --save-dev vite
# or
yarn add -D vite
```

#### Add the Vite provider to `.adonisrc.json`

```sh
node ace configure @91codes/adonis-vite
```

#### Create a `vite.config.ts`

You can start with the following. Feel free to customise it to your needs. You don't need react plugin if you aren't using react.

```ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import adonis from '@91codes/adonis-vite/build/plugins/adonis'

export default defineConfig({
	plugins: [
		react({ jsxRuntime: 'classic' }),
		adonis({ input: 'resources/frontend/entrypoints/app.tsx' }),
	],
})
```

#### Add edge tags in layout

Add the `@vite` edge tag in your edge layout's head. You don't need `@viteReactRefresh` if you aren't using react.

```edge
@viteReactRefresh()
@vite('resources/frontend/entrypoints/app.tsx')
```

#### Add to .gitignore

```
public/hot
public/assets
public/manifest.json
```

Add the following scripts in package.json:

```json
{
	"scripts": {
		"vite:dev": "npm run vite",
		"vite:build": "npm run vite build"
	}
}
```

Run these along with the default `dev` and `build` scripts.