Skip to content

litewarp/recap-chrome

 
 

Repository files navigation

A More Modernized RECAP

RECAP, but with a vastly improved development experience.

This build includes:

  • ES6 module support and code-splitting with Webpack!
  • Webpack-Dev-Server with Hot-Module Reloading!
  • Built-in Prettier formatting and support!
  • Faster tests by switching from Karma/Jasmine to Jest!
  • No more vendor copy or importing the entire jquery library!
  • Use of the more modern and leaner Date-FNS over Moment
  • Ability to inline env secrets during build!
  • Removal of exportInstance middleware!
    • Fetch and notifier calls through background script are now virtually identical to direct invocations!
  • Reduced Dependencies!

Development Status

Update 8/31/20

  • All tests passing
  • Alpha Appellate Support (uploads docket and pdfs; no linkCheck)

Update 08/25/20

- Two tests failing since Karma for Jest swapover. - Started typing functions in the comments for eventual TS swapover.

Upcoming Features

  • Final removal of jQuery
  • Typescript?

To get started with development

  1. Install mkcert.
  2. run mkcert --install
  3. clone the repo
  4. cd into the dev subdirectory
  5. run mkcert localhost
  6. cd ..
  7. npm i
  8. npm run dev
  9. Load the unpacked extension from the /build sub folder.

Build for production

  1. npm run build
  2. submit package from the build directory!

FROM OLD VERSION

What is this?

This is the code for the RECAP Chrome and Firefox extensions, programs that are used to liberate millions of documents from the PACER system. To install this extension please visit its homepage at https://free.law/recap/.

Reporting Issues

Issues go one of a few places:

Joining as a Developer

If you wish to contribute to our efforts to drain PACER, please get in touch using the contact form on Free Law Project's website or simply get to work on an issue that interests you. It's usually better to get in touch before you begin work though.

Code Standards

  1. We have an eslint configuration. Please use it. There are probably plugins for your editor to help you with this.

  2. For commits, please adhere to the guidance published here. Intellij has a plugin to help with this. Look for "Git Commit Template".

Tips for Making Extensions

  1. The weirdest thing about working on extensions is that you need to have two developer tool windows open simultaneously. One for the page you're on and how the extension interacts with it, and the other for the background page of the extension. You'll just have to live like this. Having multiple monitors helps. Read on for how to set this up.

  2. You can load an "unpacked extension" from chrome://extensions/ if you enable developer options in Chrome. The same can be accomplished in Firefox by going to about:debugging, clicking "Load Temporary Add-on" and then selecting any file.

    Once you have the unpacked extension loaded, you'll see a button to debug it. Click that to open the second developer tools window mentioned just above.

  3. While it's true that every court has their own customized version of PACER, there is a PACER training site that does not charge fees. You can use this if you wish to work on the system without accruing charges. If you are accruing charges while working on this extension, Free Law Project may be able to help. Let us know.

  4. If you want to auto-zip your code on changes, you have two options. First, you can install a utility called entr and run:

    command ls *.js | entr zip -FSr recap-chrome.zip * --exclude=*node_modules*
    

    Alternatively, for Firefox, you can use the web-ext tool, with a command like:

    web-ext run --firefox-profile recap-debugging --start-url https://ecf.dcd.uscourts.gov/cgi-bin/DktRpt.pl?178502 --start-url https://www.courtlistener.com/docket/4214664/national-veterans-legal-services-program-v-united-states/
    

    To run that you'll need a recap-debugging profile first, but running that will set up auto-reload of the extension in Firefox. It will also load a couple useful URLs in your debugging window.

Running Tests

You can (and should) run the tests before you push. If you don't, you'll be disappointed when our continuous integration suite yells at you. To run tests, install the dependencies described in package.json by running:

npm install

You will need Chrome installed. Then run:

karma start --single-run

If the tests pass, give a push to your repo and send us a pull request.

When we pull your code using Github, these tests will be automatically run by the Travis-CI continuous integration system. You can make sure that your pull request is good to go by waiting for the automated tests to complete.

For more information on testing see TESTING.md.

The current status of Travis CI on our master branch is:

Build Status

Releasing a New Version

When a new version is needed, the release process is:

  1. Update package.json and manifest.json with a new release version.

  2. Run web-ext lint to ensure no regressions.

  3. Commit the code.

  4. Tag the code with something like:

    git tag -s '0.8.4' -m "Releases 0.8.4, fixing replaceState and pushState to work in Chrome 43." -u '[email protected]' -f
    git push --tags -f
    
  5. Make sure you don't have any working/testing code in your tree that could get zipped up in the next step.

  6. Zip up the archive with the rather archaic:

    zip -FSr recap.zip *
    
  7. Upload that to the Chrome Market.

  8. Upload that to addons.mozilla.org

  9. Make a new release on Github announcing the release.

Copyright

RECAP for Chrome Copyright 2013 Ka-Ping Yee [email protected]

RECAP for Chrome is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. RECAP for Chrome is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with RECAP for Chrome. If not, see: http://www.gnu.org/licenses/

About

Recap Chrome and Firefox Extension

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 93.5%
  • HTML 4.7%
  • CSS 1.8%