Open
Description
The exports
field in package.json
- 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
, people told me the list might be too outdated, but the list might serve as a decent guide anyway:
Click here to see the list.
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 | ? |