Repository: TypeScript
Issue: Evaluate popular packages that have `exports` fields set but may not be Node ESM-ready for TypeScript
Labels: Community Tooling,Domain: ES Modules,Rescheduled

[The `exports` field in `package.json`](https://nodejs.org/api/packages.html#main-entry-point-export) - nobody knows how to configure it, which probably means that a negative number of people know how to configure it for TypeScript.

Anyway, a very good way to ensure that 99% of users have no issues with consuming a Node ESM package is to do a sweep of the npm registry to find the most popular packages that have an `exports` field and a `types` field set and validate that they have correctly configured their types.

The steps include

* [ ] Generating the list of 150 of the top-depended-on packages that have an rts field and have either a `types` field set or have a corresponding `@types` package.
* [ ] Distributing out the list to the team.
* [ ] Having the team manually validate that the packages (or their `@types` package) are configured correctly.

Last time I tried to do this with [`all-the-package-names`](https://www.npmjs.com/package/all-the-package-names), people told me the list might be too outdated, but the list might serve as a decent guide anyway:

<details>
<summary>Click here to see the list.</summary>

Self-Typed: 18

Package Name | Exports Value | Assesment
-------------|---------------|----------
postcss | Object | ?
babel-jest | Object | ?
rxjs | Object | ?
typedoc | String | ?
ts-node | Object | ?
projectz | Object | ?
postcss-custom-properties | Object | ?
postcss-scss | Object | ?
uid | Object | ?
emailjs | Object | ?
ngrok | Object | ?
pob-babel | Object | ?
preact | Object | ?
assert-helpers | Object | ?
getmac | Object | ?
simple-statistics | Object | ?
discord.js | Object | ?
editions | Object | ?


Packages with `@types`
======================

At-Typed: 121

Package Name | Exports Value | Assesment
-------------|---------------|----------
chai | Object | ?
eslint | Object | ?
tape | Object | ?
underscore | Object | ?
yargs | Object | ?
socket.io | Object | ?
js-yaml | Object | ?
expect | Object | ?
uuid | Object | ?
ws | Object | ?
rollup | Object | ?
koa | Object | ?
socket.io-client | Object | ?
meow | String | ?
npm | Object | ?
jest-cli | Object | ?
highlight.js | Object | ?
mustache | Object | ?
dotenv | Object | ?
d3 | Object | ?
deep-equal | Object | ?
jest | Object | ?
gulp-imagemin | String | ?
diff | Object | ?
unique-random-array | String | ?
globby | String | ?
ora | String | ?
acorn | Object | ?
path-exists | String | ?
firebase | Object | ?
vinyl-paths | String | ?
strip-ansi | String | ?
strip-json-comments | String | ?
systemjs | Object | ?
log-symbols | Object | ?
escape-string-regexp | String | ?
get-stdin | String | ?
stack-trace | Object | ?
is-promise | Object | ?
slash | String | ?
es6-promisify | Object | ?
imagemin | String | ?
configstore | String | ?
figures | String | ?
strip-bom | String | ?
mathjs | Object | ?
baconjs | Object | ?
engine.io | Object | ?
is-plain-object | Object | ?
tempfile | String | ?
arrify | String | ?
supports-color | Object | ?
tildify | String | ?
is-stream | String | ?
normalize-url | String | ?
d3-scale | Object | ?
temp-write | String | ?
indent-string | String | ?
d3-selection | Object | ?
d3-array | Object | ?
read-chunk | String | ?
is-plain-obj | String | ?
yaml | Object | ?
engine.io-client | Object | ?
js-cookie | Object | ?
ansi-styles | String | ?
npm-name | String | ?
pako | Object | ?
detect-indent | String | ?
decamelize | String | ?
stringify-object | String | ?
ansi-regex | String | ?
sass | Object | ?
string-length | String | ?
get-port | String | ?
lowdb | String | ?
js-base64 | Object | ?
find-up | String | ?
dargs | String | ?
array-uniq | String | ?
humanize-url | String | ?
repeating | String | ?
d3-shape | Object | ?
read-pkg-up | String | ?
strip-indent | String | ?
hashids | Object | ?
junk | String | ?
istextorbinary | Object | ?
ansi-escapes | String | ?
geolib | Object | ?
yargs-parser | Object | ?
commonmark | Object | ?
username | String | ?
jssha | Object | ?
latest-version | String | ?
github-username | String | ?
string-width | String | ?
is-root | String | ?
d3-transition | Object | ?
trash | String | ?
js-combinatorics | Object | ?
socket.io-parser | Object | ?
d3-dsv | Object | ?
form-urlencoded | Object | ?
semver-regex | String | ?
cli-cursor | String | ?
internal-ip | Object | ?
linq | String | ?
d3-color | Object | ?
node-hue-api | Object | ?
d3-interpolate | Object | ?
elegant-spinner | String | ?
read-pkg | String | ?
has-ansi | String | ?
node-ipc | Object | ?
leven | String | ?
d3-axis | Object | ?
d3-format | Object | ?
is-obj | String | ?
boxen | String | ?
d3-dispatch | Object | ?

</details>