open-index/open-npm huggingface dataset:
npm package: @spacehatch/hatch-content-atomics
Description: ``` npm run build:watch // build package automatically from lib/ to build/ npm run lint:watch // check automatically for lint errors npm link // link package for local development npm publish --access public ```
Author: Space HATCH
Latest version: 0.2.1

# hatch-content-atomics

#### Development
```
npm run build:watch // build package automatically from lib/ to build/
npm run lint:watch // check automatically for lint errors
npm link // link package for local development
npm publish --access public
```
npm package: @spacehatch/hatch-content-editor
Description: ``` npm run build:watch // build package automatically from lib/ to build/ npm run lint:watch // check automatically for lint errors npm link // link package for local development npm link @spacehatch/hatch-content-atomics // use package linked with p
Author: Space HATCH
Latest version: 0.2.4

# hatch-content-editor

#### Development
```
npm run build:watch // build package automatically from lib/ to build/
npm run lint:watch // check automatically for lint errors
npm link // link package for local development
npm link @spacehatch/hatch-content-atomics // use package linked with previous step
npm publish --access public
```
npm package: @spacehq/mailbox
Description: Space Mailbox implementation
Author: FleekHQ
Latest version: 0.0.30

# @spacehq/mailbox

## Mailbox Package for Space SDK

Full SDK Documentation can be [here](https://fleekhq.github.io/space-sdk/).

### Exported Classes
- `Mailbox`: Is a client wrapper for interacting with the Textile Mailbox API. See docs [here](https://fleekhq.github.io/space-sdk/docs/sdk.mailbox).
npm package: @spacehq/storage
Description: Space storage implementation
Author: FleekHQ
Latest version: 0.0.30

# @spacehq/storage

## Storage Package for Space SDK

Full SDK Documentation can be [here](https://fleekhq.github.io/space-sdk/).

### Exported Classes
- `UserStorage`: Performs storage operations for a particular user. See docs [here](https://fleekhq.github.io/space-sdk/docs/sdk.userstorage).
npm package: @spacehq/users
Description: Space users implementation
Author: FleekHQ
Latest version: 0.0.30

# @spacehq/user

## User and Identity Package for Space SDK

Full SDK Documentation can be [here](https://fleekhq.github.io/space-sdk/).

### Exported Classes
- `Users`: Is a client wrapper for interacting with the Textile Users API. See docs [here](https://fleekhq.github.io/space-sdk/docs/sdk.users).
npm package: @spacehq/utils
Description: Space Common Utils
Author: FleekHQ
Latest version: 0.0.30

# @spacehq/utils

## Common Utils for Space SDK

Full SDK Documentation can be [here](https://fleekhq.github.io/space-sdk/).

### Exported Classes
- `crypto`: Utils related to public/private keys. See docs [here](https://fleekhq.github.io/space-sdk/docs/sdk.utils).
npm package: @spaceinvoices/js-sdk
Description: Official JavaScript/TypeScript SDK for the Space Invoices API
Author: Space Invoices
Latest version: 2.3.4

# @spaceinvoices/js-sdk

Official JavaScript/TypeScript SDK for the Space Invoices API.

## Installation

```bash
npm install @spaceinvoices/js-sdk
# or
bun add @spaceinvoices/js-sdk
```

## Usage

### Full SDK (Recommended)

```typescript
import SpaceInvoices from '@spaceinvoices/js-sdk';

const sdk = new SpaceInvoices({ accessToken: 'your-api-key' });

// List invoices
const invoices = await sdk.invoices.list();

// Create an invoice
const invoice = await sdk.invoices.create({
  entityId: 'entity_123',
  body: {
    date: '2024-01-15',
    items: [{ name: 'Service', price: 100 }]
  }
});
```

### Tree-Shakeable Import (Smaller Bundles)

```typescript
import { initSDK, invoices, customers } from '@spaceinvoices/js-sdk';

// Initialize once at app startup
initSDK({ accessToken: 'your-api-key' });

// Use individual modules anywhere
const result = await invoices.list();
```

### Configuration Options

```typescript
const sdk = new SpaceInvoices({
  accessToken: 'your-api-key',
  // Optional: custom API base URL
  basePath: 'https://eu.spaceinvoices.com',
  // Optional: callback for 401 responses
  onUnauthorized: (response) => {
    console.log('Token expired, refreshing...');
  }
});
```

### Dynamic Token

```typescript
const sdk = new SpaceInvoices({
  accessToken: async () => {
    // Fetch token from your auth system
    return await getAccessToken();
  }
});
```

## Features

- **Full TypeScript Support** - Complete type definitions for all API methods
- **Tree-Shakeable** - Import only what you need for smaller bundles
- **ESM & CJS** - Works in Node.js, browsers, and modern bundlers
- **Zod Schemas** - Optional Zod schemas for form validation

## Zod Schemas

For form validation, import Zod schemas:

```typescript
import { zod } from '@spaceinvoices/js-sdk';

