open-index/open-npm huggingface dataset:
npm package: @pacin/angular-google-tag-manager
Description: A service library for integrate google tag manager in your angular project
Author: marcozuccaroli@gmail.com
Latest version: 1.1.7

# Angular Google Tag Manager Service

A service library for integrate google tag manager in your angular project
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.
For more info see this [how to install google tag manager article](https://itnext.io/how-to-add-google-tag-manager-to-an-angular-application-fc68624386e2) 

## Getting Started

After installing it you need to provide your GTM id in app.module.ts 

```
    providers: [
        ...
        {provide: 'googleTagManagerId',  useValue: YOUR_GTM_ID}
    ],
```
inject the gtmService in your controller

```
constructor(
        ...
        private gtmService: GoogleTagManagerService,
    ) { }
```

then you can start pushing events on your gtm

```
 this.router.events.forEach(item => {
            if (item instanceof NavigationEnd) {
                const gtmTag = {
                    event: 'page',
                    pageName: item.url
                };

                this.gtmService.pushTag(gtmTag);
            }
        });
```

if you want to recive tags without pushing events simply call the function to enable it
```
    this.gtmService.addGtmToDom();
```

### Installing

In your Angular project run

```
npm i --save  angular-google-tag-manager
```

### Custom configuration and GTM environments
You can pass *gtm_preview* and *gtm_auth* optional variables to your GTM by providing them in app.module.ts 

```
    providers: [
        ...
        {provide: 'googleTagManagerId',  useValue: YOUR_GTM_ID},
        {provide: 'googleTagManagerAuth',  useValue: YOUR_GTM_AUTH},
        {provide: 'googleTagManagerPreview',  useValue: YOUR_GTM_ENV}
    ],
```

## Authors

* **Marco Zuccaroli** - *Initial work* - [Marco Zuccaroli](https://github.com/mzuccaroli)

See also the list of [contributors](https://github.com/mzuccaroli/angular-google-tag-manager/graphs/contributors) who participated in this project.

## License

This project is licensed under the MIT License

## Acknowledgments

* Thanks to PurpleBooth for the [Readme Template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2)
npm package: @paciolan/eslint-config
Description: Paciolan ESLint default settings with Prettier.
Author: Paciolan
Latest version: 1.5.0

# @paciolan/eslint-config

Paciolan ESLint default settings with Prettier.

## Install

```bash
# Install @paciolan/eslint-config
npm install -D @paciolan/eslint-config

# Install Peer Dependencies
npm install -D eslint@5 prettier eslint-plugin-prettier eslint-config-prettier
```

Create an `.eslintrc.yml` file:

```yaml
extends: ["@paciolan"]
```

Add a `lint` script in `package.json`:

```javascript
  {
    "scripts": {
      "lint": "eslint ."
    }
  }
```

## Rules

- ["prettier/prettier": "error"](https://github.com/prettier/eslint-config-prettier)
- ["no-unused-vars": "error"](https://eslint.org/docs/rules/no-unused-vars)
- ["no-undef": "error"](https://eslint.org/docs/rules/no-undef)
- ["max-lines-per-function": ["warn", 20]](https://eslint.org/docs/rules/max-lines-per-function)

## Contributors

Joel Thoms ([@joelnet](https://twitter.com/joelnet))
npm package: @paciolan/eslint-config-react
Description: Paciolan ESLint default settings with Prettier for React applications.
Author: Paciolan
Latest version: 1.0.4

# @paciolan/eslint-config-react

Paciolan ESLint default settings with Prettier for React applications.

## Install

```bash
# Install @paciolan/eslint-config-react
npm install -D @paciolan/eslint-config-react

# Install Peer Dependencies
npm install -D babel-eslint eslint@5 prettier \
  eslint-plugin-prettier eslint-plugin-babel \
  eslint-config-prettier eslint-plugin-react
```

Create an `.eslintrc.yml` file:

```yaml
extends: ["@paciolan/react"]
```

Add a `lint` script in `package.json`:

```javascript
  {
    "scripts": {
      "lint": "eslint ."
    }
  }
```

## Rules

- ["prettier/prettier": "error"](https://github.com/prettier/eslint-config-prettier)
- ["no-unused-vars": "error"](https://eslint.org/docs/rules/no-unused-vars)
- ["no-undef": "error"](https://eslint.org/docs/rules/no-undef)
- ["max-lines-per-function": ["warn", 20]](https://eslint.org/docs/rules/max-lines-per-function)
- ["react/prop-types": "warn"](https://github.com/yannickcr/eslint-plugin-react/blob/HEAD/docs/rules/prop-types.md)

## Contributors

Joel Thoms ([@joelnet](https://twitter.com/joelnet))
npm package: @paciolan/raw-yaml-merge
Description: Merge YAML files while preserving anchors and aliases.
Author: Paciolan
Latest version: 1.1.1

# Raw YAML Merge

Merge YAML files while preserving anchors and aliases.

## The Problem

The merging of YAML files typically happens after both files have been converted to JSON.

The conversion of JSON processes the anchor and aliases.

Example Problem:

```yaml
# main.yaml
colors:
  primary: &primary-color "black"

body:
  color: *primary-color
```

```yaml
# overrides.yaml
colors:
  primary: "orange"
```

Expected output is incorrect because `body.color` was not replaced (expected to be `"orange"`), but remained `"black"`.

```yaml
# failed-output.yaml
colors:
  primary: "orange"

body:
  color: "black"
```

## The Solution

The solution is to merge the YAML files before converting them into JSON using an AST.

Expected output should match this:

```yaml
# success-output.yaml
colors:
  primary: "orange"

body:
  color: "orange"
```

## Install

```bash
npm install @paciolan/raw-yaml-merge
```

## Code

```yaml
# main.yaml
colors:
  primary: &primary-color "black"
body:
  color: *primary-color
```

```yaml
# overrides.yaml
colors:
  primary: "orange"
```

```javascript
const { merge, parse } = require("@paciolan/raw-yaml-merge");
const fs = require("fs");

const main = fs.readFileSync(`${__dirname}/main.yml`, "utf8");
const overrides = fs.readFileSync(`${__dirname}/overrides.yml`, "utf8");

const merged = merge(main, overrides);
const output = parse(merged);

fs.writeFileSync(`${__dirname}/merged.yml`, merged);
fs.writeFileSync(`${__dirname}/output.yml`, output);
```

```yaml
# merged.yml
colors:
  primary: &primary-color "orange"
body:
  color: *primary-color
```

```yaml
# output.yml
colors:
  primary: orange
body:
  color: orange
```

## Merge Types Supported

The types must be compatible. For example you wouldn't change an array (SEQ) into a string (SCALAR).

- SEQ to SEQ
- SCALAR to SCALAR
- ALIAS to ALIAS
- SCALAR to ALIAS
- ALIAS to SCALAR

In the event an incompatible type is merged, the merge will throw an Exception:

```
Error: Cannot merge "${KEY}" ${TYPE} into ${TYPE}
```

## Options

An options object is passed through to the YAML.parseDocument method. Refer to the [yaml documentation](https://eemeli.org/yaml/#yaml) for options more details.

```javascript
const options = {
  maxAliasAcount: 10000,
};

const merged = merge(main, overrides, options);
const output = parse(merged, options);
```
npm package: @pack/client
Description: Pack client for interacting with the Pack GraphQL API
Author: Pack
Latest version: 1.0.3

# `@pack/client`

The `@pack/client` package provides a client for interacting with the Pack GraphQL API.

## Installation

```bash
npm install @pack/client
```

## Usage

The client needs to be configured with your store's token, which can be found in the Pack admin under Settings >
Developer > API Keys.

```ts
import { PackClient } from '@pack/client';

const packClient = new PackClient({
  token: 'YOUR_TOKEN',
  contentEnvironment: 'production' 
});

const { data, error } = await packClient.fetch(QUERY, OPTIONS);
```

- QUERY - The GraphQL query string
- OPTIONS - Optional `PackFetchOptions`
    - `variables` - Object containing any GraphQL variables

Returns a promise resolving to:

- `data` - The data returned by the GraphQL API
- `error` - Any error that occurred, with additional info

## Development

```bash
# install dependencies
yarn

# build package
yarn build

# test package
yarn test
```
npm package: @pack/errors
Description: Pack error tracking core
Author: Pack
Latest version: 0.1.1

# `@pack/errors`

Shared error-tracking core used by Pack runtime adapters.

## Install

```bash
npm install @pack/errors
```

## Exports

- `sanitizeString(text)`
- `generateFingerprint(message, stack)`
- `sendErrorEvents(events, config, options?)`
- `sendServerErrorEvent(error, request, pack)`
- `createServerErrorHandler()`
- `SDK_VERSION`, `SCHEMA_VERSION`

## DSN format

`sendErrorEvents` requires a DSN via `config.dsn`. Use:
`https://PUBLIC_KEY@host/ingest/PROJECT_ID`

The DSN is parsed into:

- endpoint: `https://host/ingest`
- `X-Pack-Key`: `PUBLIC_KEY`
- `X-Pack-Project`: `PROJECT_ID`

Events are sent as a JSON array. Failures are swallowed so tracking never breaks app flow.

## Client example

```ts
import { sendErrorEvents } from '@pack/errors';

sendErrorEvents(
  [
    {
      timestamp: new Date().toISOString(),
      error_message: 'Something failed',
      error_stack: '',
      error_type: 'manual',
      error_fingerprint: 'abc123',
      url: 'https://store.example.com/products/widget',
      pathname: '/products/widget',
      section_id: '',
      section_type: '',
      component_stack: '',
      user_agent: '',
      screen: '',
      device_category: '',
      sdk_version: '0.1.0',
      schema_version: '1',
      session_id: 'session-1',
      hostname: 'store.example.com',
    },
  ],
  { dsn: 'https://PUBLIC_KEY@errors.example.com/ingest/PROJECT_ID' },
  { keepalive: true },
);
```

## Server usage

Use the helper for route-level error handling:

```ts
import { createServerErrorHandler } from '@pack/errors';

export const handleError = createServerErrorHandler();
```

`createServerErrorHandler`:

- reads `pack` from `context.pack` or `context.get('pack')`
- sends only when `pack.session.id` is present
- sanitizes message/stack/url before sending
- deduplicates repeated sends on the same `Error` object

If you already have `request` + `pack`, you can call `sendServerErrorEvent(error, request, pack)` directly.

## Sanitization and fingerprinting

- `sanitizeString` strips URL query params and masks sensitive JSON-like fields (for example `password`, `token`, `email`, `phone`)
- `generateFingerprint` creates a stable hash from message + first non-empty stack line

## Development

```bash
yarn
yarn build
```
npm package: @pack/errors-react
Description: Pack error tracking for React
Author: Pack
Latest version: 0.1.1

# `@pack/errors-react`

React bindings for Pack error tracking.

## Install

```bash
npm install @pack/errors-react
```

## Exports

- `usePackErrorTrack(isPreview?: boolean, errorTracking?, sessionId?)`
- `PackErrorBoundary` (`errorTracking?`, `sessionId?`, `fallback?` props)

## Usage

```tsx
import { PackErrorBoundary, usePackErrorTrack } from '@pack/errors-react';

const errorTracking = {
  dsn: 'https://PUBLIC_KEY@errors.example.com/ingest/PROJECT_ID',
};

function ErrorTracking({ isPreview, sessionId }: { isPreview: boolean; sessionId?: string }) {
  usePackErrorTrack(isPreview, errorTracking, sessionId);
  return null;
}

export function App({ isPreview, sessionId }: { isPreview: boolean; sessionId?: string }) {
  return (
    <>
      <ErrorTracking isPreview={isPreview} sessionId={sessionId} />
      <PackErrorBoundary
        errorTracking={errorTracking}
        sessionId={sessionId}
        fallback={<div>Something went wrong.</div>}
      >
        <Routes />
      </PackErrorBoundary>
    </>
  );
}
```

## Runtime config

Provide tracking config directly to the hook and boundary:

- `dsn`: `https://PUBLIC_KEY@host/ingest/PROJECT_ID`
- `sessionId` (optional): server session id for client/server correlation. If omitted, the client attempts to read `session_id` from the `__pack` cookie.

## Behavior

- Tracks three client-side error types:
  - `uncaught` (window `error`)
  - `unhandledrejection` (window `unhandledrejection`)
  - `react` (`PackErrorBoundary`)
- No events are sent when:
  - `isPreview` is `true`
  - `errorTracking?.dsn` is missing
- Dedupes repeated errors per pathname and limits event volume:
  - max 10 errors per page
  - max 50 errors per session (`sessionStorage`)
- Uses `keepalive: true` for background-safe event delivery.

## Error boundary fallback

`fallback` may be:

- a React node, or
- a function receiving `{ error, resetError }`

Example:

```tsx
<PackErrorBoundary
  errorTracking={errorTracking}
  fallback={({ error, resetError }) => (
    <div>
      <p>{error.message}</p>
      <button onClick={resetError}>Try again</button>
    </div>
  )}
>
  <Routes />
</PackErrorBoundary>
```

## Development

```bash
yarn
yarn build
```
npm package: @pack/react
Description: React
Author: Pack
Latest version: 4.2.1

# `@pack/react`

React UI primitives for rendering Pack content and storefront configuration.

## Install

```bash
npm install @pack/react
```

## Main exports

- `PackProvider` / `PreviewProvider`
- `RenderSections`, `useSections`
- `registerSection`
- `registerStorefrontSettingsSchema`
- `usePackContext`, `useSiteSettings`, `useLocale`
- `PackErrorBoundary`

## Usage

```tsx
import { PackProvider, RenderSections } from '@pack/react';

export function App({
  sections,
  siteSettings,
  packSessionId,
  isPreviewModeEnabled,
  packErrorTracking,
}: Props) {
  return (
    <PackProvider
      siteSettings={siteSettings}
      packSessionId={packSessionId}
      isPreviewModeEnabled={isPreviewModeEnabled}
      packErrorTracking={packErrorTracking}
    >
      <RenderSections sections={sections} />
    </PackProvider>
  );
}
```

`packSessionId` and `packErrorTracking` can be passed from `...pack.getPackContextData()` when using `@pack/hydrogen`.

## Development

```bash
yarn
yarn build
yarn test
```
npm package: @pack_/sing-spa
Description: a single-spa plugin for vue.js applications
Author: single-spa core team
Latest version: 1.0.3

# single-spa-vue

[![Build Status](https://travis-ci.com/single-spa/single-spa-vue.svg?branch=main)](https://travis-ci.com/single-spa/single-spa-vue)

Generic lifecycle hooks for Vue.js applications that are registered as [applications](https://single-spa.js.org/docs/building-applications) of [single-spa](https://github.com/single-spa/single-spa).

[Full documentation](https://single-spa.js.org/docs/ecosystem-vue.html)
npm package: @packagaya/process
Description: This package is part of [Packagaya](https://github.com/Packagaya/Packagaya).
Latest version: 1.2.1

# @packagaya/process

This package is part of [Packagaya](https://github.com/Packagaya/Packagaya).

## Package contents

-   Spawn new sub processes
-   Check if the binary can be resolved via the PATH before it gets executed
npm package: @packagaya/ts-adapter
Description: This package is part of [Packagaya](https://github.com/Packagaya/Packagaya).
Latest version: 1.5.2

# @packagaya/ts-adapter

This package is part of [Packagaya](https://github.com/Packagaya/Packagaya).

## Installation

Using npm:

```
npm install -D @packagaya/ts-adapter
```

Using yarn:

```
yarn add -D @packagaya/ts-adapter
```

## Package contents

-   Resolution of TypeScript based packages
-   Defines the following feature flags
    -   SyncTSPath (for synchronizing the imports from the code with the "paths" and "references" entries from the `tsconfig.json`)
-   Defines the following templates
    -   CreatePackage (For creating new Node.JS based packages)