open-index/open-npm huggingface dataset:
npm package: @naivemap/mapbox-gl-echarts-layer
Description: A Mapbox GL JS layer to integrate Apache ECharts' Lines and Scatter charts.
Author: naivemap
Latest version: 0.4.0

# @naivemap/mapbox-gl-echarts-layer

EChartsLayer ([@naivemap/maplibre-gl-echarts-layer](https://www.npmjs.com/package/@naivemap/maplibre-gl-echarts-layer)): Integrates Apache ECharts with MapLibre GL JS, specifically enabling the use of **Lines graphs** and **Scatter (bubble)** charts as a map layer. This allows for visualizing connections, paths, and point-based data with the rich styling capabilities of ECharts.

[API References](https://www.naivemap.com/maplibre-gl-layers/api/mapbox-gl-echarts-layer/)

## Install

```bash
pnpm add @naivemap/mapbox-gl-echarts-layer echarts
```
npm package: @naivemap/mapbox-gl-image-layer
Description: Load a static image of any projection via Arrugator and Proj4js for Mapbox GL JS.
Author: naivemap
Latest version: 0.6.0

# @naivemap/mapbox-gl-image-layer

ImageLayer ([@naivemap/mapbox-gl-image-layer](https://www.npmjs.com/package/@naivemap/mapbox-gl-image-layer)): A versatile layer for displaying georeferenced images with **various projections** on the map. It supports loading and correctly positioning images from different coordinate systems, making it ideal for integrating non-standard raster data, historical maps, or aerial imagery.

[API References](https://www.naivemap.com/map-gl-layers/api/image-layer/)

## Install

```bash
pnpm add @naivemap/mapbox-gl-image-layer proj4
```
npm package: @naivemap/mapbox-gl-layers
Description: mapbox-gl-layers
Latest version: 0.3.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# mapbox-gl-layers

Some implementations of mapbox's custom layer API.

## Installing

```bash
npm i @naivemap/mapbox-gl-layers
```

## Usage in your application

See [API Reference](./doc/index.md) for complete reference.

### EChartsLayer

```bash
npm i @naivemap/mapbox-gl-layers echarts
```

eg. [全国主要城市空气质量 - 百度地图](https://huanglii.github.io/mapbox-gl-js-cookbook/example/echarts-scatter.html)

### ImageLayer

```bash
npm i @naivemap/mapbox-gl-layers proj4
```

eg. [Image of EPSG:4326](https://huanglii.github.io/mapbox-gl-js-cookbook/example/data-image-4326.html)
npm package: @naivemap/mapbox-gl-naive-map
Description: Extended Map of mapboxgl.Map
Author: huangli
Latest version: 0.2.0

# mapbox-gl-naive-map

Extended Map of `mapboxgl.Map`.

[API Reference](./docs/index.md)

## Install

```bash
npm i mapbox-gl @naivemap/mapbox-gl-naive-map
```

## Quick start

```js
import NaiveMap from '@naivemap/mapbox-gl-naive-map'
import 'mapbox-gl/dist/mapbox-gl.css'

const map = new NaiveMap({
  container: 'map',
  style: 'mapbox://styles/mapbox/streets-v12',
  center: [-74.5, 40],
  zoom: 9
})

map.on('load', () => {
  map.addGroupLayer('test', {
    sources: {
      maine: {
        type: 'geojson',
        data: {
          type: 'Feature',
          geometry: {
            type: 'Polygon',
            coordinates: [
              [
                [-67.13734, 45.13745],
                [-66.96466, 44.8097],
                [-68.03252, 44.3252],
                [-69.06, 43.98],
                [-70.11617, 43.68405],
                [-70.64573, 43.09008],
                [-70.75102, 43.08003],
                [-70.79761, 43.21973],
                [-70.98176, 43.36789],
                [-70.94416, 43.46633],
                [-71.08482, 45.30524],
                [-70.66002, 45.46022],
                [-70.30495, 45.91479],
                [-70.00014, 46.69317],
                [-69.23708, 47.44777],
                [-68.90478, 47.18479],
                [-68.2343, 47.35462],
                [-67.79035, 47.06624],
                [-67.79141, 45.70258],
                [-67.13734, 45.13745]
              ]
            ]
          }
        }
      }
    },
    layers: [
      {
        id: 'maine',
        type: 'fill',
        source: 'maine',
        layout: {},
        paint: {
          'fill-color': '#0080ff',
          'fill-opacity': 0.5
        }
      },
      {
        id: 'outline',
        type: 'line',
        source: 'maine',
        layout: {},
        paint: {
          'line-color': '#000',
          'line-width': 3
        }
      }
    ]
  })
})
```

## UMD

```html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <link href="https://api.mapbox.com/mapbox-gl-js/v2.11.0/mapbox-gl.css" rel="stylesheet" />
    <script src="https://api.mapbox.com/mapbox-gl-js/v2.11.0/mapbox-gl.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@naivemap/mapbox-gl-naive-map"></script>
  </head>
  <body>
    <div id="map" style="position: absolute; top: 0; right: 0; bottom: 0; left: 0"></div>
    <script>
      mapboxgl.accessToken = ''

      const map = new NaiveMap({
        container: 'map',
        style: 'mapbox://styles/mapbox/streets-v12',
        center: [-74.5, 40],
        zoom: 9
      })
    </script>
  </body>
</html>
```
npm package: @naivemap/mapbox-gl-polygon-morpher
Description: Morph smoothly between Polygons or MultiPolygons
Author: huanglii
Latest version: 0.1.0

# @naivemap/mapbox-gl-polygon-morpher

Morph smoothly between Polygons or MultiPolygons.

[API Reference](./docs/index.md)

## Install

```bash
npm i mapbox-gl @naivemap/mapbox-gl-polygon-morpher
```

## Quick start

```js
import PolygonMorpher from '@naivemap/mapbox-gl-polygon-morpher'

const map = new mapboxgl.Map({
  container: 'map',
  style: 'mapbox://styles/mapbox/streets-v12',
  center: [-74.5, 40],
  zoom: 9
})

map.on('load', () => {
  map.addSource('geojson-source', {
    type: 'geojson',
    data: {
      type: 'FeatureCollection',
      features: []
    }
  })
  map.addLayer(
    {
      id: 'poly-layer',
      type: 'fill',
      source: 'geojson-source',
      paint: {
        'fill-color': 'rgba(152, 224, 173, 0.5)'
      }
    },
    'aeroway-line'
  )
  const geojsonSource = map.getSource('geojson-source') as mapboxgl.GeoJSONSource
  const polygonMorpher = new PolygonMorpher(geojsonSource)

  polygonMorpher.morph(feature)
})
```

## UMD

```html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <link href="https://api.mapbox.com/mapbox-gl-js/v2.11.0/mapbox-gl.css" rel="stylesheet" />
    <script src="https://api.mapbox.com/mapbox-gl-js/v2.11.0/mapbox-gl.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@naivemap/mapbox-gl-polygon-morpher"></script>
  </head>
  <body>
    <div id="map" style="position: absolute; top: 0; right: 0; bottom: 0; left: 0"></div>
    <script>
      const polygonMorpher = new PolygonMorpher(geojsonSource)
    </script>
  </body>
</html>
```
npm package: @naivemap/maplibre-gl-echarts-layer
Description: A MapLibre GL JS layer to integrate Apache ECharts' Lines and Scatter charts.
Author: naivemap
Latest version: 0.2.0

# @naivemap/maplibre-gl-echarts-layer

EChartsLayer ([@naivemap/maplibre-gl-echarts-layer](https://www.npmjs.com/package/@naivemap/maplibre-gl-echarts-layer)): Integrates Apache ECharts with MapLibre GL JS, specifically enabling the use of **Lines graphs** and **Scatter (bubble)** charts as a map layer. This allows for visualizing connections, paths, and point-based data with the rich styling capabilities of ECharts.

[API References](https://www.naivemap.com/maplibre-gl-layers/api/maplibre-gl-echarts-layer/)

## Install

```bash
pnpm add @naivemap/maplibre-gl-echarts-layer echarts
```
npm package: @naivemap/maplibre-gl-image-layer
Description: Load a static image of any projection via Arrugator and Proj4js.
Author: naivemap
Latest version: 0.2.0

# @naivemap/maplibre-gl-image-layer

ImageLayer ([@naivemap/maplibre-gl-image-layer](https://www.npmjs.com/package/@naivemap/maplibre-gl-image-layer)): A versatile layer for displaying georeferenced images with **various projections** on the map. It supports loading and correctly positioning images from different coordinate systems, making it ideal for integrating non-standard raster data, historical maps, or aerial imagery.

[API References](https://www.naivemap.com/map-gl-layers/api/image-layer/)

## Install

```bash
pnpm add @naivemap/maplibre-gl-image-layer proj4
```
npm package: @naiverlabs/detective
Description: find all require() calls by walking the AST
Latest version: 6.0.0

# detective

find all calls to `require()` by walking the AST

[![build status](https://secure.travis-ci.org/browserify/detective.png)](http://travis-ci.org/browserify/detective)

# example

## strings

strings_src.js:

``` js
var a = require('a');
var b = require('b');
var c = require('c');
```

strings.js:

``` js
var detective = require('detective');
var fs = require('fs');

var src = fs.readFileSync(__dirname + '/strings_src.js');
var requires = detective(src);
console.dir(requires);
```

output:

```
$ node examples/strings.js
[ 'a', 'b', 'c' ]
```

# methods

``` js
var detective = require('detective');
```

## detective(src, opts)

Give some source body `src`, return an array of all the `require()` calls with
string arguments.

The options parameter `opts` is passed along to `detective.find()`.

## var found = detective.find(src, opts)

Give some source body `src`, return `found` with:

* `found.strings` - an array of each string found in a `require()`
* `found.expressions` - an array of each stringified expression found in a
`require()` call
* `found.nodes` (when `opts.nodes === true`) - an array of AST nodes for each
argument found in a `require()` call

Optionally:

* `opts.word` - specify a different function name instead of `"require"`
* `opts.nodes` - when `true`, populate `found.nodes`
* `opts.isRequire(node)` - a function returning whether an AST `CallExpression`
node is a require call
* `opts.parse` - supply options directly to
[acorn](https://npmjs.org/package/acorn) with some support for esprima-style
options `range` and `loc`
* `opts.ecmaVersion` - default: 9

# install

With [npm](https://npmjs.org) do:

```
npm install detective
```

# license

MIT
npm package: @naiveroboticist/legacy-auth-hooks
Description: React authorization hooks
Author: Dave Sieh
Latest version: 1.0.1

# legacy-auth-hooks

This package provides custom React hooks to facilitate application authorization.

The `AuthProvider` element sets up a context where all routes have access to
authentication information.

The `useLocalStorage` hook is used to leverage local storage in the browser to
allow the authentication token to survive past a page reload.

The `ProtectedRoute` element is used to wrap a page route to check for
authorization.

The following is an example of setting up application routes leveraging these
hooks and elements.

    import React from 'react'
    import { BrowserRouter, Route, Routes } from 'react-router-dom'
    import { AuthProvider, ProtectedRoute } from '@naiveroboticist/legacy-auth-hooks'

    import Layout from './Layout'
    import Home from './pages/Home'
    import NoPage from './pages/NoPage'
    import { LoginPageWrapper } from './pages/LoginPageWrapper'
    import { SecurePage } from './pages/SecurePage'

    function AppRoutes(props) {

      const { helpBaseUrl } = props
 
      return (
        <BrowserRouter>
          <AuthProvider>
            <Routes>
              <Route path='/' element={<Layout helpBaseUrl={helpBaseUrl} />}> 
                <Route index element={<ProtectedRoute><Home /></ProtectedRoute>} />
                <Route path='/login' element={<LoginPageWrapper />} />
                <Route path='/secure_page' element={<ProtectedRoute><SecurePage /></ProtectedRoute>} />
                <Route path="*" element={<NoPage />} />
              </Route>
            </Routes>
          </AuthProvider>
        </BrowserRouter>
      )
    }

    export default AppRoutes

See the [legacy-auth-web](https://github.com/FellowRoboticists/legacy-auth-web)
repository for tools to help with login pages and authentication menus.
npm package: @naiveroboticist/legacy-auth-ts
Description: Legacy auth tools (typescript)
Author: Dave Sieh
Latest version: 2.0.2

# legacy-auth-ts

This package contains a set of tools that can be used to facilitate
setting up authentication for `react`/`react-bootstrap` based
applications.

## Hooks

### Use Local Storage

The `useLocalStorage` hook can be use to store and retrieve data from 
local storage. In the context of authentication, it is used to store
the session data retrieve by a login.

### Use Auth

The `useAuth` hook provides a context from which you can maintain
session data and access to `login` and `logout` methods used to update
local storage and the context.

## Menus

The package provides a menu used by the user to logout and - if the user
is an admin - to list users and registrations as well as create 
new registrations.

## Utilities

There is a component called `ProtectedAuth` which can be used in 
certain routing scenarios to restrict children to be displayed only
when the user has been authenticated.

## Notes

### Process for in development

1. Make the desired changes/additions/subtractions
2. Ensure that the `index.ts` is up-to-date.
3. Build the package: `$ npm run build`

For the initial deployment to a project, simply install the root folder
via npm, e.g.

    $ npm i -D ../legacy-auth-ts

This will install it as a symbolic link so that when you rebuild the
package, the application will automatically see the results of the
changes.

Even done this way, the package is accessed by it's full name:
`@naiveroboticist/legacy-auth-ts`.

### Process for production

1. Make the desired changes/additions/subtractions
2. Ensure that the `index.ts` is up-to-date.
3. Build the package: `$ npm run build`
4. Ensure that the `package.json` is up-to-date (version, description,
    etc.)
5. Publish to `npm`: `$ npm publish`

When publishing to `npm` the first time, specify the `public` flag.

    $npm publish --access public

## How I set up this project

Take a look at 
[this](https://simonboisset.com/blog/create-typescript-library-tsup) 
article. It provided greate help.

I made a couple of changes to the article's suggestion for the 
`tsconfig.json` setup:

1. In the `lib` configuration, I added `dom`. This allowed the use of
    global elements allowed in applications like `window` and `console`.
2. Added the `jsx` configuration to allow this package to compile and
    deliver TSX data.
npm package: @naivetester/poseidon-zk-circuits
Description: A Circom circuits library for ZK Applications
Latest version: 0.0.1-alpha.21

# @p0x-labs/poseidon-zk-circuits

Poseidon ZK circuits

## Usage

### Install this package
`yarn add @p0x-labs/poseidon-zk-circuits`

### Use in your own circuits

`import "path/to/node_modules/@p0x-labs/poseidon-zk-circuits/group/group.circom"` 

## Developement

Install

`yarn`

Compile circuits & generate resources including WASM & zKey & Solidity contract.
The first time you run it will take a long time because it will download the default ptau file
and save it to artifacts.

`yarn compile`

If there are updated resources before you push the code, it's better to publish the resources to Google cloud, after which the resources.json will be updated

`yarn upload`

**Use your own zkey!!!**

Be notified it's better to generate your own zkey & ptau files to set up the verifier contract!


## Test

Every circom circuits should come with an unit tests, you can take the example.circom for example