{"action":"created","issue":{"url":"https://api.github.com/repos/decred/dcrdata/issues/839","repository_url":"https://api.github.com/repos/decred/dcrdata","labels_url":"https://api.github.com/repos/decred/dcrdata/issues/839/labels{/name}","comments_url":"https://api.github.com/repos/decred/dcrdata/issues/839/comments","events_url":"https://api.github.com/repos/decred/dcrdata/issues/839/events","html_url":"https://github.com/decred/dcrdata/pull/839","id":384136529,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzNDEyMzEw","number":839,"title":"organize css into scss partials, add standard config stylelint, add babel-loader","user":{"login":"gozart1","id":25571523,"node_id":"MDQ6VXNlcjI1NTcxNTIz","avatar_url":"https://avatars2.githubusercontent.com/u/25571523?v=4","gravatar_id":"","url":"https://api.github.com/users/gozart1","html_url":"https://github.com/gozart1","followers_url":"https://api.github.com/users/gozart1/followers","following_url":"https://api.github.com/users/gozart1/following{/other_user}","gists_url":"https://api.github.com/users/gozart1/gists{/gist_id}","starred_url":"https://api.github.com/users/gozart1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gozart1/subscriptions","organizations_url":"https://api.github.com/users/gozart1/orgs","repos_url":"https://api.github.com/users/gozart1/repos","events_url":"https://api.github.com/users/gozart1/events{/privacy}","received_events_url":"https://api.github.com/users/gozart1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":16,"created_at":"2018-11-26T00:30:13Z","updated_at":"2018-12-03T13:58:10Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/decred/dcrdata/pulls/839","html_url":"https://github.com/decred/dcrdata/pull/839","diff_url":"https://github.com/decred/dcrdata/pull/839.diff","patch_url":"https://github.com/decred/dcrdata/pull/839.patch"},"body":"* Convert all css (except for some libs) into scss into partials \r\n* Adds [stylelint](https://stylelint.io/) to lint scss using the standard configuration (160 built-in rules to catch errors, apply limits and enforce stylistic conventions)\r\n* Moves index.js to the root of /public\r\n* Moves dist folder to root of /public ( all production assets end up here, css, js ,etc ) \r\n* Imports only the used subset of bootstrap scss partials instead loading the entire library by itself\r\n* Minifies css bundle for production\r\n* Adds babel transpilation step\r\n\r\nI had to re-organize nexthome.css around a bit to get it pass the linter. I've tested to make sure everything looks the same. One of the rules is that stylelint enforces is that rules must be defined in increasing order of specificity, and since nexthome has a lot of selectors that end in an element, this rule was violated quite a bit. It would be good to refactor nexthome so that it does not use long selector chains or base elements and instead keeps things flat by using specific classes. But that's out of scope for this PR.\r\n\r\nAdding Babel to transpile ES2018 to ES5 gives us broad browser compatibility. It's being added as part of this PR because switching to bootstrap imports necessitated adding a custom minimizer for webpacks prod config, which in turn required a custom js minimizer (UglifyJS), which in turn chokes on `async await` functions. So adding babel was the missing piece and since I was planning to add this in my next PR it's included here for the sake of simplicity.\r\n"},"comment":{"url":"https://api.github.com/repos/decred/dcrdata/issues/comments/443718611","html_url":"https://github.com/decred/dcrdata/pull/839#issuecomment-443718611","issue_url":"https://api.github.com/repos/decred/dcrdata/issues/839","id":443718611,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MzcxODYxMQ==","user":{"login":"chappjc","id":9373513,"node_id":"MDQ6VXNlcjkzNzM1MTM=","avatar_url":"https://avatars1.githubusercontent.com/u/9373513?v=4","gravatar_id":"","url":"https://api.github.com/users/chappjc","html_url":"https://github.com/chappjc","followers_url":"https://api.github.com/users/chappjc/followers","following_url":"https://api.github.com/users/chappjc/following{/other_user}","gists_url":"https://api.github.com/users/chappjc/gists{/gist_id}","starred_url":"https://api.github.com/users/chappjc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chappjc/subscriptions","organizations_url":"https://api.github.com/users/chappjc/orgs","repos_url":"https://api.github.com/users/chappjc/repos","events_url":"https://api.github.com/users/chappjc/events{/privacy}","received_events_url":"https://api.github.com/users/chappjc/received_events","type":"User","site_admin":false},"created_at":"2018-12-03T13:58:10Z","updated_at":"2018-12-03T13:58:10Z","author_association":"MEMBER","body":"Nice.  I'm happy to nag.\r\n\r\nThis is looking really tight.  RIP polyfill.\r\n\r\nFor everyone's reference, when in production, we don't serve the assets via dcrdata at all, instead using nginx with special cache and gzip rules for static assets.  Although I do like the idea of pre-gzipping and using gzip_static.  That will be particularly helpful when traffic really picks up."}}
{"actor":{"display_login":"chappjc"}}