Commit Graph

69 Commits

Author SHA1 Message Date
Jason Miller
81aaadbabf Remove all prerendering & critical CSS stuff 2018-05-01 09:52:58 -04:00
Jason Miller
311d0524db improve tests 2018-04-24 14:03:44 -04:00
Jason Miller
540b3c8154 Merge branch 'master' into prerendering 2018-04-17 21:35:28 -04:00
Jason Miller
06642fd047 Merge pull request #18 from GoogleChromeLabs/critters-async-await
Critters: async/await & font handling
2018-04-17 21:33:59 -04:00
Jason Miller
058cce1d49 Merge pull request #17 from GoogleChromeLabs/babel-fixes
Only use Babel to process .js files.
2018-04-17 17:11:03 -04:00
Jason Miller
2078b57dae Merge pull request #12 from GoogleChromeLabs/css-inlining
CSS Inlining
2018-04-17 17:10:43 -04:00
Jason Miller
11bebfc836 A11y: add aria attribute to give the upload field a name 2018-04-17 14:08:49 -04:00
Jason Miller
dec93a724f Fix for Workbox precaching way too many files 2018-04-17 14:08:23 -04:00
Jason Miller
411614b731 Output minimal stats to the console during build 2018-04-17 14:07:57 -04:00
Jason Miller
896d267de5 Add plugin to make script loading async 2018-04-17 14:07:42 -04:00
Jason Miller
e0c59577a4 Lint webpack config, and only preload initial chunks 2018-04-17 14:07:22 -04:00
Jason Miller
5936c57a82 Clean up app to remove old prerendering bits 2018-04-17 14:05:50 -04:00
Jason Miller
3ba0a5a22a Adds single-pass prerendering via a new prerender-loader 2018-04-17 14:04:55 -04:00
Jason Miller
be8fae10f8 Critters: move to async/await (fixes #16), add critical font inlining / preloading 2018-04-17 13:57:48 -04:00
Jason Miller
b911e960a8 Merge pull request #1 from GoogleChromeLabs/app-skeleton
App skeleton
2018-04-17 13:46:16 -04:00
Jason Miller
718443de30 Only use Babel to process .js files. 2018-04-17 13:42:25 -04:00
Jason Miller
919a259b0a Add option to make async leave a rel="preload" in the header and append a <link rel="stylesheet"> to the end of body. 2018-04-05 12:41:19 -04:00
Jason Miller
387f4cf9a3 switch to eslint-config-standard 2018-04-05 11:44:32 -04:00
Jason Miller
3f55698439 Switch to recursive getElementsByTagName implementation. 2018-04-03 17:00:26 -04:00
Jason Miller
023367ec60 Switch nwmatcher from thinking we're a DocumentFragment to thinking we're a proper Document. 2018-04-03 17:00:07 -04:00
Jason Miller
fa8c932f14 Allow specifying a function/regex URL filter for external stylesheets 2018-04-03 16:59:41 -04:00
Jason Miller
e9d91ab0f2 Instead of replacing empty rules with comments, remove them. 2018-04-03 16:59:15 -04:00
Jason Miller
da616a3611 Add more explanatory comments 2018-04-03 16:58:53 -04:00
Jason Miller
e1e452e5e3 Hoist embedLinkedStylesheet() onto the class 2018-04-03 16:57:55 -04:00
Jason Miller
b15ed20001 Remove cssnano-powered minify option, add compress option (defaults to true) 2018-04-03 16:56:53 -04:00
Jason Miller
e14502929b Use util.promisify 2018-04-03 16:56:04 -04:00
Jason Miller
f49bcbae87 add note about cssnano not being of much use 2018-04-03 10:58:29 -04:00
Jason Miller
306fecee7c Use modern JS features, add lots of comments. 2018-04-03 10:50:00 -04:00
Jason Miller
0066e20315 - Rename to critters-webpack-plugin
- Format output using pretty-bytes
- Insert inlined style tags immediately after their source link tags
- Add option to turn off external stylesheet processing
- Add `async` option that converts critical'd external sheets to `<link rel="preload" as="style" onload="this.rel='stylesheet'">`
2018-04-03 10:00:41 -04:00
Jason Miller
34c47242a9 Don't strip :hover, :focus or :active rules. 2018-04-03 09:21:47 -04:00
Jason Miller
82d33ea91c Add prefer-const eslint rule 2018-04-03 08:53:05 -04:00
Jason Miller
8e6a48b94d let -> const 2018-04-03 08:52:53 -04:00
Jason Miller
20757d9177 Remove commented-out code. 2018-04-02 22:52:30 -04:00
Jason Miller
7bf2ba4690 Initial version of webpack-inline-critical-css-plugin 2018-04-02 22:51:01 -04:00
Jason Miller
2d02562753 tabs -> spaces 2018-04-02 22:49:19 -04:00
Jason Miller
fbcd16063d Load images as both binary strings and blobs. 2018-03-30 16:26:00 -04:00
Jason Miller
d023263f57 In development, persist application state across hot reloads. 2018-03-30 16:25:41 -04:00
Jason Miller
1dd0366c05 Fix broken sourcemaps in the TypeScript+Babel setup, clean up webpack config, drop threaded type checking (couldn't get it working) 2018-03-30 16:25:20 -04:00
Jason Miller
fc84c81a47 Make @bind the same as Surma's implementation 2018-03-30 13:32:16 -04:00
Jason Miller
8f452ddf6d Our simplified @bind decorator didn't work :( The getter is needed in order to defer binding until there is an instance to bind to, the simpler implementation actually bound methods to the prototype itself. 2018-03-29 23:13:03 -04:00
Jason Miller
5cfeefa86c Fix missing header 2018-03-29 23:12:18 -04:00
Jason Miller
473a7d45a5 Add missing declare (fixes type errors on rebuild) 2018-03-29 23:11:57 -04:00
Jason Miller
ae1d323d60 fork-ts-checker-notifier-webpack-plugin doesn't use Webpack to look up files, so we need to explicitly feed it a files list via tsconfig.json. 2018-03-29 21:27:07 -04:00
Jason Miller
ac3eaeed4d I blame myself for this @surma 2018-03-29 21:20:27 -04:00
Jason Miller
048524ce91 toggleDrawer() -> onToggleDrawer() 2018-03-29 15:49:56 -04:00
Jason Miller
c741f245a6 Use new Response(file).text() to obtain a binary string 2018-03-29 15:49:45 -04:00
Jason Miller
17e9668dd0 if (showFab) 2018-03-29 15:49:27 -04:00
Jason Miller
df8d5cfc6e Dependency updates. 2018-03-29 15:43:26 -04:00
Jason Miller
76ceea0e52 tabs -> spaces 2018-03-29 15:43:14 -04:00
Jason Miller
5e6500d196 Use strict TypeScript, enable TSLint, update all types to work in strict mode. 2018-03-29 15:42:07 -04:00