open-index/open-npm huggingface dataset:
npm package: @josephistired/weather-js
Description: A module for obtaining weather information
Author: Joseph Carmosino
Latest version: 2.0.3

# Weather

[![NPM][npm-image]][npm-url]

Weather is a module for obtaining weather information.

## Installation

```bash
npm install weather-js
```

## Usage

```javascript
const weather = require("@josephistired/weather-js");

// Options:
// search:     location name or zipcode
// degreeType: F or C

weather.find(
  { search: "San Francisco, CA", degreeType: "F" },
  function (err, result) {
    if (err) console.log(err);

    console.log(JSON.stringify(result, null, 2));
  }
);
```

```bash
[
  {
    "location": {
      "name": "San Francisco, CA",
      "lat": "37.777",
      "long": "-122.42",
      "timezone": "-7",
      "alert": "",
      "degreetype": "F",
      "imagerelativeurl": "http://blob.weather.microsoft.com/static/weather4/en-us/"
    },
    "current": {
      "temperature": "70",
      "skycode": "32",
      "skytext": "Sunny",
      "date": "2017-03-14",
      "observationtime": "13:15:00",
      "observationpoint": "San Francisco, California",
      "feelslike": "70",
      "humidity": "59",
      "winddisplay": "3 mph West",
      "day": "Tuesday",
      "shortday": "Tue",
      "windspeed": "3 mph",
      "imageUrl": "http://blob.weather.microsoft.com/static/weather4/en-us/law/32.gif"
    },
    "forecast": [
      {
        "low": "52",
        "high": "69",
        "skycodeday": "31",
        "skytextday": "Clear",
        "date": "2017-03-13",
        "day": "Monday",
        "shortday": "Mon",
        "precip": ""
      },
      {
        "low": "52",
        "high": "70",
        "skycodeday": "34",
        "skytextday": "Mostly Sunny",
        "date": "2017-03-14",
        "day": "Tuesday",
        "shortday": "Tue",
        "precip": "10"
      },
      {
        "low": "56",
        "high": "63",
        "skycodeday": "26",
        "skytextday": "Cloudy",
        "date": "2017-03-15",
        "day": "Wednesday",
        "shortday": "Wed",
        "precip": "20"
      },
      {
        "low": "50",
        "high": "64",
        "skycodeday": "28",
        "skytextday": "Mostly Cloudy",
        "date": "2017-03-16",
        "day": "Thursday",
        "shortday": "Thu",
        "precip": "10"
      },
      {
        "low": "53",
        "high": "67",
        "skycodeday": "32",
        "skytextday": "Sunny",
        "date": "2017-03-17",
        "day": "Friday",
        "shortday": "Fri",
        "precip": "10"
      }
    ]
  }
]
```

## Notes

- It uses `weather.service.msn.com`

## License

Licensed under The MIT License (MIT)  
For the full copyright and license information, please view the LICENSE.txt file.

[npm-url]: https://www.npmjs.com/package/@josephistired/weather-js
[npm-image]: https://badge.fury.io/js/weather-js.svg
npm package: @josephmark/eslint-config
Description: The Josephmark team's basic typescript linter config
Author: @floatingdino
Latest version: 1.1.5

# @josephmark/eslint-config

The Josephmark team's basic typescript linter config

## Installation

`npm i -D @josephmark/eslint-config`

## Usage

Add this to your eslint config `eslint.config.js` or `eslint.config.mjs`

```js
import jm from "@josephmark/eslint-config"

module.exports = [
  jm,
  // Add any additional rules here
]
```
npm package: @josephmark/eslint-config-next
Description: The Josephmark team's Next.js/Typescript linter config
Author: @floatingdino
Latest version: 1.3.3

# @josephmark/eslint-config-next

The Josephmark team's basic typescript linter config for Next.js

## Installation

`npm i -D @josephmark/eslint-config-next`

## Usage

Add this to your eslint config `eslint.config.js` or `eslint.config.mjs`

```js
import jmNext from "@josephmark/eslint-config-next"

export default [
  ...jmNext,
  // Add any additional rules here
]
```
npm package: @josephmark/eslint-config-react
Description: The Josephmark team's React/Typescript linter config
Author: @floatingdino
Latest version: 1.1.2

# @josephmark/eslint-config-react

The Josephmark team's basic typescript linter config

## Installation

`npm i -D @josephmark/eslint-config-react`

## Usage

Add this to your eslint config `eslint.config.js` or `eslint.config.mjs`

```js
import jmReact from "@josephmark/eslint-config-react"

export default [
  ...jmReact,
  // Add any additional rules here
]
```
npm package: @josephmark/hooks
Description: A collection of useful React Hooks
Author: @floatingdino
Latest version: 1.2.4

# @josephmark/hooks

