1. 09 Nov, 2020 3 commits
  2. 06 Nov, 2020 2 commits
  3. 05 Nov, 2020 3 commits
    • Robert Knight's avatar
      Remove ES 2015 and ES 2016 polyfill sets · f17f6901
      Robert Knight authored
      All of the browsers we currently support, as specified by the
      `browserslist` key in package.json, fully support ES 2015 and ES 2016.
      
      The only exception I'm aware of is that Edge Legacy v17 and v18 do not
      support using string regex search/match methods with custom (non-regex)
      types via `Symbol.{match, search, replace}`. That's not something we've
      ever used AFAIK.
      f17f6901
    • Robert Knight's avatar
      Replace `build/manifest.json` make target with `make build` · 9d89ffc9
      Robert Knight authored
      `make build` is a more obvious name for a command that creates a
      production build of the client. It also resolves an issue that `make
      build/manifest.json` did nothing if `node_modules/` was up to date but
      other dependencies had changed.
      9d89ffc9
    • Robert Knight's avatar
      Avoid creating unnecessary production build when running `make dev` · 20b558f4
      Robert Knight authored
      `make dev` would unnecessarily create a production build before starting
      the development server if `package.json` or `yarn.lock` had been touched
      since the previous run of `make dev`. This was happening because `make dev`
      had a dependency on `build/manifest.json`, which triggers a production
      build, rather than `node_modules/.uptodate`, which just runs `yarn
      install`. I can't remember the historical reason why it was this way, but it
      doesn't make sense any more.
      
      Fix this by changing `make dev` to only depend on `node_modules/` being
      up to date before starting the dev server.
      20b558f4
  4. 04 Nov, 2020 1 commit
    • Robert Knight's avatar
      Replace babel-plugin-angularjs-annotate with babel-plugin-inject-args · cacdd635
      Robert Knight authored
      It is confusing to have a Babel plugin with an Angular-related name and
      Angular-sounding annotations (`@ngInject`) in the code, even though
      we're not using AngularJS. Although we're not using AngularJS any more,
      we still have services that are instantiated by a dependency injection
      container.  The container reads dependency names from a `$inject`
      property on service functions/classes. This `$inject` property is added
      by `babel-plugin-angularjs-annotate`.
      
      This commit replaces the `angularjs-annotate` Babel plugin with one
      maintained by us [1]. The new plugin provides only the functionality that we
      need (eg. only processes explicitly annotated functions) and uses a more generic
      `@inject` annotation.
      
      [1] https://github.com/hypothesis/babel-plugin-inject-args
      cacdd635
  5. 03 Nov, 2020 3 commits
  6. 02 Nov, 2020 6 commits
  7. 30 Oct, 2020 5 commits
  8. 29 Oct, 2020 2 commits
  9. 27 Oct, 2020 9 commits
  10. 23 Oct, 2020 3 commits
  11. 22 Oct, 2020 3 commits
    • Robert Knight's avatar
      Run "yarn upgrade" · 0e74bb63
      Robert Knight authored
      This resolves errors building some indirect dependencies in the most
      recent versions of Node.
      0e74bb63
    • Robert Knight's avatar
      Enable terser workarounds for Safari 10 · bb83c852
      Robert Knight authored
      This fixes an error in production builds of the client in Safari 10:
      
      ```
      SyntaxError: Cannot declare a let variable twice: 't'.
      ```
      
      Fixes #2664
      bb83c852
    • Robert Knight's avatar
      Remove unused iframe attributes · 25d3aa48
      Robert Knight authored
       - Remove `seamless` attribute which has not been supported by major
         browsers for years [1]
       - Remove the `name="hyp_sidebar_frame"` attribute which is not
         referenced anywhere else in the code. I did find a couple of
         references to it in Google, but only in scripts written by Hypothesis
         team members which are not run regularly.
      
      [1] https://caniuse.com/iframe-seamless
      25d3aa48