open-index/open-npm huggingface dataset:
npm package: @pharrellwang/react-router-hash-link
Description: Hash link scroll functionality for React Router v4
Author: Rafael Pedicini
Latest version: 1.1.2

# React Router Hash Link

***Note that this is for React Router v4, for v2/3 see [this solution](https://github.com/rafrex/react-router-hash-link/tree/react-router-v2/3).***

[Live Example](http://react-router-hash-link.rafrex.com/)

This is a solution to [React Router's issue of not scrolling to `#hash-fragments`](https://github.com/reactjs/react-router/issues/394#issuecomment-220221604) when using the `<Link>` component to navigate.

When you click on a link created with `react-router-hash-link` it will scroll to the element on the page with the `id` that matches the `#hash-fragment` in the link. This will also work for elements that are created after an asynchronous data load. Note that you must use React Router's `BrowserRouter` for this to work.

```shell
$ npm install --save react-router-hash-link
```

```javascript
// In YourComponent.js
...
import { HashLink as Link } from 'react-router-hash-link';
...
// Use it just like a RRv4 link (to can be a string or an object, see RRv4 api for details):
<Link to="/some/path#with-hash-fragment">Link to Hash Fragment</Link>
```
npm package: @phartenfeller/alfred-vscode-workspaces
Description: Alfred workflow that allows you to browse and open Visual Studio Code workspaces
Author: Philipp Hartenfeller
Latest version: 1.3.0

# Alfred 4/5 Workflow for VSCode Workspaces

Get a list of your VS Code workspaces in alfred

- Type `vsc` into alfred to get a list
- Works with **local** and **remote** workspaces

![](assets/workflow-usage.png)

Forked from https://github.com/kbshl/alfred-vscode

Blogpost: https://hartenfeller.dev/blog/alfred-vscode-workflow

## Installation

You need `code` added to shell path: https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line

You need a [currently maintained Node.js version](https://nodejs.org/en/about/previous-releases).

```bash
npm install --global @phartenfeller/alfred-vscode-workspaces
```
npm package: @phartenfeller/tuql
Description: Fork of tuql without CLI but usable as a library
Author: Philipp Hartenfeller
Latest version: 0.0.7

# @phartenfeller/tuql 

Fork of [tuql](https://github.com/bradleyboy/tuql) without CLI but usable as a library.

Example implementation:

```js
import initGraphQLServer from '@phartenfeller/tuql';
import express from 'express';
import cors from 'cors';
import graphqlHTTP from 'express-graphql';

async function main() {
  const app = express();

  const schema = await initGraphQLServer({
    filePath: './testUtils/chinook.db',
    mutations: false
  });

  app.use(
    '/graphql',
    cors(),
    graphqlHTTP({
      schema,
      graphiql: true,
    })
  );

  app.listen(4000, () =>
    console.log(` > Running at http://localhost:${4000}/graphql`)
  );
}

main();

```
npm package: @phase.dev/phase-js
Description: JS/TS Client SDK for Phase
Author: phasehq
Latest version: 2.0.1

# Javscript Client SDK for Phase

Phase SDK to encrypt data in client-side JavaScript applications

## Install

`npm i @phase.dev/phase-js` or `yarn add @phase.dev/phase-js`

## Import

```js
import Phase from "@phase.dev/phase-js";
```

## Initialize

Initialize the SDK with your `APP_ID`:

```js
const phase = new Phase(APP_ID);
```

## Usage

```js
const ciphertext = await phase.encrypt("hello world");
```

## Development

### Install dependencies

`npm install`

### Build

`npm run build`

### Run tests

`npm test`
npm package: @phase.dev/phase-node
Description: Node.js SDK for Phase
Author: phasehq
Latest version: 3.2.0

# Node.js SDK for Phase

SDK to integrate Phase in server-side applications running Node.js

## Install

`npm i @phase.dev/phase-node` or `yarn add @phase.dev/phase-node`

## Import

```js
const Phase = require("@phase.dev/phase-node");
```

## Initialize

Initialize the SDK with your PAT or service account token:

```typescript
const token = 'pss_service...'

const phase = new Phase(token)
```

## Usage

### Get Secrets

Get all secrets in an environment:

```typescript
const getOptions: GetSecretOptions = {
  appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
  envName: "Development",
};

const secrets = await phase.get(getOptions);
```

Get a specific key:

```typescript
import { GetSecretOptions } from "@phase.dev/phase-node";

const getOptions: GetSecretOptions = {
  appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
  envName: "Development",
  key: "foo"
};

const secrets = await phase.get(getOptions);
```

### Create Secrets

Create one or more secrets in a specified application and environment:

```typescript
import { CreateSecretOptions } from "@phase.dev/phase-node";

const createOptions: CreateSecretOptions = {
  appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
  envName: "Development",
  secrets: [
    {
      key: "API_KEY",
      value: "your-api-key",
      comment: 'test key for dev'
    },
    {
      key: "DB_PASSWORD",
      value: "your-db-password",
      path: "/database",
    }
  ]
};

await phase.create(createOptions);
```

### Update Secrets

Update existing secrets in a specified application and environment:



```typescript
import { UpdateSecretOptions } from "@phase.dev/phase-node";

const updateOptions: UpdateSecretOptions = {
  appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
  envName: "Development",
  secrets: [
    {
      id: "28f5d66e-b006-4d34-8e32-88e1d3478299",
      value: 'newvalue'
    },
  ],
};

await phase.update(updateOptions);
```
### Delete Secrets

Delete one or more secrets from a specified application and environment:

```typescript
import { DeleteSecretOptions } from "@phase.dev/phase-node";

const secretsToDelete = secrets.map((secret) => secret.id);

const deleteOptions: DeleteSecretOptions = {
  appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
  envName: "Development",
  secretIds: secretsToDelete,
};

await phase.delete(deleteOptions);
```

## Development

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to contribute.