open-index/open-npm huggingface dataset:
npm package: @scullyio/scully-plugin-google-analytics
Description: - Description: This plugin allows the usage of Google Analytics via Global Site Tag. - Type: Render Plugin
Author: Israel Guzman
Latest version: 2.1.41

# plugins-google-analytics

- Description: This plugin allows the usage of Google Analytics via Global Site Tag.
- Type: Render Plugin

## Getting Started

### 1. Install the plugin:

```bash
npm install -D @scullyio/scully-plugin-google-analytics
```

### 2. Use the plugin:

In the application's scully.<your-app>.config.ts:

1. Configure the plugin:

The plugin's configuration receives an object like this `{globalSiteTag: string}` where
the `globalSiteTag` is the `gtag` provided by Google Analytics.

2. Make a default post render array and add the plugin to it.

3. Set the default post renders in Scully config.

e.g.
`./scully.<your-app>.config.ts`

```typescript
import { setPluginConfig, ScullyConfig, prod } from '@scullyio/scully';
import { GoogleAnalytics } from '@scullyio/scully-plugin-google-analytics';

const defaultPostRenderers = [];

if (prod) {
  setPluginConfig(GoogleAnalytics, { globalSiteTag: 'UA-#########-1' });
  defaultPostRenderers.push(GoogleAnalytics);
}
export const config: ScullyConfig = {
  defaultPostRenderers,
  routes: {
    '/': {
      type: 'contentFolder',
      postRenderers: [...defaultPostRenderers],
    },
  },
};
```

## Running unit tests

# Run `ng test plugins-google-analytics` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @scullyio/scully-plugin-logrocket
Description: - Description: This plugin allows the usage of LogRocket. - Type: Render Plugin
Latest version: 2.1.41

# LogRocket

- Description: This plugin allows the usage of LogRocket.
- Type: Render Plugin

## Getting Started

### 1. Install the plugin:

```bash
npm install -D @scullyio/scully-plugin-logrocket
```

### 2. Use the plugin:

In the application's scully.your-app.config.file:

1. Configure the plugin:

The plugin's configuration receives an object like this `{app: string, id: string}` where
the `app` and `id` are provided in the Script Tag `window.LogRocket.init('app/id')` provided by LogRocket.

2. Make a default post render array and add the plugin to it.

3. Set the default post renders in Scully config.

e.g.

```typescript
// ./scully.your-app.config.ts

import { setPluginConfig, ScullyConfig } from '@scullyio/scully';
import { LogRocket } from '@scullyio/plugins/logrocket';

const defaultPostRenderers = [];

setPluginConfig(LogRocket, { app: 'your-app', id: 'your-id' });
defaultPostRenderers.push(LogRocket);

export const config: ScullyConfig = {
  defaultPostRenderers,
  routes: {
    '/': {
      type: 'contentFolder',
      postRenderers: [...defaultPostRenderers],
    },
  },
};
```
npm package: @scullyio/scully-plugin-remove-scripts
Description: Scully plugin to remove scripts
Author: @herodevs
Latest version: 2.1.41

# plugins-scully-plugin-remove-scripts

- Description: This plugin will remove all the scripts tags from the incoming HTML. If you don't want to remove _all_ you can use some of the options.
- Type: Render Plugin

## Getting Started

### 1. Install the plugin:

```bash
npm install -D @scullyio/scully-plugin-remove-scripts
```

### 2. Use the plugin:

```typescript
export interface RemoveScriptsConfig {
  /** function that receives the script element and returns false when the script needs to be removed */
  predicate?: (elm: HTMLScriptElement) => boolean;
  /** defaults to true, keeps the transferState so the data.json can be generated */
  keepTransferstate?: boolean;
  /** defaults to `['scullyKeep', 'sk']`. array with attributes, scripts that have one of those will be kept */
  keepAttributes?: string[];
  /** defaults to `[]`. Array with strings, if the fragment occurs in the SRC of the script. the script is kept*/
  keepSrc?: string[];
}
```

You can use this plugin in scully by adding something like this to your `scully.<projectname>.config.ts`

```typescript
import { removeScripts, RemoveScriptsConfig } from '@scullyio/scully-plugin-remove-scripts';

const defaultPostRenderers = [removeScripts, 'seoHrefOptimise'];
setPluginConfig<RemoveScriptsConfig>(removeScripts, {
  keepTransferstate: false,
  /** overwrite default by empty string! */
  keepAttributes: []
});

export const config: ScullyConfig = {
  ...
  defaultPostRenderers: = [removeScripts],
  routes: {
    ...
  }
}
```

