open-index/open-npm huggingface dataset:
npm package: @procoders/generator-model-from-loopback-to-typeorm
Description: Generates models for TypeORM from LoopBack 3.
Author: simpyworld
Latest version: 1.0.1

# @procoders/generator-model-from-loopback-to-typeorm

***
Generate models for TypeORM from LoopBack 3 models.
Supported db engines:

* PostgreSQL

## Installation
### Global module
To install module globally simply type `npm i -g @procoders/generator-model-from-loopback-to-typeorm` in your console.
## Usage
Use `npx @procoders/generator-model-from-loopback-to-typeorm --help` to see all available parameters with their descriptions. Some basic parameters below:
```shell
Usage: @procoders/generator-model-from-loopback-to-typeorm --bep=<backend-path> --save=<savePath>

Options:
  -h, --help             Show help                                     
  -v, --version          Output the current version
  --bep, --backend-path  Path where the model-config.json file and models is located      [required]
  --save, --save-path    Path where we will save entity
```

Make sure that the file from which this model will be read looks like this (this is our model-configs file)
```
{
  "upload": {
    "dataSource": "db",
    "public": false
  },
  "accessToken": {
    "dataSource": "db",
    "public": true
  },
  "attendee": {
    "dataSource": "amazonS3",
    "public": true
  },
  "calendar": {
    "dataSource": "db",
    "public": true
  },
  ...
}
```
Remember, we will only use models with `"dataSource": "db"`
### Examples

* Creating models from loopback config
  * Npx Way
        ```
        npx @procoders/typeorm-model-generator --bep='../api/server' --save='test-folder'
        ```
  
### Problems you may encounter

When the entity is formed, there may be problems with the links, because they were either specified incorrectly in the
loopback models or not at all. You will have to correct them manually
npm package: @proconnect-gouv/proconnect.annuaire_entreprises
Description: > 📊 Annuaire des Entreprises data for ProConnect
Latest version: 1.1.4

# 📋 @proconnect-gouv/proconnect.annuaire_entreprises

> 📊 Annuaire des Entreprises data for ProConnect

## ⚙️ Installation

```bash
npm install @proconnect-gouv/proconnect.annuaire_entreprises
```

## 📖 Usage

### Public Service Classification Data

Get public service classification constants from `@proconnect-gouv/proconnect.annuaire_entreprises`

```ts
import {
  NATURE_JURIDIQUE_SERVICE_PUBLIC,
  SERVICE_PUBLIC_BLACKLIST,
  SERVICE_PUBLIC_WHITELIST,
} from "@proconnect-gouv/proconnect.annuaire_entreprises";

// Check if a legal nature code corresponds to a public service
const isPublicServiceNature = NATURE_JURIDIQUE_SERVICE_PUBLIC.includes("7160");

// Check if a SIREN is explicitly blacklisted (never a public service)
const isBlacklisted = SERVICE_PUBLIC_BLACKLIST.includes("123456789");

// Check if a SIREN is whitelisted (always a public service)
const isWhitelisted = SERVICE_PUBLIC_WHITELIST.includes("987654321");
```

## 📊 Available Data

