open-index/open-npm huggingface dataset:
npm package: @nypl/design-toolkit
Description: NYPL Design Toolkit
Author: NYPL Digital
Latest version: 0.1.38

[![Build Status](https://travis-ci.org/NYPL/design-toolkit.svg?branch=master)](https://travis-ci.org/NYPL/design-toolkit)
[![Stories in Ready](https://badge.waffle.io/NYPL/design-toolkit.png?label=ready&title=Ready)](https://waffle.io/NYPL/design-toolkit?utm_source=badge)
# NYPL Digital Design Toolkit
Design toolkit (SASS) for the NYPL Digital team

## Version: 0.1.38

## [View documentation](http://nypl.github.io/design-toolkit/)

## Viewing documentation locally
### Setting up Jekyll
1. Install [Jekyll](https://jekyllrb.com/) Enter `gem install jekyll bundler` in your terminal.
2. Change directories to the `docs/` folder.
3. Run `bundle install` to install necessary gems.
4. Run `bundle exec jekyll serve` to compile and watch the site as well as start a local server. Or just run `jekyll serve`.
5. Navigate your favorite internet browser to http://127.0.0.1:4000/design-toolkit/

### Compiling SCSS to CSS with Gulp or SASS CLI
1. To view, edit and complie `sass` to `css`:
  
    a. For `gulp`: Make sure you have [Node.js](http://nodejs.org/) installed and up to date. From the root of the project run `npm i`. This will install the `gulp` dependencies.
    - Once `gulp` is installed, from the root, run `gulp`. This will compile your `scss` files to `css` and place them in the correct directory.
    - You can choose to run `gulp watch`, this command will actively watch the correct directory and complie files on save.

    b. Alternately you can run / compile `sass` directly (no Gulp required), via its CLI.
    - From the root of the project run: `sass --watch sass:css/docs`.

2. Have a milkshake. 🥛

## [Install the toolkit in your application](INSTALL.md)

## [View Change Log](CHANGELOG.md)

## License

See [LICENSE](LICENSE)
npm package: @nypl/dgx-react-footer
Description: NYPl React Footer
Author: NYPL Digital Experience
Latest version: 0.5.8

# NYPL Footer

This repository is the footer component for the ReactJS applications of nypl.org.

### Version

0.5.8

### App Installation

To install this module, run:

```sh
$ npm install --save @nypl/dgx-react-footer
```

This component is a scoped NPM module. This means that when installing, NPM will create a `@NYPL` folder and the `dgx-react-footer` component (and other NYPL scoped components) will be there.

## Usage

Import using ES6 style syntax:
```
// Application.jsx
import Footer from '@nypl/dgx-react-footer';
```

Import using ES5 style syntax:
```
// Application.jsx
var Footer =  require('@nypl/dgx-react-footer');
```

Call the instance in your application component:
```
<Footer id="footer" className="footer" />
```
### Component Props

- `urlType`: Type of URL's to be established for NYPL link elements. If empty, it will utilize `relative` URL's by default. If `absolute` URL's are required, such as for apps that live at a different domain, initialize the Footer component as follows:

```sh
  <Footer urlType='absolute' /> // Sets all URLs to absolute
  <Footer /> // Sets all URLs to relative
```

### Styles
You can write your own styles for the footer but we suggest you use the styles that come in the package. It's written in SASS and to import we use the Webpack syntax in SASS:

```
// app.scss
@import "~@nypl/dgx-react-footer/dist/styles/styles.scss";
```


### Local Installation
Install all dependencies listed under package.json

```sh
$ npm install
```

### Development Mode
We use Webpack to fire off a hot-reloading development server. This allows for continuous code changes without the need to refresh your browser.

This starts the server at localhost:3000 defaulting to `NODE_ENV=development`.

```sh
$ npm start
```

### Production Mode
To build the component and serve the minified files, run the following two commands. Setting the `NODE_ENV` flag to production triggers the production environment.

```sh
$ npm run babel-build
$ NODE_ENV=production npm start
```

### Contribute

1. Fork this repo.
2. Create a feature branch - `git checkout -b new-feature`.
3. Commit your changes - `git commit -am 'Description of feature'`.
4. Push the branch - `git push origin new-feature`.
5. Create a new Pull Request.


Contributors
----
NYPL Digital Experience
npm package: @nypl/scsb-rest-client
Description: A light wrapper around SCSB's RESTful interface
Author: The New York Public Library
Latest version: 3.1.0

# SCSBRestClient

This is a light wrapper around SCSB's [RESTful interace](https://scsb.recaplib.org:9093/swagger-ui.html).

## Version
> 3.1.0

## Install

### With Github

```
"@nypl/scsb-rest-client": "https://github.com/NYPL/scsb-rest-client.git#BRANCH-OR-TAG-NAME"
```

### With NPM

```js
npm i @nypl/scsb-rest-client --save
```

## Usage

```javascript

const scsbClient = require('@nypl/scsb-rest-client')

scsbClient.config({
  url: "http://theurl.example.com:theports",
  apiKey: "anAPIKEY"
})

let myResponse = scsbClient.getItemsAvailabilityForBarcodes(this.barcodes)
.then((response) => {
  // do something with the response
})
.catch((error) => {
  // log this error and...
  return Promise.reject(error)
})
```

### Supported Endpoints

See [the SCSB swagger documentation](https://uat-recap.htcinc.com:9093/swagger-ui.html) for the authoritative documentation of each endpoint's params.

| Method     | Endpoint     |
| :------------- | :------------- |
| `getItemsAvailabilityForBarcodes(barcodes = [])`|[`/sharedCollection/itemAvailabilityStatus`](https://uat-recap.htcinc.com:9093/swagger-ui.html#!/shared-collection-rest-controller/itemAvailabilityStatus)|
| `requestItem(data = {})`                     |[`/requestItem/requestItem`](https://uat-recap.htcinc.com:9093/swagger-ui.html#!/request-item-rest-controller/requestItem)|
| `search(data = {})`                             |[`/searchService/search`](https://uat-recap.htcinc.com:9093/swagger-ui.html#!/search-records-rest-controller/search)|
| `searchByParam(queryParams = {})`               |`/searchService/searchByParam`(**deprecated**)|

## Contributing

 - Cut feature branch from `main`
 - After review, merge to `main`
 - Bump version in `package.json` & note changes in `CHANGELOG.md`
 - `git tag -a v[version]`
 - `npm publish`
npm package: @nyqykk/recursive-dev-plugin
Description: An Rsbuild plugin to provides workspace recursive dev functionality for Monorepo topologies.
Latest version: 0.0.1-alpha.2

# rsbuild-plugin-workspace-dev

提供按拓扑顺序启动 monorepo 子项目的能力。

`rsbuild-plugin-workspace-dev` 用于 monorepo 开发场景，它支持从当前项目开始计算依赖关系生成拓扑图，按拓扑顺序启动子项目。

<p>
  <a href="https://npmjs.com/package/rsbuild-plugin-workspace-dev">
   <img src="https://img.shields.io/npm/v/rsbuild-plugin-workspace-dev?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" />
  </a>
  <img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square&colorA=564341&colorB=EDED91" alt="license" />
</p>

## 使用

安装：

```bash
npm add rsbuild-plugin-workspace-dev -D
```

在 `rsbuild.config.ts` 里注册插件:

```ts
// rsbuild.config.ts
import { pluginWorkspaceDev } from "rsbuild-plugin-workspace-dev";

export default {
  plugins: [pluginWorkspaceDev()],
};
```

## 使用场景

在 monorepo 中，一个项目可能依赖多个子项目，而子项目之间也可能存在依赖关系。

比如 monorepo 中包含了一个 app 应用和多个 lib 包：

```ts
monorepo
├── app
└── lib1
└── lib2
└── lib3
```

其中，app 是基于 Rsbuild 构建的, lib 是基于 Rslib 构建的。app 依赖了 lib1 和 lib2：

```json
{
  "name": "app",
  "dependencies": {
    "lib1": "workspace:*",
    "lib2": "workspace:*"
  }
}
```

lib2 依赖了 lib3：

```json
{
  "name": "lib2",
  "dependencies": {
    "lib3": "workspace:*"
  }
}
```
此时会按照拓扑顺序先启动 lib1 和 lib3，再启动 lib2，最后启动 app。此处启动 lib 指的是执行 lib 的 dev 命令
```json
{
  "scripts": {
    "dev": "rslib build --watch"
  }
}
```
识别子项目是否启动完成是通过匹配子项目日志实现的，默认支持 Rslib 子项目，同时支持手动配置 match 匹配

## 选项

### sourceField

- **类型：** `object`
- **默认值：** `'source'`

用于配置源代码文件对应的解析字段。

比如配置为 `@custom/source`：

```ts
pluginSourceBuild({
  sourceField: "@custom/source",
});
```

在 `package.json` 中，即可通过 `@custom/source` 指定源代码文件的路径：

```json title="package.json"
{
  "name": "lib",
  "main": "./dist/index.js",
  "@custom/source": "./src/index.ts",
  "exports": {
    ".": {
      "@custom/source": "./src/index.ts",
      "default": "./dist/index.js"
    }
  }
}
```

### resolvePriority

- **类型：** `'source' | 'output'`
- **默认值：** `'source'`

用于控制优先读取源代码还是产物代码。

默认情况下，`@rsbuild/plugin-source-build`会优先读取源代码，比如在下面的例子中，它会读取 `source` 字段。

```json title="package.json"
{
  "name": "lib",
  "main": "./dist/index.js",
  "source": "./src/index.ts"
}
```

当 `resolvePriority` 设置为 `'output'` 时，`@rsbuild/plugin-source-build`会优先读取产物代码，即 `main` 或 `module` 字段指向的代码。

```ts
pluginSourceBuild({
  resolvePriority: "output",
});
```

- package.json 中的 `exports` 字段不受 `resolvePriority` 的影响。
- `exports` 中 key 的声明顺序决定了读取顺序，较早声明的 key 具有更高的优先级。

## 注意事项

在使用 `@rsbuild/plugin-source-build`的时候，需要注意几点：

1. 需要保证当前项目可以编译子项目里使用的语法或特性。比如子项目使用了 Stylus 来编写 CSS 样式，那就需要当前 app 支持 Stylus 编译。
2. 需要保证当前项目与子项目使用的代码语法特性相同，例如装饰器的语法版本一致。
3. 源码构建可能存在一些限制。如果在使用中遇到问题，你可以将子项目 package.json 中的 `source` 字段移除，使用子项目的构建产物进行调试。
4. 开启 `composite: true` 后，TypeScript 会生成 `*.tsbuildinfo` 临时文件，你需要将这些临时文件加入 .gitignore 中。

```text title=".gitignore"
*.tsbuildinfo
```

## License

[MIT](./LICENSE).