The above config will use the plugin on _all_ routes. If you want to use in on a single route, add it to the config of that particular route like this:

```typescript
export const config: ScullyConfig = {
  ...
  routes: {
    someRoute: {
      type: 'contentFolder', // Or any other type
      postRenderers: = [removeScripts],
    }
    ...
  }
}
```
npm package: @scullyio/scully-plugin-sentry
Description: - Description: This plugin allows the usage of Sentry. - Type: Render Plugin
Latest version: 2.1.41

# Sentry

- Description: This plugin allows the usage of Sentry.
- Type: Render Plugin

## Getting Started

### 1. Install the plugin:

```bash
npm install -D @scullyio/scully-plugin-sentry
```

### 2. Use the plugin:

In the application's scully.your-app.config.file:

1. Configure the plugin:

The plugin's configuration receives an object like this `{key: string, org: string, project: string}` where
the `key`, `org`, and `project` are provided in the Script Tag `window.Sentry.init({ dsn: 'https://<key>@<org>.ingest.sentry.io/<project>' })` provided by Sentry.

2. Make a default post render array and add the plugin to it.

3. Set the default post renders in Scully config.

e.g.

```typescript
// ./scully.your-app.config.ts

import { setPluginConfig, ScullyConfig } from '@scullyio/scully';
import { Sentry } from '@scullyio/plugins/Sentry';

const defaultPostRenderers = [];

setPluginConfig(Sentry, {
  key: 'your-key',
  org: 'your-org',
  project: 'your-project',
});
defaultPostRenderers.push(Sentry);

export const config: ScullyConfig = {
  defaultPostRenderers,
  routes: {
    '/': {
      type: 'contentFolder',
      postRenderers: [...defaultPostRenderers],
    },
  },
};
```
npm package: @sculp/core
Description: js utils library, includes function library、class library
Latest version: 1.10.4

