Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction for sonarwhal

Introduction for sonarwhal

2018/4/24
Roppongi.js #2@Mercari, Inc.

Sota Sugiura

April 24, 2018
Tweet

More Decks by Sota Sugiura

Other Decks in Technology

Transcript

  1. sonarwhal is a linting tool that will help you with

    your site's accessibility, speed, security and more, by checking your code for best practices and common errors.
  2. Accessibility • <html> element must have a lang attribute •

    Page must contain one main landmark • Content should be contained in a landmark region
  3. Interoperability • 'content-type' header should have 'charset=utf-8' • No viewport

    meta tag was specified • Response with status code 404 had less than 512 bytes
  4. Interoperability • 'content-type' header should have 'charset=utf-8' • No viewport

    meta tag was specified • Response with status code 404 had less than 512 bytes
  5. Performance • Should be served compressed with gzip when gzip

    compression is requested. • Should be served compressed with Brotli when Brotli compression is requested over HTTPS. • No "cache-control" header or empty value found. It should have a value
  6. Performance • Should be served compressed with gzip when gzip

    compression is requested. • Should be served compressed with Brotli when Brotli compression is requested over HTTPS. • No "cache-control" header or empty value found. It should have a value _⼈⼈⼈⼈⼈⼈_ > スパルタ <  ̄Y^Y^Y^Y^Y ̄
  7. Security • 'x-content-type-options' header is not specified • 'set-cookie' header

    to set 'nid' doesn't have the 'secure' directive. • Resource https://hoge.com/_shared/ js/jquery.easing.js requested without the "integrity" attribute
  8. Security • [email protected] has 1 known vulnerabilities (1 medium). See

    https://snyk.io/vuln/npm:jquery for more information. • '<a href=“https://twitter.com/xxx" target="_blank"><span class="icon- twitter"></span></a>' is missing 'rel' values 'noopener', ‘noreferrer'