open-index/open-npm huggingface dataset:
npm package: @fgiova/cjs-esm-ts-builder
Description: Build tool for CJS and ESM modules in TypeScript
Author: Francesco Giovannini
Latest version: 1.2.0

# Typescript CommonJS and ESM Builder for Node.js

![GitHub license](https://img.shields.io/github/license/fgiova/cjs-esm-ts-builder.svg)
[![NPM version](https://img.shields.io/npm/v/@fgiova/cjs-esm-ts-builder.svg?style=flat)](https://www.npmjs.com/package/@fgiova/cjs-esm-ts-builder)
![CI workflow](https://github.com/fgiova/cjs-esm-ts-builder/actions/workflows/node.js.yml/badge.svg)
[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)


## Description
This module is a Typescript CommonJS and ESM Builder for Node.js. 
It provides a simple way to build your Typescript projects as CommonJS and ESM modules. 
It uses `tsc` and default tsconfig.json to build the project then rewrote import and export of esm files adding .mjs extension and indexes.

## Install
```bash
npm i @fgiova/cjs-esm-ts-builder
```
## CLI usage
```bash
npx @fgiova/cjs-esm-ts-builder
```
or
```bash
npm install --save-dev @fgiova/cjs-esm-ts-builder
esmBuilder
```
### Cli options
- `--target`: The target version of ECMAScript to compile to. Default is `es2020`.
- `--esmFolder`: The folder where the ESM files will be generated. Default is `esm`.
- `--cjsFolder`: The folder where the CommonJS files will be generated. Default is `cjs`.
- `--buildFolder`: The folder where the build files will be generated. Default is `dist`.
- `--help`: Show help message.



## Programmatic usage
```js
const { build } = require("@fgiova/cjs-esm-ts-builder");

const options = {
    target: "es2020",
    esmFolder: "esm",
    cjsFolder: "cjs",
    buildFolder: "dist"
};

build(options)
    .then(() => {
        console.log("Build completed");
    })
    .catch((err) => {
        console.error(err);
    });
```

## Configure package.json
```json
{
    ...
    "main": "./dist/cjs/index.js",
    "types": "./dist/cjs/index.d.ts",
    "module": "./dist/esm/index.mjs",
    "exports": {
        ".": {
            "import": {
                "types": "./dist/esm/index.d.mts",
                "default": "./dist/esm/index.mjs"
            },
            "require": {
                "types": "./dist/cjs/index.d.ts",
                "default": "./dist/cjs/index.js"
            }
        }
    },
    "files": [
        "dist"
    ],
    ...
}
```

## Options
- `target`: The target version of ECMAScript to compile to. Default is `es2020`.
- `esmFolder`: The folder where the ESM files will be generated. Default is `esm`.
- `cjsFolder`: The folder where the CommonJS files will be generated. Default is `cjs`.
- `buildFolder`: The folder where the build files will be generated. Default is `dist`.


## Notes
- Tested with Node.js >= 20
- Work only on *nix systems (Linux, MacOS, etc.)

## License
Licensed under [MIT](./LICENSE).
npm package: @fgiova/mini-sns-client
Description: [![NPM version](https://img.shields.io/npm/v/@fgiova/mini-sns-client.svg?style=flat)](https://www.npmjs.com/package/@fgiova/mini-sns-client) ![CI workflow](https://github.com/fgiova/mini-sns-client/actions/workflows/node.js.yml/badge.svg) [![TypeScript](h
Author: Francesco Giovannini
Latest version: 2.0.0

# mini sns client using undici

[![NPM version](https://img.shields.io/npm/v/@fgiova/mini-sns-client.svg?style=flat)](https://www.npmjs.com/package/@fgiova/mini-sns-client)
![CI workflow](https://github.com/fgiova/mini-sns-client/actions/workflows/node.js.yml/badge.svg)
[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)
[![Linted with Biome](https://img.shields.io/badge/Linted_with-Biome-60a5fa?style=flat&logo=biome)](https://biomejs.dev)
[![Maintainability](https://qlty.sh/gh/fgiova/projects/mini-sns-client/maintainability.svg)](https://qlty.sh/gh/fgiova/projects/mini-sns-client)
[![Code Coverage](https://qlty.sh/gh/fgiova/projects/mini-sns-client/coverage.svg)](https://qlty.sh/gh/fgiova/projects/mini-sns-client)

## Description
This module allows minimal set of SNS service functions using "undici" as http agent.<br />
The @fgiova/aws-signature module is used for signing requests to optimize performance. <br />

Are supported:
- publish single message
- publish message batch (automatically splits batches larger than 10 items)

## Requirements
Node.js ^22.14.0 || >= 24.10.0

## Installation
```bash
npm install @fgiova/mini-sns-client
```
## Usage

```typescript
import {MiniSNSClient} from '@fgiova/mini-sns-client'

const client = new MiniSNSClient("eu-central-1");

await client.publishMessage({
	TopicArn: "arn:aws:sns:eu-central-1:000000000000:test",
	Message:  "Hello World!",
	MessageAttributes: {
		"my-attribute": {
			DataType: "String",
			StringValue: "my-value"
		}
	}
});

await client.publishMessageBatch({
	TopicArn: "arn:aws:sns:eu-central-1:000000000000:test",
	PublishBatchRequestEntries: [
		{
            Id: "31afb534-e25e-5812-a92f-e8ff0921f9dd",
			Message:  "Hello World!",
			MessageAttributes: {
				"my-attribute": {
					DataType: "String",
					StringValue: "my-value"
				}
			}
        },
		{
			Id: "85565b18-6ad4-5ba5-89b2-06d381ab1a6a",
			Message:  "Hello World! Again",
		}
    ]
	
});


```

## API

```typescript
MiniSNSClient(region: string, endpoint?: string, undiciOptions?: Pool.Options, signer?: Signer | SignerOptions)
MiniSNSClient.publishMessage(message: PublishMessage): Promise<PublishResponse>
MiniSNSClient.publishMessageBatch(messages: PublishBatchMessage): Promise<PublishBatchResponse>
MiniSNSClient.destroy(signer?: boolean): Promise<[void, boolean | void]> // signer destroy default true
```

All types are defined in [schemas.ts](./src/schemas.ts) and are derived from the [AWS SNS API](https://docs.aws.amazon.com/sns/latest/api/API_Operations.html)
The main difference is that batch operations are not limited to 10 items, but accept any number of items and provide for running the batches needed to exhaust the total number of items.

## License
Licensed under [MIT](./LICENSE).
npm package: @fgiova/sorted-array
Description: permanent sorted array
Author: Francesco Giovannini
Latest version: 1.0.0

# SortedArray
[![NPM version](https://img.shields.io/npm/v/@fgiova/sorted-array.svg?style=flat)](https://www.npmjs.com/package/@fgiova/sorted-array)
![CI workflow](https://github.com/fgiova/sorted-array/actions/workflows/node.js.yml/badge.svg)
[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)

## Description
This simple module provides an array implementation, with a sorting feature using binary search algorithm.

Each time an element is inserted, it is placed in the correct position, so that the array is always sorted.<br/>
The sorting is implemented using binary search algorithm, so the complexity is O(log n).<br/>
All the elements are compared using the comparator function assigned on constructor or by default sort function.<br/>
The array as implemented using a native array, so it is not a linked list.<br/>
The array is mutable, but you cannot change the length of the array or remove elements except from the starting or ending array.<br/>
Methods that change the sort order are not implemented; the array is always sorted according to the default order of the comparison function.<br/>

## Installation
```bash
npm install @fgiova/sorted-array
```
## Usage
```typescript
import { SortedArray } from "@fgiova/sorted-array";

const array = new SortedArray<number>();

array.push(1, 3);
array.insert(2);

console.log(array); // [1, 2, 3]
```

### Constructor
```typescript
new SortedArray<T>(items?: T[] comparator?: (a: T, b: T) => number);
```
default comparator is:
```typescript
function comparatorFunction(a, b) {
    if (a < b) return -1;
    if (a >= b) return 1;
    return 0;
}
```
	
### Not implemented methods
- `splice`
- `sort`
- `reverse`
- `copyWithin`
- `fill`

### Benchmark
I have made a simple benchmark using [Benchmark.js](https://benchmarkjs.com/), comparing the performance of the `push` + `sort` methods of the native array and the `insert` method of this module.<br/>
The benchmark is available in the `benchmark` folder.<br/>
The results are the following:

| Function          |                |           |
|-------------------|----------------|-----------|
| Simple Sort Array | 228 ops/sec    | ±91.75%   |
| Sorted Array      | 3,340 ops/sec  | ±46.99%   |
npm package: @fgn-cobalto/button
Description: Button cobalto component
Author: Murilo
Latest version: 1.0.3

# `@cobalto/button`
### Installation

```
npm i @magnetita/button --save-dev
```

### Properties

```js
const props = {
  hasIcon: false,
  hasObject: false,
  iconName: "info",
  text: "Saiba tudo sobre este cartão",
  href: "https://www.foregon.com/solicitar/cartaodecredito/next/fgn/cartao-de-credito-next-visa-internacional/1470",
  className: ["primary", "pressed"],
}
```

### Pug

```pug
+button({
  text: "Saiba tudo sobre este cartão",
  className: ["primary"],
})
```

### Basic HTML Structure

```html
<button class="u-inline-flex c-button o-center c-button--primary">
  <span>Saiba tudo sobre este cartão</span>
</button>
```

### Styles

```scss
@import '@magnetita/button/button.scss';
```

### CSS Classes

CSS Class | Description
--- | ---
`c-button` |
`c-button--raised` |
`c-button--pressed` |
`c-button--primary` |
`c-button--secondary` |

## Dependencies

### Objects Classes

CSS Class | Description
--- | ---
`o-icon` |
`o-center` |

### Functional Classes

CSS Class | Description
--- | ---
`u-inline-flex` |

> _NOTE_: `@magnetita/objects` and `@magnetita/utility`  built this component


## Variants

### Raised

`c-button--raised`

### Pressed

`c-button--pressed`

### Primary

`c-button--primary`

### Secondary

`c-button--secondary`
npm package: @fgn-wc/button
Description: The Button LitElement Component
Author: Murilo
Latest version: 0.0.7

# `fgn-wc/button`

### Installation

```
npm i @fgn-wc/button --save-dev
```
### Basic usage

```html
<fgn-button primary pressed>
  <span slot="text">Descubra suas chances</span>
</fgn-button>
```
npm package: @fgnass/decap-cms
Description: An extensible, open source, Git-based, React CMS for static sites.
Latest version: 3.6.2-2025-04-02150018054

# Decap CMS

A CMS for static site generators. Give users a simple way to edit
and add content to any site built with a static site generator.

[decapcms.org](https://www.decapcms.org/) 

## Community Chat

<a href="https://decapcms.org/chat">Join us on Discord</a>

## How It Works

Decap CMS is a single-page app that you pull into the `/admin` part of your site.

It presents a clean UI for editing content stored in a Git repository.

You setup a YAML config to describe the content model of your site, and typically
tweak the main layout of the CMS a bit to fit your own site.

When a user navigates to `/admin/` they'll be prompted to log in, and once authenticated
they'll be able to create new content or edit existing content.

Read more about Decap CMS [Core Concepts](https://www.decapcms.org/docs/intro/).

## Installation and Configuration

The Decap CMS can be used in two different ways.

* A Quick and easy install, that requires you to create a single HTML file and a configuration file. All the CMS JavaScript and CSS are loaded from a CDN.
  To learn more about this installation method, refer to the [Quick Start Guide](https://www.decapcms.org/docs/quick-start/)
* A complete, more complex install, that gives you more flexibility but requires that you use a static site builder with a build system that supports npm packages.

## Contributing

New contributors are always welcome! Check out [CONTRIBUTING.md](https://github.com/decaporg/decap-cms/blob/main/CONTRIBUTING.md) to get involved.

## Change Log

This project adheres to [Semantic Versioning](http://semver.org/).
Every release is documented on the GitHub [Releases](https://github.com/decaporg/decap-cms/releases) page.

## License

Decap CMS is released under the [MIT License](LICENSE).
Please make sure you understand its [implications and guarantees](https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html).

## Maintainers

Maintained with care by <a href="https://techhub.p-m.si/">PM</a> & friends.
npm package: @fgnass/decap-cms-app
Description: An extensible, open source, Git-based, React CMS for static sites. Reusable congiuration with React as peer.
Latest version: 3.6.2-2025-04-02150018054

# Decap CMS App
_For a Decap CMS overview, see the general [Decap CMS project README](https://github.com/decaporg/decap-cms)._

## Purpose
This package is similar to the [`decap-cms`](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms/) package, but is designed for use with extensions. It serves that purpose in the following ways.

- It does not automatically initialize - you must run the CMS `init` method.
- It does not include `react` or `react-dom` - they are required as peer dependencies.
- It does not include the following extensions:
  - [`decap-cms-media-library-cloudinary`]
  - [`decap-cms-media-library-uploadcare`]
  
## Usage
Install via script tag:

```html
<!-- Excluding `doctype` and `head` but you should add them -->
<body>
  <!-- Add these scripts to the bottom of the body -->
  <script src="https://unpkg.com/react@^18/umd/react.production.min.js"></script>
  <script src="https://unpkg.com/react-dom@^18/umd/react-dom.production.min.js"></script>
  <script src="https://unpkg.com/decap-cms-app/dist/decap-cms-app.js"></script>
  
  <!-- Initialize the CMS -->
  <script>
    DecapCmsApp.init();
  </script>
</body>
```

Install via npm:

```
npm i react react-dom decap-cms-app
```

```js
import CMS from 'decap-cms-app';

CMS.init();
```
npm package: @fgnass/decap-cms-backend-aws-cognito-github-proxy
Description: GitHub backend for Decap CMS proxied through AWS Cognito
Latest version: 3.2.2-2025-04-02150018054

# GitHub backend

An abstraction layer between the CMS and a proxied version of [Github](https://docs.github.com/en/rest).

## Code structure

`Implementation` - wraps [Github Backend](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-auth/README.md) for proxied version of Github.

`AuthenticationPage` -  uses [lib-auth](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-auth/README.md) to create an AWS Cognito compatible generic Authentication page supporting PKCE.
npm package: @fgnass/decap-cms-backend-azure
Description: Azure DevOps backend for Decap CMS
Latest version: 3.1.3-2025-04-02150018054

# Azure backend

An abstraction layer between the CMS and [Azure DevOps](https://docs.microsoft.com/en-us/rest/api/azure/devops/git/)

## Code structure

`Implementation` for [File Management System API](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-util/README.md) based on `Api`.

`Api` - A wrapper for Azure DevOps REST API.

`AuthenticationPage` - facilitates implicit authentication flow. Uses [lib-auth](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-auth/README.md).

Look at tests or types for more info.
npm package: @fgnass/decap-cms-backend-bitbucket
Description: Bitbucket backend for Decap CMS
Latest version: 3.1.4-2025-04-02150018054

# Bitbucket backend

An abstraction layer between the CMS and [Bitbucket](https://docs.microsoft.com/en-us/rest/api/azure/devops/git/)

## Code structure

`Implementation` for [File Management System API](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-util/README.md) based on `Api` and `LargeMedia(LFS)`. With [Editorial Workflow](https://www.decapcms.org/docs/beta-features/#gitlab-and-bitbucket-editorial-workflow-support) uses pull requests comments to track unpublished entries statuses.

`Api` - A wrapper for Bitbucket REST API.

`AuthenticationPage` - uses [lib-auth](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-auth/README.md) to facilitate OAuth and implicit authentication.

Look at tests or types for more info.
npm package: @fgnass/decap-cms-backend-git-gateway
Description: Git Gateway backend for Decap CMS
Latest version: 3.2.2-2025-04-02150018054

# Git Gateway

Netlify's [gateway](https://github.com/netlify/git-gateway) to hosted git APIs.

## Code structure

`Implementation` for [File Management System API](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-util/README.md) based on `Api`.

`Api` and `Implementation` from backend-[github](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-backend-github/README.md)/[gitlab](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-backend-gitlab/README.md)/[bitbacket](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-backend-bitbacket/README.md) extended with Netlify-specific `LargeMedia(LFS)` and `JWT` auth.

`AuthenticationPage` - uses [lib-auth](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-auth/README.md) and implements Netlify Identity authentication flow.

Look at tests or types for more info.

## Debugging

When debugging the CMS with Git Gateway you must:

1. Have a Netlify site with [Git Gateway](https://docs.netlify.com/visitor-access/git-gateway/) and [Netlify Identity](https://docs.netlify.com/visitor-access/identity/) enabled. An easy way to create such a site is to use a [template](https://www.decapcms.org/docs/start-with-a-template/), for example the [Gatsby template](https://app.netlify.com/start/deploy?repository=https://github.com/decaporg/gatsby-starter-decap-cms&stack=cms)
2. Tell the CMS the URL of your Netlify site using a local storage item. To do so:

    1. Open `http://localhost:8080/` in the browser
    2. Write the below command and press enter: `localStorage.setItem('netlifySiteURL', 'https://yourwebsiteurl.netlify.app/')`
    3. To be sure, you can run this command as well: `localStorage.getItem('netlifySiteURL')`
    4. Refresh the page
    5. You should be able to log in via your Netlify Identity email/password
npm package: @fgnass/decap-cms-backend-github
Description: GitHub backend for Decap CMS
Latest version: 3.2.2-2025-04-02150018054

# GitHub backend

An abstraction layer between the CMS and [GitHub](https://docs.github.com/en/rest)

## Code structure

`Implementation` for [File Management System API](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-util/README.md) based on `Api`.

`Api` - A wrapper for GitHub REST API.

`GraphQLApi` - `Api` with `ApolloClient`. [Api docs](https://docs.github.com/en/graphql) and [netlify docs](https://www.decapcms.org/docs/beta-features/#github-graphql-api).

`AuthenticationPage` -  uses [lib-auth](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-auth/README.md) to facilitate OAuth and implicit authentication.

`scripts` -  use `createFragmentTypes.js` to create GitHub GraphQL API fragment types.

Look at tests or types for more info.
npm package: @fgnass/decap-cms-backend-gitlab
Description: GitLab backend for Decap CMS
Latest version: 3.2.2-2025-04-02150018054

# GitLab backend

An abstraction layer between the CMS and [GitLab](https://docs.gitlab.com/ee/api/README.html)

## Code structure

`Implementation` for [File Management System API](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-util/README.md) based on `Api`. With [Editorial Workflow](https://www.decapcms.org/docs/beta-features/#gitlab-and-bitbucket-editorial-workflow-support) uses merge requests labels to track unpublished entries statuses.

`Api` - A wrapper for GitLab REST API.

`AuthenticationPage` - A component uses [lib-auth](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-auth/README.md) to facilitate OAuth, PKCE and implicit authentication.

Look at tests or types for more info.
npm package: @fgnass/decap-cms-backend-proxy
Description: Proxy backend for Decap CMS
Latest version: 3.1.4-2025-04-02150018054

# Proxy backend

Facilitates [local development](https://www.decapcms.org/docs/beta-features/#working-with-a-local-git-repository).

## Code structure

`Implementation` for [File Management System API](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-util/README.md). An `RPC` wrapper for `decap-server`.

`AuthenticationPage` - a mock authentication page
npm package: @fgnass/decap-cms-backend-test
Description: Development testing backend for Decap CMS
Latest version: 3.1.3-2025-04-02150018054

# Test backend

The backend behind https://demo.decapcms.org/.
Used for demo purposes only.

## Code structure

`Implementation` for [File Management System API](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-lib-util/README.md) based on simple JS objects:

```js
window.repoFiles // json file-system tree
window.repoFilesUnpublished // flat file list
```

`AuthenticationPage` - A component which allow skip `login screen` for demo purposes.

Look at tests or types for more info.
npm package: @fgnass/decap-cms-core
Description: Decap CMS core application, see decap-cms package for the main distribution.
Latest version: 3.6.1-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-core/README.md)!
npm package: @fgnass/decap-cms-editor-component-image
Description: Image component for Decap CMS editor widget
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-editor-component-image/README.md)!
npm package: @fgnass/decap-cms-lib-util
Description: Shared utilities for Decap CMS.
Latest version: 3.2.0-2025-04-02150018054

# Lib Util

Shared utilities to handle various `decap-cms-backend-*` backends operations.

## Code structure

This structure should be the same for backends.

At first, look at `Implementation`. This is File Management System API and has factory method for `AuthComponent`.

### File Management System API

An abstraction layer between the CMS and Git-repository manager API.

Used as backend in [cms-core](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-core/README.md).

### Low-level abstractions for Git-repository manager API:

- `API` - used for Entry files
- `git-lfs` - used for Media files
- and over halpful utilities
npm package: @fgnass/decap-cms-lib-widgets
Description: Shared utilities for Decap CMS.
Latest version: 3.1.0-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-lib-widgets/README.md)!
npm package: @fgnass/decap-cms-locales
Description: Locales for Decap CMS.
Latest version: 3.3.0-2025-04-02150018054

# Decap CMS Locales

## Default translations for Decap CMS

The English translation is loaded by default.

To register another locale you can use the following code:

```js
import CMS from 'decap-cms-app';
import { de } from 'decap-cms-locales';

CMS.registerLocale('de', de);
```

> When importing `decap-cms` all locales are registered by default.

Make sure the specific locale exists in the package - unless we will happily accept a pull request for it.

The configured locale will be merge into the English one so don’t worry about missing some phrases.
npm package: @fgnass/decap-cms-media-library-cloudinary
Description: Cloudinary integration for Decap CMS
Latest version: 3.0.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-media-library-cloudinary/README.md)!
npm package: @fgnass/decap-cms-media-library-uploadcare
Description: Uploadcare integration for Decap CMS
Latest version: 3.0.2-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-media-library-uploadcare/README.md)!
npm package: @fgnass/decap-cms-ui-default
Description: Default UI components for Decap CMS.
Latest version: 3.1.4-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-ui-default/README.md)!
npm package: @fgnass/decap-cms-widget-boolean
Description: Widget for editing boolean values in Decap CMS.
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-boolean/README.md)!
npm package: @fgnass/decap-cms-widget-code
Description: Widget for editing code in Decap CMS
Latest version: 3.1.4-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-code/README.md)!
npm package: @fgnass/decap-cms-widget-colorstring
Description: Widget for editing color strings in Decap CMS.
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-colorstring/README.md)!
npm package: @fgnass/decap-cms-widget-datetime
Description: Widget for editing dates and times in Decap CMS.
Latest version: 3.2.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-datetime/README.md)!
npm package: @fgnass/decap-cms-widget-file
Description: Widget for uploading files in Decap CMS.
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-file/README.md)!
npm package: @fgnass/decap-cms-widget-image
Description: Widget for uploading images in Decap CMS.
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-image/README.md)!
npm package: @fgnass/decap-cms-widget-list
Description: Widget for editing lists in Decap CMS.
Latest version: 3.3.0-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-list/README.md)!
npm package: @fgnass/decap-cms-widget-map
Description: Widget for editing spatial data in Decap CMS.
Latest version: 3.1.4-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-map/README.md)!
npm package: @fgnass/decap-cms-widget-markdown
Description: Widget for editing markdown in Decap CMS.
Latest version: 3.3.0-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-markdown/README.md)!
npm package: @fgnass/decap-cms-widget-number
Description: Widget for editing numeric values in Decap CMS.
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-number/README.md)!
npm package: @fgnass/decap-cms-widget-object
Description: Widget for displaying an object of fields for Decap CMS.
Latest version: 3.3.1-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-object/README.md)!
npm package: @fgnass/decap-cms-widget-relation
Description: Widget for linking related entries in Decap CMS.
Latest version: 3.3.2-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-relation/README.md)!
npm package: @fgnass/decap-cms-widget-select
Description: Selectable values widget for Decap CMS.
Latest version: 3.2.2-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-select/README.md)!
npm package: @fgnass/decap-cms-widget-string
Description: Widget for editing plain string values in Decap CMS.
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-string/README.md)!
npm package: @fgnass/decap-cms-widget-text
Description: Widget for editing multiline plain string values in Decap CMS.
Latest version: 3.1.3-2025-04-02150018054

# Docs coming soon!

Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:

1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
   site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-text/README.md)!
npm package: @fgnass/decap-server
Description: Proxy server to be used with Decap CMS proxy backend
Latest version: 3.2.0-2025-04-02150018054

# Decap CMS Proxy Server

Decap CMS Proxy Server is an express server created to facilitate local development.

## How It Works

1. Navigate to a local Git repository configured with the CMS.
2. Run `npx decap-server` from the root directory of the above repository.
3. Update your `config.yml` to connect to the server:

```yaml
backend:
  name: proxy
  proxy_url: http://localhost:8081/api/v1
  branch: master # optional, defaults to master
```

4. Start you local development server (e.g. run `gatsby develop`).

## Custom Configuration

1. Create a `.env` file in the root directory of your local Git repository.
2. Update the file as follows:

```bash
# optional, defaults to current directory
GIT_REPO_DIRECTORY=FULL_PATH_TO_LOCAL_GIT_REPO
# optional, defaults to 8081
PORT=CUSTOM_PORT
```
npm package: @fgnass/decapp
Description: Pre-built version of decap-cms-app
Author: Felix Gnass
Latest version: 1.1.0

# Pre-bundled version of decap-cms-app

- Uses Vite for bundling
- Adds Node polyfills for path and stream
- Uses rehype-dom for smaller bundle size
- Removes evals in @iarna/toml and gray-matter
- Forces newer version of react-scroll-sync to support React 19
- Consolidates loash and lodash-es
- Improves tree shaking by using dynamic imports

## Usage

```ts
import {
  CMS,
  registerCoreWidgets,
  registerGitGatewayBackend,
  registerProxyBackend,
} from "@fgnass/decapp";

async function init() {
  await registerCoreWidgets();
  await registerGitGatewayBackend();
  await registerProxyBackend();
  await registerLocale("en");

  CMS.init({
    //...
  });
}

init();
```
npm package: @fgrid-ngx/mde
Description: Angular Material Extended
Author: Joe Jordan Brown
Latest version: 3.0.10

#  Angular Popover

This is a fork from the excellent [@material-extended/mde 3.03](https://www.npmjs.com/package/@material-extended/mde) project.   The only change is to allow the library to be installed with Angular 10+ without using the --force flag, whereas the current version of the base library currently only allows Angular 8 and 9.

The base library should always be used in preference to this if using Angular 8 or 9, and once the base library is updated to Angular 10+, this fork will be redundant.
npm package: @fgrzl/fetch
Description: A modern, type-safe HTTP client with middleware support for CSRF protection and authentication
Author: smiggleworth
Latest version: 1.4.2

[![ci](https://github.com/fgrzl/fetch/actions/workflows/ci.yml/badge.svg)](https://github.com/fgrzl/fetch/actions/workflows/ci.yml)

# @fgrzl/fetch

A tiny, TypeScript-first wrapper around `fetch` that adds typed responses and composable middleware.

## What

- Lightweight HTTP client built on the browser `fetch` API.
- Returns a consistent response shape (`ok`, `data`, `error`).
- Built-in, optional middleware: auth, retry, cache, logging, CSRF, rate-limit.

## Why

- Removes repetitive request boilerplate (base URLs, headers, retries).
- Keeps runtime small and TypeScript-friendly.
- Compose only the middleware you need — zero-config defaults when useful.

## How

1. Install

```bash
npm install @fgrzl/fetch
```

2. Quick example

```ts
import api from "@fgrzl/fetch";

api.setBaseUrl("https://api.example.com");
const res = await api.get<{ id: number; name: string }>("/users");
if (res.ok) console.log(res.data);
```

## Examples

### Set base URL

```ts
api.setBaseUrl("https://api.example.com");
await api.get("/users");
```

### POST with JSON

```ts
const created = await api.post("/users", { name: "Ava" });
```

### Typed response

```ts
interface User {
  id: number;
  name: string;
}
const r = await api.get<User>("/me");
if (r.ok) r.data.name;
```

### Add authentication middleware

```ts
import { addAuthentication } from "@fgrzl/fetch/middleware/authentication";
const authed = addAuthentication(api, {
  tokenProvider: () => localStorage.getItem("token") || "",
});
await authed.get("/private");
```

### Cancel / timeout

```ts
const c = new AbortController();
api.get("/data", {}, { signal: c.signal, timeout: 5000 });
c.abort();
```

Docs: `docs/getting-started.md`
npm package: @fgrzl/fetch-gen
Description: Generate @fgrzl/fetch clients from OpenAPI spec
Author: smiggleworth
Latest version: 1.3.2

[![ci](https://github.com/fgrzl/fetch-gen/actions/workflows/ci.yml/badge.svg)](https://github.com/fgrzl/fetch-gen/actions/workflows/ci.yml)
[![publish](https://github.com/fgrzl/fetch-gen/actions/workflows/publish.yml/badge.svg)](https://github.com/fgrzl/fetch-gen/actions/workflows/publish.yml)
[![Dependabot Updates](https://github.com/fgrzl/fetch-gen/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/fgrzl/fetch-gen/actions/workflows/dependabot/dependabot-updates)

# @fgrzl/fetch-gen

Generate @fgrzl/fetch clients from OpenAPI spec.

see -> https://github.com/fgrzl/fetch

## Usage

#### use default fetch client

```bash
npx @fgrzl/fetch-gen --input openapi.yaml --output ./src/api.ts
```

#### use a custom client defined in ./src/custom.ts

```bash
npx @fgrzl/fetch-gen --input openapi.yaml --output ./src/api.ts --instance ./src/custom
```

#### create custom script in package.json

```json
{
  "scripts": {
    "fetch-gen": "npx @fgrzl/fetch-gen --input openapi.yaml --output ./src/api.ts"
  }
}
```

## Generated API Usage

Generate your API client to `src/adapters/generated.ts`:

```bash
npx @fgrzl/fetch-gen --input openapi.yaml --output ./src/adapters/generated.ts
```

### Simple Setup

Create `src/adapters/index.ts` for basic usage:

```typescript
import { createAdapter } from './generated';
import client from '@fgrzl/fetch';

// Set the base URL and create your adapter
client.setBaseUrl('https://api.example.com');
const myAdapter = createAdapter(client);

export default myAdapter;
```

Now you can use it throughout your application:

```typescript
import myAdapter from './src/adapters';

const response = await myAdapter.getUser();
if (response.ok) {
  console.log(response.data); // Your typed data
} else {
  console.error(response.error?.message);
}
```

### Advanced Configuration

For production applications, you can add authentication, retry logic, and other middleware:

```typescript
import { createAdapter } from './generated';
import { FetchClient, useAuthentication, useRetry } from '@fgrzl/fetch';

// Create base client with full configuration
let client = new FetchClient({
  baseUrl: 'https://api.example.com',
  credentials: 'same-origin',
  headers: {
    'Content-Type': 'application/json',
  },
});

// Add authentication
client = useAuthentication(client, {
  tokenProvider: () => localStorage.getItem('auth-token') || '',
});

// Add retry logic
client = useRetry(client, {
  maxRetries: 3,
  delay: 1000,
  backoff: 'exponential',
});

// Create the adapter
const myAdapter = createAdapter(client);

export default myAdapter;
```