- **`NATURE_JURIDIQUE_SERVICE_PUBLIC`** - Legal nature codes for public services from [Annuaire des Entreprises](https://github.com/annuaire-entreprises-data-gouv-fr/search-infra)
- **`SERVICE_PUBLIC_BLACKLIST`** - SIREN numbers explicitly excluded from public service classification
- **`SERVICE_PUBLIC_WHITELIST`** - SIREN numbers explicitly included as public services

## 🔄 Data Updates

Data is synced from the [Annuaire des Entreprises search infrastructure](https://github.com/annuaire-entreprises-data-gouv-fr/search-infra) using:

```bash
npm run build:data
```

## 📖 License

[MIT](./LICENSE.md)
npm package: @proconnect-gouv/proconnect.api_entreprise
Description: > ⚡ Typed entreprise.api.gouv.fr API for ProConnect
Latest version: 2.0.0

# 📦 @proconnect-gouv/proconnect.api_entreprise

> ⚡ Typed entreprise.api.gouv.fr API for ProConnect

## ⚙️ Installation

```bash
npm install @proconnect-gouv/proconnect.api_entreprise
```

## 📖 Usage

### `@proconnect-gouv/proconnect.api_entreprise/client"

Get full fetch client from `@proconnect-gouv/proconnect.api_entreprise/client`

```ts
import { createApiEntrepriseOpenApiClient } from "@proconnect-gouv/proconnect.api_entreprise/client";

const apiEntrepriseOpenApiClient = createApiEntrepriseOpenApiClient(
  "ENTREPRISE_API_TOKEN",
  { baseUrl: "https://staging.entreprise.api.gouv.fr" },
);
```

### `@proconnect-gouv/proconnect.api_entreprise/api"

Get use case api factory functions from `@proconnect-gouv/proconnect.api_entreprise/api`

```ts
import { findBySiretFactory } from "@proconnect-gouv/proconnect.api_entreprise/api/insee";

export const findBySiret = findBySiretFactory(apiEntrepriseOpenApiClient, {
  context: "ProConnect",
  object: "findEstablishmentBySiret",
  recipient: "13002526500013",
});
```

### `@proconnect-gouv/proconnect.api_entreprise/types"

Get API Entreprise types and errors from `@proconnect-gouv/proconnect.api_entreprise/types`

```ts
import type { InseeSiretEstablishment } from "@proconnect-gouv/proconnect.api_entreprise/types";

const establishment: InseeSiretEstablishment;
```

### `@proconnect-gouv/proconnect.api_entreprise/formatters"

Get models formatters from `@proconnect-gouv/proconnect.api_entreprise/formatters`

```ts
import { formatMainActivity } from "@proconnect-gouv/proconnect.api_entreprise/formatters";

const libelleActivitePrincipale: formatMainActivity(activite_principale),
```

### `@proconnect-gouv/proconnect.api_entreprise/testing"

Used for internal tests

## 📖 License

[MIT](./LICENSE.md)
npm package: @proconnect-gouv/proconnect.core
Description: > 🪙 The core of ProConnect Apps
Latest version: 1.0.0

# 🪙 @proconnect-gouv/proconnect.core

> 🪙 The core of ProConnect Apps

## ⚙️ Installation

```bash
npm install @proconnect-gouv/proconnect.core
```

## 📖 Usage

### Security Utilities

```typescript
import {
  hashPassword,
  isPasswordSecure,
} from "@proconnect-gouv/proconnect.core/security";
```

### Email Services

```typescript
import {
  getEmailDomain,
  isAFreeDomain,
} from "@proconnect-gouv/proconnect.core/services/email";
```

### Data Access

```typescript
import {
  mostUsedFreeEmailDomains,
  gouvfrDomains,
  otherGouvDomains,
} from "@proconnect-gouv/proconnect.core/data";
```

### OIDC Provider

[@proconnect-gouv/proconnect.core/service/oidc](./src/services/oidc#readme)

### Suggestion Services

```typescript
import { didYouMean } from "@proconnect-gouv/proconnect.core/services/suggestion";
```

## 📊 Available Exports

- **`/security`** - Password hashing, validation, token generation
- **`/services/email`** - Email domain utilities and validation
- **`/services/oidc`** - OpenID Connect provider utilities
- **`/services/suggestion`** - Text suggestion and correction
- **`/data`** - Raw data arrays (email domains, government domains)

## 📖 License

[MIT](./LICENSE.md)
npm package: @proconnect-gouv/proconnect.debounce
Description: > ⚡ Typed Debounce API for ProConnect
Latest version: 1.0.0

# 📦 @proconnect-gouv/proconnect.debounce

> ⚡ Typed Debounce API for ProConnect

## ⚙️ Installation

```bash
npm install @proconnect-gouv/proconnect.debounce
```

## 📖 Usage

### [Single Validation](https://developers.debounce.io/reference/single-validation)

```ts
import { singleValidationFactory } from "@proconnect-gouv/proconnect.debounce/api";

const singleValidation = singleValidationFactory(DEBOUNCE_API_KEY);

const response = await singleValidation("test@test.com");
```

## 📖 License

[MIT](./LICENSE.md)
npm package: @proconnect-gouv/proconnect.entreprise
Description: > ⚡ Typed entreprise.api.gouv.fr API for ProConnect
Latest version: 1.0.0

# 📦 @proconnect-gouv/proconnect.entreprise

> ⚡ Typed entreprise.api.gouv.fr API for ProConnect

## ⚙️ Installation

```bash
npm install @proconnect-gouv/proconnect.entreprise
```

## 📖 Usage

### `@proconnect-gouv/proconnect.entreprise/client"

Get full fetch client from `@proconnect-gouv/proconnect.entreprise/client`

```ts
import { createEntrepriseOpenApiClient } from "@proconnect-gouv/proconnect.entreprise/client";

const entrepriseOpenApiClient = createEntrepriseOpenApiClient(
  "ENTREPRISE_API_TOKEN",
  { baseUrl: "https://staging.entreprise.api.gouv.fr" },
);
```

### `@proconnect-gouv/proconnect.entreprise/api"

Get use case api factory functions from `@proconnect-gouv/proconnect.entreprise/api`

```ts
import { findBySiretFactory } from "@proconnect-gouv/proconnect.entreprise/api/insee";

export const findBySiret = findBySiretFactory(entrepriseOpenApiClient, {
  context: "ProConnect",
  object: "findEstablishmentBySiret",
  recipient: "13002526500013",
});
```

### `@proconnect-gouv/proconnect.entreprise/types"

Get API Entreprise types and errors from `@proconnect-gouv/proconnect.entreprise/types`

```ts
import type { InseeSiretEstablishment } from "@proconnect-gouv/proconnect.entreprise/types";

const establishment: InseeSiretEstablishment;
```

### `@proconnect-gouv/proconnect.entreprise/formatters"

Get models formatters from `@proconnect-gouv/proconnect.entreprise/formatters`

```ts
import { formatMainActivity } from "@proconnect-gouv/proconnect.entreprise/formatters";

const libelleActivitePrincipale: formatMainActivity(activite_principale),
```

### `@proconnect-gouv/proconnect.entreprise/testing"

Used for internal tests

## 📖 License

[MIT](./LICENSE.md)
npm package: @proconnect-gouv/proconnect.identite.database
Description: > 🗄️ Database schema package for ProConnect Identité
Latest version: 1.4.0

# 📦 @proconnect-gouv/proconnect.identite.database

> 🗄️ Database schema package for ProConnect Identité

## ⚙️ Installation

```bash
npm install @proconnect-gouv/proconnect.identite.database drizzle-orm
```

## 📖 Usage

### Database Migration

Apply the ProConnect Identité database schema to your PostgreSQL or PGlite instance using the provided `migrate` function:

```ts
import { migrate } from "@proconnect-gouv/proconnect.identite.database";
import { Client } from "pg";

// With PostgreSQL client
const client = new Client({
  host: "localhost",
  port: 5432,
  database: "proconnect",
  user: "user",
  password: "password",
});

await client.connect();
await migrate((query) => client.query(query));
await client.end();
```

```ts
import { migrate } from "@proconnect-gouv/proconnect.identite.database";
import { PGlite } from "@electric-sql/pglite";

// With PGlite (in-memory or file-based)
const db = new PGlite();
await migrate((query) => db.exec(query));
```

### API Reference

#### `migrate(execFn)`

Applies the database schema by executing the SQL commands from `schema.sql`.

> [!WARNING]
> The migration script contains `DROP TABLE` statements and will remove existing tables and data. Only run this on empty databases or when you intend to reset the schema completely.

**Parameters:**

- `execFn: (query: string) => Promise<unknown[]>` - Function that executes SQL queries

**Returns:** `Promise<unknown[]>` - Result of executing the schema

## 🏗️ Development

### Building

```bash
npm run build
```

Compiles TypeScript source files to JavaScript in the `dist/` directory.

### Schema Generation

```bash
npm run build:schema
```

Generates the database schema from the main application's migrations. This script:

1. Runs all migrations from the root project against a PGlite instance
2. Exports the resulting schema using `pg_dump`
3. Saves it to `schema.sql`

### Testing

```bash
npm test
```

Runs unit tests using Node.js test runner. The test suite validates:

- **In-memory PostgreSQL migration**: Bootstraps schema from scratch on clean PGlite database
- **External PostgreSQL migration**: Applies complete schema to fresh database instance (requires `DATABASE_URL`)

### Development Mode

```bash
npm run dev
```

Watches for changes and rebuilds automatically.

For update db snapshots :

```bash
DATABASE_URL=postgres://proconnect-identite:proconnect-identite@127.0.0.1:5432/proconnect-identite npm run test:unit --workspace=@proconnect-gouv/proconnect.identite.database -- --test-update-snapshots
```

## 🔄 Schema Updates

The `schema.sql` file contains the complete database schema for ProConnect Identité. This schema is generated from the main application's migrations and should not be edited manually.

## 📖 License

[MIT](./LICENSE)
npm package: @proconnect-gouv/proconnect.insee
Description: > ⚡ Typed api.insee.fr API for ProConnect
Latest version: 2.0.0

# 📦 @proconnect-gouv/proconnect.insee

> ⚡ Typed api.insee.fr API for ProConnect

## ⚙️ Installation

```bash
npm install @proconnect-gouv/proconnect.insee
```

## 📖 Usage

### `@proconnect-gouv/proconnect.insee/client"

Get full fetch client from `@proconnect-gouv/proconnect.insee/client`

```ts
import { createInseeOpenApiClient } from "@proconnect-gouv/proconnect.insee/client";

const inseeSirenePrivateOpenApiClient = createInseeSirenePrivateOpenApiClient(
  "__INSEE_API_TOKEN__",
  { baseUrl: "https://api.insee.fr" },
);
```

### `@proconnect-gouv/proconnect.insee/api"

Get use case api factory functions from `@proconnect-gouv/proconnect.insee/api`

```ts
import { findBySiretFactory } from "@proconnect-gouv/proconnect.insee/api/insee";

export const findBySiret = findBySiretFactory(inseeOpenApiClient);
const establishment: InseeSiretEstablishment = await findBySiret("662042449");
```

### `@proconnect-gouv/proconnect.insee/types"

Get API Entreprise types and errors from `@proconnect-gouv/proconnect.insee/types`

```ts
import type { InseeSiretEstablishment } from "@proconnect-gouv/proconnect.insee/types";

const establishment: InseeSiretEstablishment;
```

### `@proconnect-gouv/proconnect.insee/formatters"

Get models formatters from `@proconnect-gouv/proconnect.insee/formatters`

```ts
import { formatBirthdate } from "@proconnect-gouv/proconnect.insee/formatters";

const birthdate: Date = formatBirthdate("19800601");
```

### `@proconnect-gouv/proconnect.insee/testing"

Used for internal tests

## 📖 License

[MIT](./LICENSE.md)
npm package: @procore/js-sdk-sample-app
Description: Example app showcasing procore node package
Author: Procore
Latest version: 1.1.0
Deprecated: This package is no longer being pushed to npm. Please follow the github repo for up to date code changes

# Node Procore Boilerplate
An example on how to use [`@procore/js-sdk`](https://www.npmjs.com/package/@procore/js-sdk). Comes complete with login routes and resource viewer.

![demo video](https://github.com/procore/node-procore-boilerplate/blob/master/demo.gif)

## Dependiences
```
brew install yarn
yarn install
touch .env
```
### Environment
```
CIENT_ID
CLIENT_SECRET
REDIRECT_URL
SESSION_PASSWORD
```
## Development
`npm run dev`

## Production
1. `npm run rollup:build`
2. `npm run server`

## Routes
`GET /sessions/create`
Starts oauth authorization with procore

`GET /oauth/procore/callback`
The registred redirect uri

`POST /oauth/procore/refresh`
Refreshes the current auth token and saves to app session

`GET /public/{param*}`
Used for public assets eg css, js, images


## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/procore/js-sdk-sample-app. This project is
intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the
[Contributor Covenant](http://contributor-covenant.org) code of conduct.


## License

The package is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).

## About Procore

<img
  src="https://www.procore.com/images/procore_logo.png"
  alt="Procore Logo"
  width="250px"
/>

Manage Version is maintained by Procore Technologies.

Procore - building the software that builds the world.

Learn more about the #1 most widely used construction management software at [procore.com](https://www.procore.com/)