Граф коммитов

129 Коммитов

Автор SHA1 Сообщение Дата
Armen Zambrano G 36f362f726 Issue #141 - Generate source maps for production 2018-03-08 15:24:07 -05:00
Armen Zambrano G 619f47da78 Issue #139 - Use sentry.io to track frontend runtime issues 2018-03-08 12:19:39 -05:00
Armen Zambrano G e0a68277ec Issue #126 - Upgrade to parse-diff 0.4.2 2018-03-05 12:43:43 -05:00
Dottori abf360542c Issue #119 - Cache changesets for SummaryViewer (#129)
This drastically improves the usability of the app by reducing the time it takes for the main page to load on subsequent loads.

Implemented behaviour:
If the changesets have not been cached fetch them.
If the cache is older than 24 hours, clear it and fetch new changesets.
2018-03-01 08:15:11 -05:00
Armen Zambrano G 45750226c9 Prevent commiting code without fixing linting issues first 2018-02-23 13:53:10 -05:00
jhkren b52dbe2c07 Issue #107 - Changeset in main page to link to Hg and coverage summary to navigate to the diff viewer (#121) 2018-02-23 09:24:02 -05:00
Dottori b1db97ca9f Issue #99: SummaryViewer: modify appearance of changeset description (#118) 2018-02-20 14:50:00 -05:00
jhkren 2c4717f534 Issue #120: Fix - Bad coverage calculation
Now checks for `fileDiffs.lines` for coverage status instead of `fileDiffs`.
2018-02-20 13:57:38 -05:00
Dottori ddd9942b0c Issue #79 - Move coverage percentage logic to coverage parse logic (#124) 2018-02-15 15:19:29 -05:00
Dottori 26e585893a Issue #85 - Add link to fileviewer in diffblocks to view a file's coverage 2018-02-13 12:35:12 -05:00
Abhay Chawla 98329ad3e5 Issue #21 - Show 'Loading...' message while coverage data is not yet available (#112) 2018-02-09 12:20:53 -05:00
jhkren c532cffd21 Issue #67 - DiffViewer - Sort files by least coverage at the top (#100) 2018-02-09 11:13:53 -05:00
Armen Zambrano 2ff3050eab
Issue #98 - Switch from react-scripts to Neutrino (#109)
Add NPM_CONFIG_PRODUCTION=false in order for Neutrino to get installed
before heroku-postbuild is run.
2018-02-09 08:37:49 -05:00
Armen Zambrano G 1e53e125a7 Issue #110 - 'Known issues' should point to the upstream repo 2018-02-08 11:27:26 -05:00
jhkren b9e35dacc4 Issue #71 - Handle renamed and added files properly 2018-02-07 12:53:56 -05:00
Dottori 845c1cb5d0 Issue #97 - remove calls to diffMeta and parentMeta (#105) 2018-02-06 13:59:41 -05:00
Dottori df5a39a4f3 Issue #75 - Reshuffled some links for the DiffViewer (#93) 2018-01-31 07:59:14 -05:00
Dottori 06927afa3a Issue 90 - Add bugzilla links to the summary viewer (#88) 2018-01-29 16:35:26 -05:00
Armen Zambrano f3a6b228cd
docs - Add note on how to keep branch up-to-date 2018-01-29 10:26:19 -05:00
Armen Zambrano G 70434d4cc2 Issue 26 - Travis support with linting check 2018-01-29 10:06:44 -05:00
Armen Zambrano 2f572337db
docs - Guide on how to contribute to the project (#94)
This guide helps new contributors know what to expect when collaborating.
2018-01-22 16:27:09 -05:00
Armen Zambrano d830ab7c56
docs - Link to overall architecture of Mozilla's code coverage blog post (#95)
Plus fixing minor issues.
2018-01-22 16:21:51 -05:00
Armen Zambrano G 671366674d File coverage viewer
This view allows you to select each line of a file
and determine which tests cover that specific line.

This work comes from the UCOSP work from @LinkaiQi and @yuenj.
2018-01-03 09:02:01 -05:00
Armen Zambrano G 700e78b2b4 Upgrade react-scripts to fix a mime low threat vulnerability
This fixes one or more vulnerable packages in the npm dependencies of this project. See the [Snyk test report](https://snyk.io/test/github/armenzg/firefox-code-coverage-frontend) for this project for details.

This change includes:

- Changes to `package.json` and `yarn.lock` to upgrade the vulnerable dependencies to a fixed version.

- [npm:mime:20170907](https://snyk.io/vuln/npm:mime:20170907)
2017-11-13 08:44:23 -05:00
Armen Zambrano G 03c1c5a3b7 refactor: Transform coverage data to improve internal manipulation 2017-11-10 14:36:19 -05:00
Armen Zambrano G 2100556e12 Issue #61 - fix: DiffViewer fails in certain changesets
Under certain circumstances the coverage data can be
incorrect and we need to safe guard against it.
2017-11-10 14:36:19 -05:00
Armen Zambrano G 0a13f582df Issue #44 - docs: Update app's disclaimers and documentation 2017-11-10 10:04:55 -05:00
Armen Zambrano G e8e5b5aad4 refactor: DiffViewer to use same common code to generate code coverage status 2017-11-08 15:43:59 -05:00
Armen Zambrano G 83b50612ad refactor: Create settings module 2017-11-08 15:43:59 -05:00
Armen Zambrano G 6d746e4b1c feat: Show coverage status summary for each changeset 2017-11-08 15:43:59 -05:00
Armen Zambrano G 5d27536c90 refactor: Move data structure functions into its own module 2017-11-08 15:43:59 -05:00
Armen Zambrano G 1cc809b2c9 refactor: Move fetch_data module under src/utils/ 2017-11-08 15:43:59 -05:00
Armen Zambrano G 9c8b585766 refactor: Do not show table headers while loading 2017-11-08 15:43:59 -05:00
Armen Zambrano G 322f8124df style: Add Mozilla's theming and polish views
Based on https://mozilla.ninja/visualelements
and https://fonts.google.com/specimen/Fira+Sans
2017-11-08 15:43:59 -05:00
Armen Zambrano G b4cfb237d0 Issue #47 - Poll on an interval for csets with 'Pending' coverage status
Some pushes in mozilla-central do not yet have code coverage information.
The backend returns 202 for those pushes and we mark them as 'Pending'.
Once we have determined which csets don't have coverage data we can query
on an interval to see if anything has changed. We do this until
there are no csets with a backend response of 202.

Indicate if changesets are still being polled.
2017-11-08 15:43:59 -05:00
Armen Zambrano G 71c569b04a chore: Add react-interval dependency 2017-11-08 15:43:59 -05:00
Armen Zambrano G 48f9d862e4 refactor: Simplify code to show cset coverage status 2017-11-08 15:43:59 -05:00
Armen Zambrano G f49dbfba3e refactor: Store changesets as an Object rather than an array
Remove pushes from the state of the app. Simpler state.
Changesets only contain a reference to the pushId.
2017-11-08 15:43:59 -05:00
Armen Zambrano G ed3210bcdd Issue #46 - Add coverage summary for each changeset
Until now we would only fetch the coverage for the tipmost changeset.

With this change every changeset contains information about code coverage
and if it should be linkify or hidden (instead of being stored at the push level).
2017-11-08 15:43:59 -05:00
Armen Zambrano G 94acb660e3 refactor: Switch from using promises to async/await
Cleaner code.
2017-11-08 15:43:59 -05:00
Armen Zambrano G 19f7158e19 feat: Do not show changesets without coverage data 2017-11-08 15:43:59 -05:00
Armen Zambrano G a17fbc810a Issue #41 - Don't show merges in the list view 2017-10-25 08:40:00 -04:00
Armen Zambrano G e4e9908a1a feat: Preparative work to deprecate concept of push 2017-09-29 17:36:36 -04:00
Armen Zambrano G 8ff26b5653 feat: Support fetching coverage summary for each push on the main view
NOTE: This change can only work if the backend behaves (currently failing often),
otherwise, you will not think anything useful happens in this commit besides adding
an empty 'code coverage' column.

Recent pushes from mozilla-central may not have code coverage available for few hours.

If succesful, this change adds a coverage summary for every push.

We fetch the coverage data sequentially for each push (rather than in parallel)
since we can overwhelm the backend. Read the details in
[here](https://github.com/mozilla-releng/services/issues/632).
2017-09-29 17:36:36 -04:00
Armen Zambrano G 0eee54a5c1 chore: Rename app's title bar 2017-09-29 17:36:36 -04:00
Armen Zambrano G fe55e16cc1 Issue #41 - Do not show merges 2017-09-29 17:31:04 -04:00
Armen Zambrano G b52239d740 feat: Add unique identifier for each line in diff viwer
Up until now we were using the index of the array to identify each line
in the diff viewer. This is a bad habit and the new linter rules catches this.

In the future we will be able to create links to this unique row identifiers.
2017-09-29 17:31:04 -04:00
Armen Zambrano G c0c19bea9f refactor: Linting fixes 2017-09-29 17:31:04 -04:00
Armen Zambrano G 25d8db41db chore: Replace neutrino with react-scripts
Neutrino version 7 was released yesterday and the code inside of package.json
allowed it to be installed (my bad).

Unfortunately that became a complete mess locally and on Heroku.

Trying to fix it was also a bit of a mess and never got it fixed right.
I needed to spend more time but instead I decided to get rid of neutrino
altogether.

I've wanted to remove neutrino for a while since I feel it adds
one more layer of complexity. It even makes .eslintrc.js use a
different style than it normally would.

react-scripts has a much larger community behind it and I expect
it to get less on the way.

One other benefit of react-scripts is that it auto-opens a tab
and loads your app there.
2017-09-29 17:31:04 -04:00
Armen Zambrano G 418fba9a54 chore: Add missing prop-types dependency 2017-09-29 15:20:03 -04:00