Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: distribute commonjs, ES module, and type declaration files #83

Merged
merged 1 commit into from
Dec 13, 2016

Commits on Dec 13, 2016

  1. chore: distribute commonjs, ES module, and type declaration files

    This commit changes the distributable file format in the following ways:
    - unbundles both the commonjs and ES module files from one file each to one for each original file for each format
    - includes `.d.ts` files for each original source file
    - adds `types` field to `package.json` per https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html
    - removes rollup as the dist builder and uses a wrapper, `script/build`, that uses `tsc` directly
    - removes `coffee-lex.js.flow`
    
    I don't like that I had to write a custom build script for this. It makes me feel like I'm doing something incorrectly to support both commonjs and ES modules. I removed rollup because it didn't seem to play well with TypeScript from a publishing perspective. Specifically, I couldn't find any way to automatically build a `d.ts` file for the project bundle generated by rollup that didn't have serious shortcomings (https://github.com/rollup/rollup-plugin-typescript/issues/54). I considered keeping the bundled `.js` and `.mjs` files and using multiple `.d.ts` files, but there didn't seem to be much benefit over simply leaving all of them split up. Other rollup-based projects can still efficiently bundle coffee-lex with the modules split out as separate files.
    eventualbuddha committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    8cf214d View commit details
    Browse the repository at this point in the history