open-source-labs/Reactime

missing instructions on how to develop with this extension?!

aspiers opened this issue · 1 comments

Hi there,

Thanks a lot for this really impressive looking extension! I say "impressive looking" rather than just "impressive" because unfortunately I have not been able to use it yet. On the first attempt I immediately ran into #250. So then I thought, OK maybe I can fix this myself, so I forked the repo, and cloned it locally. What next though? The README says that I can install from the provided build.zip:

Use src/extension/build/build.zip for manual installation in [Developer mode] (https://developer.chrome.com/extensions/faq#faq-dev-01). Turn on 'Allow access to file URLs' in extension details page if testing locally.

but as far as I can see, it doesn't give any explanation at all about how to build and test Reactime directly from the source.

I find this fairly astonishing, because clearly a great deal of effort has gone into trying to make it as easy as possible for developers to contribute. Indeed, the Developer README starts by saying

Our mission at Reactime is to maintain and iterate constantly, but never at the expense of future developers.
We know how hard it is to quickly get up to speed and onboard in a new codebase.
So, here are some helpful pointers to help you hit the ground running. 🏃🏾💨

and then goes on to provide gloriously helpful descriptions of the internals, which is absolutely fantastic!

But unfortunately all this effort seems mostly neutered by two crucial but simple and easily fixed flaws:

  1. There is no link from the main README to the developer README, so I would expect that most developers will simply not even notice it exists.
  2. There is no explanation of how to test any modifications to the source.

The first point is trivially fixed, so I guess I will submit a PR.

The second point seems a lot less obvious, but I think I have found the solution:

  1. If you have already installed Reactime from the Chrome Web Store, disable or uninstall it.
  2. Run yarn to install all dependencies. (I guessed this is preferred to yarn due to the presence of a yarn.lock file and the absence of a package-lock.json file. I also found that npm i actually failed the first time for me.)
  3. Run yarn dev. I guessed this by spotting it in package.json, and I can see that the --watch parameter there means that as soon as any source files are modified, it automatically rebuilds the webpack bundles under src/extension/build.
  4. Go to chrome://extensions
  5. Ensure Developer mode is enabled
  6. Click Load unpacked
  7. Select the src/extension/build directory

This seems to be working for me, so it would be great if someone could confirm that it's the correct procedure.

Hi,
Instructions for development with this extension has been updated as well as your contributions (#254 , #255 ) have been merged in.
Closing issue #253