// Validate invoice creation data
const result = zod.invoices.CreateInvoiceBody.safeParse(formData);
if (!result.success) {
  console.log(result.error.issues);
}

// Available schemas follow PascalCase naming:
// - zod.invoices.CreateInvoiceBody
// - zod.customers.CreateCustomerBody
// - zod.items.CreateItemBody
// - etc.
```

## Documentation

- [API Documentation](https://docs.spaceinvoices.com)

## Development

```bash
# Generate SDK (deterministic by default from apps/api/openapi.json)
bun run generate

# Or generate from a live API explicitly
OPENAPI_TARGET=http://localhost:3000/openapi.json bun run generate

# If OpenAPI examples changed, refresh docs artifacts too
cd ../../apps/docs && bun run generate

# Build for distribution
bun run build
```

## License

MIT
npm package: @spacek33z/rrweb-snapshot
Description: rrweb's component to take a snapshot of DOM, aka DOM serializer
Author: yanzhen@smartx.com
Latest version: 2.0.0-alpha.9

# rrweb-snapshot

[![Build Status](https://travis-ci.org/rrweb-io/rrweb.svg?branch=master)](https://travis-ci.org/rrweb-io/rrweb) [![Join the chat at slack](https://img.shields.io/badge/slack-@rrweb-teal.svg?logo=slack)](https://join.slack.com/t/rrweb/shared_invite/zt-siwoc6hx-uWay3s2wyG8t5GpZVb8rWg)

Snapshot the DOM into a stateful and serializable data structure.
Also, provide the ability to rebuild the DOM via snapshot.

## API

This module export following methods:

### snapshot

`snapshot` will traverse the DOM and return a stateful and serializable data structure which can represent the current DOM **view**.

There are several things will be done during snapshot:

1. Inline some DOM states into HTML attributes, e.g, HTMLInputElement's value.
2. Turn script tags into `noscript` tags to avoid scripts being executed.
3. Try to inline stylesheets to make sure local stylesheets can be used.
4. Make relative paths in href, src, CSS to be absolute paths.
5. Give an id to each Node, and return the id node map when snapshot finished.

#### rebuild

`rebuild` will build the DOM according to the taken snapshot.

There are several things will be done during rebuild:

1. Add data-rrid attribute if the Node is an Element.
2. Create some extra DOM node like text node to place inline CSS and some states.
3. Add data-extra-child-index attribute if Node has some extra child DOM.

#### serializeNodeWithId

`serializeNodeWithId` can serialize a node into snapshot format with id.

#### buildNodeWithSN

`buildNodeWithSN` will build DOM from serialized node and store serialized information in the `mirror.getMeta(node)`.
npm package: @spacelephantlabs/vuepress-plugin-matomo-spacelephant
Description: Matomo plugin for vuepress >= 1.0 for Space Elephant's projects
Author: Space Elephant SAS
Latest version: 1.1.1

# Matomo Vuepress Plugin for Space Elephant projects

Allows Matomo access tracking on vuepress >= 1.0. Does not work on
Vuepress 0.x, requires 1.x alpha branch with plugin support.

This project is a fork of https://github.com/qdot/vuepress-plugin-matomo, specialized for Space Elephant's projects.

## Installation

```
yarn add vuepress-plugin-matomo-spacelephant
```

## Vuepress Setup

Add the following block to the plugins array of your *config.js* file.

```js
// ...
  plugins: [
    // ... other plugins...
    [
      "vuepress-plugin-matomo-spacelephant":
      {
        'siteId': 1,
      }
    ],
    // ... more plugins...
  ]
