open-index/open-npm huggingface dataset:
npm package: @khanacademy/eslint-config
Description: ESLint config that applies Khan Academy's setings
Author: Kevin Barabash
Latest version: 6.0.2

# eslint-config-khan

Shared Khan Academy eslint configuration.

## Quick Start

- `(yarn|pnpm) add --save-dev @khanacademy/eslint-config`
- Update your .eslintrc.js file to:
  - extend `"@khanacademy"`
  - include settings for `"import/resolver"`
- For accessibility linting rules, extend `@khanacademy/eslint-config/a11y`

For monorepos the `"import/resolver"` settings will look like this:

```
    settings: {
        "import/resolver": {
            typescript: {
                project: [
                    "packages/*/tsconfig.json",
                    "packages/tsconfig-shared.json",
                ],
            },
            node: {
                project: [
                    "packages/*/tsconfig.json",
                    "packages/tsconfig-shared.json",
                ],
            },
        },
    },
```

For regular repos, the settings will look like this:

```
    settings: {
        "import/resolver": {
            typescript: {
                project: "tsconfig.json",
            },
            node: {
                project: "tsconfig.json",
            },
        },
    },
```
npm package: @khanacademy/eslint-plugin
Description: ESLint plugin that applies Khan Academy's custom rules
Author: Kevin Barabash
Latest version: 3.2.2

# eslint-plugin-khan

[![Build Status](https://travis-ci.org/Khan/eslint-plugin-khan.svg?branch=master)](https://travis-ci.org/Khan/eslint-plugin-khan)

eslint plugin with our set of custom rules for various things

## Rules

- [khan/jest-async-use-real-timers](docs/jest-async-use-real-timers.md)
- [khan/jest-enzyme-matchers](docs/jest-enzyme-matchers.md)
- [khan/react-no-method-jsx-attribute](docs/react-no-method-jsx-attribute.md)
- [khan/react-no-subscriptions-before-mount](docs/react-no-subscriptions-before-mount.md)
- [khan/react-svg-path-precision](docs/react-svg-path-precision.md)
- [khan/sync-tag](docs/sync-tag.md)
- [khan/aphrodite-add-style-variable-name](docs/aphrodite-add-style-variable-name.md)

## Creating a new lint rule

Here are some helpful resources for setting up a new lint rule:

- [TypeScript Eslint custom rules](https://typescript-eslint.io/developers/custom-rules/)
- [AST Explorer](https://astexplorer.net/): A tool for showing what the abstract syntax tree (AST) looks like based on code
- [ESTree Spec](https://github.com/estree/estree/tree/master): The spec for learning more about the AST node types
npm package: @khanacademy/flow-to-ts
Description: [![Actions Status](https://github.com/Khan/flow-to-ts/workflows/Node%20CI/badge.svg)](https://github.com/Khan/flow-to-ts/actions) [![codecov](https://codecov.io/gh/Khan/flow-to-ts/branch/master/graph/badge.svg)](https://codecov.io/gh/Khan/flow-to-ts) [![n
Latest version: 0.5.2

# flow-to-ts

[![Actions Status](https://github.com/Khan/flow-to-ts/workflows/Node%20CI/badge.svg)](https://github.com/Khan/flow-to-ts/actions)
[![codecov](https://codecov.io/gh/Khan/flow-to-ts/branch/master/graph/badge.svg)](https://codecov.io/gh/Khan/flow-to-ts)
[![npm version](https://badge.fury.io/js/%40khanacademy%2Fflow-to-ts.svg)](https://badge.fury.io/js/%40khanacademy%2Fflow-to-ts)

Convert Flow code to TypeScript.

> :warning: This is a WIP and many things still do not work properly.  There
> may also be the odd regression from time to time as work progresses.

The goal of this project is to provide a tool that can translate 95% of Flow
to TypeScript while maintaining a high percentage of the existing type
information. We don't want to convert code and end up with everything using
`any`. We also want to avoid having to make a lot of manual changes to files
afterwards, e.g. changing `SyntheticEvent` to `React.Event`.

# Quick start

- `yarn global add @khanacademy/flow-to-ts`
- `flow-to-ts [options] <file globs>`

For a comprehensive list of available options, please check out the [CLI code](./src/cli.ts).

# Playground

https://flow-to-ts.netlify.com

# Principles

- when exact translation isn't possible:
  - downgrade to `any` when possible and provide a gentle warning
  - when it isn't possible to downgrade (e.g. `%checks`), remove the syntax
    and provide a forceful warning that the code in question will need a human
    to convert it manually.
- best effort to maintain blank lines and the position comments, this isn't
  always possible so warn in those situations where we can't, e.g. converting
  object type spreads to intersection types.

# Contributing

## Bugs

Bug reports for converting Flow to TypeScript should include a link to the
playground with an example of a minimal reproducible example of the bug.

## Feature Requests

Feature requests are welcome.

## Pull Requests

Please make sure there is a GitHub issue first before creating a pull request
except for small things. Also, please sign our [Contributor License Agreement](https://docs.google.com/forms/d/e/1FAIpQLSdyXYrc8ogVoA46J9KXyIj5nKlZzNkOnQG-4A1R7X_BWGTShQ/viewform).

Pull requests that fix a bug in the conversion code should include one or more
test cases and should have 100% diff coverage.

## Dev quick start

```bash
git clone git@github.com:Khan/flow-to-ts.git
cd flow-to-ts
git submodule update --depth 1 --init -- babel
cd babel
yarn
cd ..
yarn
yarn test
```

## Helpful resources

- https://github.com/niieani/typescript-vs-flowtype
- https://astexplorer.net/