We had both a package-lock.json and yarn.lock. Yarn rightly warns about this, and indeed our package-lock.json was out of date. We should stick to a single package manager so as to not confuse our users. Our README recommends yarn.
Moved ./src/stories -> ./stories. We only package the ./lib folder when publishing to NPM, which is great. However, our stories would have been needlessly included in that package. Moving them to another folder is an easy fix, and also happens to nicely separate core library code from development code. It's minor, but this drops our package size from 115kb zipped to 106kb.
We didn't need to copy the ./src/types folder. We only had to because the source file inside had a .d.ts extension, even though it was just being used as a regular import across the codebase. Changing .d.ts to .ts allows TypeScript to build the file along with the rest of the sources without any special treatment. This won't impact end-users because those .d.ts files were not exposed as ambient typings for our package; they were plain utilities.
Clean ./lib before each build to ensure artifacts from previous builds are not accidentally retained.
Some minor late night tweaks.
.d.ts
extension, even though it was just being used as a regular import across the codebase. Changing.d.ts
to.ts
allows TypeScript to build the file along with the rest of the sources without any special treatment. This won't impact end-users because those.d.ts
files were not exposed as ambient typings for our package; they were plain utilities.