Set up tooling to run decaffeinate on popular open source projects
See original GitHub issuedecaffeinate has now gotten stable enough that it can run on some open source projects (e.g. hubot and autoprefixer) with no errors, and in some cases it’s possible to then run all of the tests and have them all pass. It would be cool to have a collection of these projects, especially to use them as a stress test to spot regressions and work through the long tail of rare correctness issues.
Here’s roughly what I have in mind:
- Make a new project, maybe
decaffeinate-examples
. It will effectively be a collection of scripts to run decaffeinate on various existing codebases, but it won’t actually contain all of those codebases. - Create a generic system for describing everything about a repo to automatically run decaffeinate and all tests. For example:
- A config file with things like the clone URL for the repo.
- A bulk-decaffeinate.config.js file with the proper options and excluded files.
- Common config files that should be added, like .babelrc and maybe .eslintrc.
- A patch to the codebase that changes the build system to use babel (if necessary).
- A script to run all tests and report the result.
- For each supported project, make a directory in the
decaffeinate-examples
repo with the right config files, patch, etc. - For each project, the tool can then clone the repo, do
npm install
, put the config files in place, apply the patch, run bulk-decaffeinate, run all tests, and report the result. I guess ideally it would also handle any cases where decaffeinate can’t handle everything yet, and will report what files can be converted and what tests pass. - Potentially we could have a github org with JS forks of all of these projects, and automatically run the latest decaffeinate on the latest code every week to make sure everything still works.
Issue Analytics
- State:
- Created 7 years ago
- Comments:8 (7 by maintainers)
Top Results From Across the Web
decaffeinate - GitHub
Run decaffeinate and related operations on a whole codebase, or just part of one. ... A tool to automatically run decaffeinate on some...
Read more >From 200K lines of CoffeeScript to zero: making decaffeinate ...
I started contributing to the decaffeinate open source project, became the primary ... you can run arbitrary code at class setup time.
Read more >Tools for Managing Open Source Programs - Linux Foundation
This guide provides details and scenarios for how to get your open source tool collection started, including information about the most important tools...
Read more >Explore 10 popular open source development tools - TechTarget
Take a quick look at these top 10 open source development tools, include Git, Jenkins, Chef, Ansible and Emacs.
Read more >bulk-decaffeinate - npm
Start using bulk-decaffeinate in your project by running `npm i bulk-decaffeinate`. ... npm install -g bulk-decaffeinate decaffeinate eslint .
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Thus is great! Made my day. 😊
CI is set up and there’s a table on the README. There are a few additional improvements that could be made, but it’s probably safe to call this task done, and a task has been filed for each individual repo to get it working fully.