[![Run Tests](https://github.com/whoisjosephmark/hooks/actions/workflows/test.yml/badge.svg)](https://github.com/whoisjosephmark/hooks/actions/workflows/test.yml)

A collection of useful React hooks from the team at [Josephmark](https://josephmark.studio)

## Installation

`npm i -S @josephmark/hooks`

## Available Hooks

- [useMouseCoords](#usemousecoords)
- [useDraggable](#usedraggable)
- [useScreenEntry](#usescreenentry)

## Usage

### `useMouseCoords`

```jsx
import { useMouseCoords } from "@josephmark/hooks"

function ComponentWithCoords() {
  const [left, top] = useMouseCoords()

  return (
    <div style={{ left, top, position: "fixed" }}>
      This element follows the mouse
    </div>
  )
}
```

### `useDraggable`

Gives drag-to-scroll features on a container element for touch-like interactions with a mouse.

```jsx
import { useDraggable } from "@josephmark/hooks"

function DraggableComponent() {
  // Options argument is not required, these are the default values
  const ref = useDraggable({ autoCursor: true, dragClickAllowance: 10 })

  return (
    <div style={{ display: "flex", overflow: "auto", gap: "1rem" }} ref={ref}>
      {Array(25)
        .fill("")
        .map((_, i) => (
          <div
            key={i}
            style={{
              flexShrink: 0,
              width: 150,
              height: 150,
              background: "lavender",
            }}
          />
        ))}
    </div>
  )
}
```

### `useScreenEntry`

```jsx
import { useScreenEntry } from "@josephmark/hooks"

function ComponentWithScreenEntry() {
  const { ref, onScreen } = useScreenEntry()

  return (
    <div
      ref={ref}
      style={{ opacity: onScreen ? 1 : 0, transition: "opacity 300ms" }}
    >
      This element will be revealed when it enters the screen
    </div>
  )
}
```
npm package: @josephmcg/eslint-config-next
Description: ESLint config for Next.js projects
Author: josephmcg
Latest version: 4.0.1

# eslint-config-next &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/josephmcg/config/blob/main/LICENSE) ![NPM Version](https://img.shields.io/npm/v/%40josephmcg%2Feslint-config-next)

> [!CAUTION]
> This package is deprecated. I'm switching all projects to [oxlint](https://oxc.rs/docs/guide/usage/linter.html), and would suggest you do the same.

```bash
pnpm i -D @josephmcg/eslint-config-next
```

```mjs
// eslint.config.js
import josephmcgConfigNext from '@josephmcg/eslint-config-next'
import { defineConfig } from 'eslint/config'
import tseslint from 'typescript-eslint'

const config = defineConfig(josephmcgConfigNext, {
  languageOptions: {
    parser: tseslint.parser,
    parserOptions: {
      ecmaFeatures: {
        jsx: true,
      },
      project: './tsconfig.json',
      sourceType: 'module',
      tsconfigRootDir: import.meta.dirname,
      warnOnUnsupportedTypeScriptVersion: true,
    },
  },
})
```
npm package: @josephmcg/eslint-config-react
Description: ESLint config for React projects
Author: josephmcg
Latest version: 3.0.1

# eslint-config-react &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/josephmcg/config/blob/main/LICENSE) ![NPM Version](https://img.shields.io/npm/v/%40josephmcg%2Feslint-config-react)

> [!CAUTION]
> This package is deprecated. I'm switching all projects to [oxlint](https://oxc.rs/docs/guide/usage/linter.html), and would suggest you do the same.

```bash
pnpm i -D @josephmcg/eslint-config-react
```

```mjs
// eslint.config.js
import josephmcgConfigReact from '@josephmcg/eslint-config-react'
import { defineConfig } from 'eslint/config'
import tseslint from 'typescript-eslint'

const config = defineConfig(josephmcgConfigReact, {
  languageOptions: {
    parser: tseslint.parser,
    parserOptions: {
      ecmaFeatures: {
        jsx: true,
      },
      project: './tsconfig.json',
      sourceType: 'module',
      tsconfigRootDir: import.meta.dirname,
      warnOnUnsupportedTypeScriptVersion: true,
    },
  },
})
```
npm package: @josephmcg/oxfmt-config
Description: oxfmt config for my projects
Author: josephmcg
Latest version: 0.0.2

# @josephmcg/oxfmt-config &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/josephmcg/config/blob/main/LICENSE) [![NPM Version](https://img.shields.io/npm/v/%40josephmcg%2Foxfmt-config)](https://www.npmjs.com/package/@josephmcg/oxfmt-config)

```bash
pnpm i -D @josephmcg/oxfmt-config
```

```ts
// oxfmt.config.ts
import { defineConfig } from 'oxfmt'
import { josephmcgOxfmtConfig } from '@josephmcg/oxfmt-config'

export default defineConfig({
  ...josephmcgOxfmtConfig,
  // additional config
})
```
npm package: @josephmcg/prettier-config
Description: Prettier config for my projects
Author: josephmcg
Latest version: 3.0.1

# prettier-config &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/josephmcg/config/blob/main/LICENSE) [![NPM Version](https://img.shields.io/npm/v/%40josephmcg%2Fprettier-config)](https://www.npmjs.com/package/@josephmcg/prettier-config)

> [!CAUTION]
> This package is deprecated. I'm switching all projects to [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html), and would suggest you do the same.

```bash
pnpm i -D @josephmcg/prettier-config
```

```ts
// prettier.config.mjs
import josephmcgConfig from '@josephmcg/prettier-config'

/** @type {import("prettier").Config} */
const config = {
  ...josephmcgConfig,
  // additional config
}

export default config
```
npm package: @josephmcg/tsconfig
Description: ```bash pnpm i -D @josephmcg/tsconfig ```
Latest version: 2.0.2

# tsconfig <a href="https://npm.im/@josephmcg/tsconfig"><img src="https://badgen.net/npm/v/@josephmcg/tsconfig"></a> <a href="https://npm.im/@josephmcg/tsconfig"><img src="https://badgen.net/npm/dm/@josephmcg/tsconfig"></a> <a href="https://packagephobia.now.sh/result?p=@josephmcg/tsconfig"><img src="https://packagephobia.now.sh/badge?p=@josephmcg/tsconfig"></a>

```bash
pnpm i -D @josephmcg/tsconfig
```

## react

```jsonc
// tsconfig.json
{
  "extends": "@josephmcg/tsconfig/tsconfig.react.json",
}
```

## next

```jsonc
// tsconfig.json
{
  "extends": "@josephmcg/tsconfig/tsconfig.next.json",
}
```

## node

```jsonc
// tsconfig.json
{
  "extends": "@josephmcg/tsconfig/tsconfig.node.json",
}
```