[![Node.js CI](https://github.com/chandq/sculp-js/actions/workflows/node.js.yml/badge.svg)](https://github.com/chandq/sculp-js/actions/workflows/node.js.yml)
[![sculp-js](https://img.shields.io/github/package-json/v/chandq/sculp-js?style=flat-square)](https://github.com/chandq/sculp-js)
[![node](https://img.shields.io/badge/language-typescript-orange.svg)](https://nodejs.org/download/release/v12.0.0/)
[![license:MIT](https://img.shields.io/npm/l/vue.svg?sanitize=true)](https://github.com/chandq/sculp-js/blob/main/LICENSE.md)
[![Downloads:?](https://img.shields.io/npm/dm/sculp-js.svg?sanitize=true)](https://npmcharts.com/compare/sculp-js?minimal=true)
[![codecov](https://codecov.io/gh/chandq/sculp-js/graph/badge.svg?token=VZ6TERPGI9)](https://codecov.io/gh/chandq/sculp-js)

# sculp-js

[API Doc](https://chandq.github.io/sculp-js/)

> TS + Rollup, native implementation, without relying on any third-party libraries, outputs products of three module modes: ESM, CJS, and UMD. sculp-js only used to Web environment, @sculp/core can be used to Web、Node.js、Mini Program.

## Quickstart

- Via CDN: `<script src="https://unpkg.com/sculp-js"></script>`
- Via npm:

  ```js
  npm i sculp-js
  ```

## Features

- Type

  - isString
  - isBoolean
  - isNumber
  - isUndefined
  - isNull
  - isNullish
  - isPrimitive
  - isFunction
  - isObject
  - isArray
  - typeIs
  - isJsonString
  - isEmpty

- encode/decode

  - weAtob
  - weBtoa

- Array

  - arrayLike 判断类数组
  - arrayEachAsync 异步遍历数组，可中断，支持倒序

- Tree

  - forEachDeep 高性能的深度优先遍历函数, 支持continue、break，可定制id、children
  - mapDeep 高性能的深度优先遍历的Map函数, 支持continue、break，可定制id、children
  - searchTreeById 在树中找到 id 为某个值的节点，并返回上游的所有父级节点
  - formatTree 高性能的数组转树函数
  - flatTree 树转数组
  - fuzzySearchTree 模糊搜索函数，返回包含搜索字符的节点及其祖先节点的树

- Object

  - isPlainObject
  - objectHas
  - objectAssign
  - objectEach
  - objectEachAsync
  - objectGet
  - cloneDeep
  - isEqual

- Number

  - formatNumber

- String

  - stringCamelCase
  - stringKebabCase
  - parseQueryParams

- Unique

  - uniqueString
  - uniqueNumber

- Date

  - formatDate
  - dateToStart
  - dateToEnd
  - calculateDate
  - calculateDateTime

- Download (web)

  - downloadURL
  - downloadHref
  - downloadBlob
  - downloadData

- File (web)

  - chooseLocalFile
  - compressImg 压缩图片

- Dom （web）

  - hasClass
  - addClass
  - removeClass
  - setStyle
  - getStyle
  - getComputedCssVal
  - getStrWidthPx

- Watermark (web)

  - genCanvasWM

- Clipboard (web)
  - copyText

## Install

```js
npm i sculp-js
```

## Usage

```js
import { forEachDeep } from 'sculp-js';

const tree = [
  { id: 1, name: 'row1' },
  {
    id: 2,
    name: 'row2',
    children: [{ id: 21, name: 'row2-1' }]
  },
  { id: 3, name: 'row3' }
];

const arr = [];
forEachDeep(tree, ({ id, name }) => {
  arr.push(name);
});
// arr will be: ['row1', 'row2', 'row2-1', 'row3'];
```
npm package: @sculpt-ui/server
Description: SculptUI server package
Author: Dany Wyss
Latest version: 0.7.1

# SculptUI - Server Package

This is the server package for SculptUI. It is used to configure the dev server needed by the [SculptUI VS Code Extension](https://marketplace.visualstudio.com/items?itemName=ardevia.sculptui-vscode).

---

## License

This code is licensed under the [MIT](LICENSE) License.
npm package: @sculptedsystems/shopify-web-pixels-api-types
Description: TypeScript type definitions for the Shopify Web Pixels API
Latest version: 0.0.4

# @sculptedsystems/shopify-web-pixels-api-types

TypeScript type definitions for the [Shopify Web Pixels API](https://shopify.dev/docs/api/web-pixels-api).  
Use these types to add static safety and autocompletion when building or extending Shopify pixel scripts.

## What Is This Package?

This package provides TypeScript definitions for the objects and methods exposed by Shopify’s Web Pixels runtime.

## Why Use It?

If you’re building or debugging custom pixels, you can:

- Get autocomplete and type checking for the Web Pixels API.
- Catch event name and payload mistakes early.
- Use familiar TypeScript tooling in your pixel development workflow.

## Installation

```bash
npm install @sculptedsystems/shopify-web-pixels-api-types
```

or

```bash
yarn add @sculptedsystems/shopify-web-pixels-api-types
```

## Usage

Import types directly in your pixel script or TypeScript configuration.

```ts
import type { Checkout } from "@sculptedsystems/shopify-web-pixels-api-types";
```

If you prefer global types, simply reference the package in your tsconfig.json:

```json
{
  "compilerOptions": {
    "types": ["@sculptedsystems/shopify-web-pixels-api-types"]
  }
}
```

## Distribution

This package ships only type definitions (.d.ts files).

It has no runtime code, no dependencies, and zero overhead.
npm package: @sculptorfinance/contract-helpers
Description: **disclaimer**: this package is highly unstable. Once we reach a certain level of stability, we'll bump the version to 1.x and add appropriate documentation.
Latest version: 0.27.21

# @sculptorfinance/contract-helpers

**disclaimer**: this package is highly unstable. Once we reach a certain level
of stability, we'll bump the version to 1.x and add appropriate documentation.

The `@sculptorfinance/contract-helpers` package offers a set of services which allow
querying aggregated on-chain data via rpc.

## Installation

Install the package in your project directory with:

```sh
// with npm
npm install @sculptorfinance/contract-helpers

// with yarn
yarn add @sculptorfinance/contract-helpers
```
npm package: @sculptorfinance/math-utils
Description: **disclaimer**: this package is highly unstable. Once we reach a certain level of stability, we'll bump the version to 1.x and add appropriate documentation.
Latest version: 0.27.10

# @sculptorfinance/math-utils

**disclaimer**: this package is highly unstable. Once we reach a certain level
of stability, we'll bump the version to 1.x and add appropriate documentation.

Sculptor aggregates on-chain protocol data into a variety of different subgraphs on
TheGraph which can be queried directly using the playground and integrated into
applications directly via TheGraph API.

In addition to the subgraphs, aave offers a set of
[contract helpers](https://github.com/sculptorfinance/sculptor-utilities/tree/master/packages/contract-helpers)
to query aggregated on-chain data.

The `@sculptorfinance/math-utils` data formatting methods act as a layer on top of the
chain data. The use-cases range from "human readable formatting" to
"approximating accrual over time".

## Installation

Install the package in your project directory with:

```sh
// with npm
npm install @sculptorfinance/math-utils

// with yarn
yarn add @sculptorfinance/math-utils
```