// ...
```
## Plugin Options

* siteID (number, **Required**)
    * Matomo numeric site ID of the site you want to track
* trackerUrl (string, Optional)
    * URL where the matomo.php/matomo.js files can be found. Already configured for all Space Elephant's projects
* trackerJsFile (string, defaults to `js/`, Optional)
    * Name of the js file to call on the matomo server
* trackerPhpFile (string, defaults to `r.php`, Optional)
    * Name of the php file to call on the matomo server
* enableLinkTracking (boolean, defaults to `true`, Optional)
    * Enable/disable link click tracking
    
## License

MIT License, see [LICENSE.txt](LICENSE.txt) for more info.
npm package: @spacelephantlabs/vuepress-plugin-rocketchat-livechat
Description: Rocket.chat Livechat plugin for vuepress >= 1.0
Author: Space Elephant SAS
Latest version: 1.0.0

# Matomo Vuepress Plugin

Allows Matomo access tracking on vuepress >= 1.0. Does not work on
Vuepress 0.x, requires 1.x alpha branch with plugin support.

This project takes many ideas from
[vue-matomo](https://github.com/AmazingDreams/vue-matomo/), but tries
to make them SSR friendly for vuepress usage.

## Installation

```
npm install vuepress-plugin-matomo
```

or 

```
yarn add vuepress-plugin-matomo
```

## Vuepress Setup

Add the following block to the plugins array of your *config.js* file.

```js
// ...
  plugins: [
    // ... other plugins...
    [
      "vuepress-plugin-matomo":
      {
        'siteId': 1,
        'trackerUrl': "https://my.matomo.url.here/"
      }
    ],
    // ... more plugins...
  ]
// ...
```

Also [see vuepress' plugin page](https://vuepress.vuejs.org/plugin/using-a-plugin.html). This plugin uses [babel-style options](https://vuepress.vuejs.org/plugin/using-a-plugin.html#plugin-options) for configuration.

## Plugin Options

* trackerUrl (string, **Required**)
    * URL where the piwik.php/piwik.js files can be found
* siteID (number, **Required**)
    * Matomo numeric site ID of the site you want to track
* trackerJsFile (string, defaults to "piwik.js", Optional)
    * Name of the js file to call on the matomo server
* trackerPhpFile (string, defaults to "piwik.php", Optional)
    * Name of the php file to call on the matomo server
* enableLinkTracking (boolean, defaults to true, Optional)
    * Enable/disable link click tracking
    
## License

MIT License, see [LICENSE.txt](LICENSE.txt) for more info.
npm package: @spacelift-io/backstage-integration-backend
Description: Backstage plugin for integrating Spacelift.io with Backstage
Latest version: 0.3.1

# Spacelift Backend Plugin

This backend plugin for Backstage integrates with Spacelift to provide information about your Spacelift stacks and runs.

## Installation

1. Install the plugin package in your Backstage backend:

   ```bash
   # From your Backstage root directory
   yarn --cwd packages/backend add @spacelift-io/backstage-integration-backend
   ```

2. Add the plugin to your backend in `packages/backend/src/index.ts`:

   ```ts
   // packages/backend/src/index.ts
   import { createBackend } from '@backstage/backend-defaults';

   const backend = createBackend();
   // ...
   backend.add(import('@spacelift-io/backstage-integration-backend'));
   // ...
   await backend.start();
   ```

## Configuration

To use this plugin, you need to configure it in your `app-config.yaml`. Add the following section:

```yaml
spacelift:
  hostUrl: '<your-subdomain>.app.spacelift.io' # Your Spacelift instance URL (WITHOUT https://)
  apiKey: ${SPACELIFT_API_KEY} # Your Spacelift API Key ID
  apiSecret: ${SPACELIFT_API_SECRET} # Your Spacelift API Key Secret
  readOnly: false # Optional: Set to true to disable trigger functionality (default: false)
```

Make sure to replace `<your-subdomain>` with your actual Spacelift subdomain.
The `apiKey` and `apiSecret` should be stored securely, for example, as environment variables.

### Read-Only Mode

You can enable read-only mode by setting `readOnly: true` in your configuration. When enabled:

- The trigger run functionality will be disabled
- Users will not be able to trigger runs from the frontend
- The backend will return a `403 Forbidden` error if someone attempts to trigger a run via the API
- All other read operations (viewing stacks, etc.) will continue to work normally

This is useful for environments where you want to provide visibility into Spacelift stacks without allowing users to trigger runs.

> **Tip:** For additional security, admins can also create a Spacelift API key with read-only permissions. This ensures write operations are disabled at the API key level, providing defense-in-depth even if the `readOnly` configuration is accidentally omitted.

## Compatibility

This plugin requires:

- `@backstage/backend-plugin-api` >= 1.3.0
- `@backstage/backend-defaults` >= 0.9.0
- `@backstage/catalog-client` >= 1.9.1

It is compatible with Backstage 1.17.0 or later.

## Frontend Plugin

This backend plugin is intended to be used with the [Spacelift Frontend Plugin](https://github.com/spacelift-io/backstage-plugins/blob/main/packages/spacelift-io-frontend/README.md).

## Spacelift Documentation

For more information about Spacelift and its API, please refer to the [official Spacelift documentation](https://docs.spacelift.io/integrations/external-integrations/backstage).