Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Progressive Web Application guide #1737

Merged
merged 9 commits into from
Dec 18, 2017
Merged

Add Progressive Web Application guide #1737

merged 9 commits into from
Dec 18, 2017

Conversation

johnnyreilly
Copy link
Collaborator

To resolve #1145

This is a work in progress - not yet ready for merging. I've opened the PR to create visibility as to what I'm doing. I'll notify when I think this is ready for review proper.

cc @skipjack

@johnnyreilly
Copy link
Collaborator Author

johnnyreilly commented Dec 12, 2017

Hey @skipjack,

I think this is ready for a review. The Workbox plugin is in alpha for release 3 right now. My guide should work with Workbox 2 and Workbox 3. Consequently I've deliberately not specified version numbers in the guide.

Let me know what you think!

@skipjack
Copy link
Collaborator

@johnnyreilly great, will dig into this before the end of the week. I also requested a review from another contributor who has been very helpful with cleaning up the Guides section.


Once more `npm run build` to build a version of the app incuding the registration code. Then serve it with `npm run start`. Navigate to http://localhost:8080 and take a look at the console. Somewhere in there you should see:

```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you didn't already notice...

The missing language here is what's throwing the build error. I know this is a case where it's just console output so something like bash or even js would probably be fine.

@johnnyreilly
Copy link
Collaborator Author

Ha - I'd gone to bed before the build finished. I'll fix that and report back.

@johnnyreilly
Copy link
Collaborator Author

Hopefully that's good

Copy link
Collaborator

@skipjack skipjack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work on this. I left a fair amount of comments, but most are related to formatting and consistency. Content-wise this looks pretty solid.


T> This guide extends on code examples found in the [Output Management](/guides/output-management) guide.

Progressive Web Applications (or PWAs) are web apps that deliver an app-like experience to users. There are many things that can contribute to that. Of these, the most significant is the ability for an app to be able to function when __offline__. This is achieved through the use of a web technology called [Service Workers](https://developers.google.com/web/fundamentals/primers/service-workers/).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe ...an app-like experience to users. would be more clear as ...an experience similar to native applications..

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

works for me!


This section will focus on adding an offline experience to our app. We'll achieve this using a Google project called [Workbox](https://github.com/GoogleChrome/workbox) which provides tools that help make offline support for web apps easier to setup.

## We Don't Work Offline Now
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typically we use two line breaks before h2 titles. Hoping to automate this once we switch to remark from marked but could you fix this and the ones below for consistency?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -0,0 +1,150 @@
---
title: Progressive Web Application
sort: 26
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can actually bump this up a bit -- some of the end guides need to be pruned and cleaned up. Maybe between Shimming and TypeScript?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


## We Don't Work Offline Now

So far, when we've been browsing our webpack output, we've been going directly to the local file system. That's not the typical experience a user has when accessing a web app. Normally a user accesses a web app over a network; their browser talking to a __server__ which will serve up the required assets; `html`, `js`, `css` etc.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this could be simplified a bit:

So far, we've been viewing the output by going directly to the local file system. Typically though, a real user accesses a web app over a network; their browser talking to a server which will serve up the required assets (e.g. .html, .js, and .css files).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that's better.


So let's test what the current experience is like using a simple server. Let's use the [http-server](https://www.npmjs.com/package/http-server) package: `npm install http-server --save-dev`. We'll also amend the `scripts` section of our `package.json` to add in a `start` script:

``` diff
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typically we throw the filename in bold above the diff for clarity (and those lazy readers who just skim 😉 ):

package.json

...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

+ 2 hidden modules
```

As you can see, we now have 2 extra files being generated; `sw.js` and the more verbose `precache-manifest.b5ca1c555e832d6fbf9462efd29d27eb.js`. `sw.js` is the Service Worker file and `precache-manifest.b5ca1c555e832d6fbf9462efd29d27eb.js` is a file that `sw.js` imports requires so it can run. Your own generated files will likely be different; but you should have an `sw.js` file there.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is a file that sw.js imports requires so it can run.

Should that just be:

is a file that sw.js requires in order to run.

?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah


As you can see, we now have 2 extra files being generated; `sw.js` and the more verbose `precache-manifest.b5ca1c555e832d6fbf9462efd29d27eb.js`. `sw.js` is the Service Worker file and `precache-manifest.b5ca1c555e832d6fbf9462efd29d27eb.js` is a file that `sw.js` imports requires so it can run. Your own generated files will likely be different; but you should have an `sw.js` file there.

So we're now at the happy point of having produced a Service Worker. What to do with it?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might simplify the last bit to What's next? instead of What to do with it?.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.


## Registering Our Service Worker

In order that our Service Worker can come out and play, we need to register it. We'll do that by adding the registration code below:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first part sounds a little funny. May sound better as:

Let's allow our Service Worker to come out and play by registering it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

+ }).catch(registrationError => {
+ console.log('SW registration failed: ', registrationError);
+ });
+ });
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We typically use two-space tabs instead of four. Parts of the code block above look like they may need to be fixed as well.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

+ }
```

Once more `npm run build` to build a version of the app incuding the registration code. Then serve it with `npm run start`. Navigate to http://localhost:8080 and take a look at the console. Somewhere in there you should see:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

incuding => including

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you simplify npm run start above to npm start, you should probably simplify it here as well.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@johnnyreilly
Copy link
Collaborator Author

Hey @skipjack - thanks for the review! I've addressed your comments and committed the changes.

@skipjack
Copy link
Collaborator

@johnnyreilly hey thanks for addressing that stuff but I think something might've gotten messed up on your branch? I'm seeing a huge diff with 16+ files changed. I assumed you would have had to touch a few of the other guides to address the sort but I didn't expect to see changes to other sections of the site. I may play around with this locally to see what's going on and try to cherry pick your commits onto a separate branch...

@johnnyreilly
Copy link
Collaborator Author

Yeah I noticed something funny when I merged from master. Odd. Feel free to cherry pick - all my changes should be restricted to the new file I believe. Since other files all shared a sort order of 14 I just switched to that and had done.

@skipjack
Copy link
Collaborator

Feel free to cherry pick - all my changes should be restricted to the new file I believe.

Ok I actually fixed it on your fork, but I did create a backup branch just in case. I'm going to review again and make sure all looks good before merging.

Copy link
Collaborator

@skipjack skipjack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fantastic, thanks for making those corrections! I'm going to make a few more edits for little things I just noticed and then merge as soon as the build passes. At this point, I think we can ship it and let the readers submit any further corrections, additions, etc.

🎉 🎉

@skipjack skipjack merged commit f0ffd1f into webpack:master Dec 18, 2017
@addyosmani
Copy link

Just wanted to say great work on landing this :)

@johnnyreilly
Copy link
Collaborator Author

Great - thanks!

dear-lizhihua referenced this pull request in docschina/webpack.js.org Jan 13, 2018
* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update contributors

* update /content/loaders & /content/plugins

* fix LinkDropdown

* 修复 npm 命令错误导致编译不成功的问题

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* docs(plugins): fix typo in module-concatenation-plugin.md (#1683)

* docs(concepts): simplify the introduction (#1673)

Make the `index` page more beginner friendly with less technical
lingo and complex details.

Resolves #1416

* docs(plugins): add “scope hoisting” intro in module-concatenation-plugin (#1684)

This adds a link between “concatenation behavior” and “scope hoisting”. Without this, 
a new person might be confused what exactly “scope hoisting” is (because it appears 
without any visible connection to the previous content).

* docs(api): fix some method signatures in loaders.md (#1685)

In actual fact the parameters passed to `emitWarning` / `emitError` must 
be an instance of Error.

* update /content/loaders & /content/plugins

* docs(guides): consistent quoute use in typescript.md (#1687)

* docs(api/guides): document new --concatenate-modules flag (#1686)

Document the new `--concatenate-modules` flag in both the CLI documentation
and production guide. Add section on the `ModuleConcatenationPlugin` in the 
production guide (as we include this plugin under `-p`, it also makes sense to 
mention it in this guide.

* docs(guides): fix issues with examples in shimming.md (#1680)

Rename plugin identifier and require webpack when it is used in the
configuration examples.

* docs(guides): add middleware tip to the hmr guide

Resolves #1682

* Revert "A new --concatenate-modules flag" (#1692)

* update master

* update /content/loaders & /content/plugins

* docs(concepts): fix grammar in output.md (#1694)

* docs(contribute): update writing-a-loader (#1691)

Use normal function instead of arrow function to fix scope in loader
example.

* docs(plugins): add external example in SourceMapDevToolPlugin (#1676)

Demonstrate how one might use the plugin to host source maps externally.

* docs(config): update dev-server open option (#1693)

State the ability to open in specific browser.

* fix bugs

* update /content/loaders & /content/plugins

* docs(api): improve formatting and grammar in loaders.md

* docs(api): clarify fourth parameter of `this.callback` in loaders.md

Add some lead in descriptions to the `Examples` section and clarify that meta
data can be passed along via the fourth parameter to `this.callback` and accepted
as the third parameter to a loader function.

Resolves #1607

* docs(api): populate missing link in loaders.md

* docs(plugins): correct example in html-webpack-plugin (#1698)

* docs(guides): update an example in production.md (#1696)

Switch to shortened form when using the `DefinePlugin` to define the 
`process.env.NODE_ENV` value. This avoids a bug which is mentioned
in the plugin's documentation:

https://webpack.js.org/plugins/define-plugin/#feature-flags

* fix(markdown): fix overflowing inline code (#1701)

Change the css to fix the text inside code tag which was overflowing 
the parent div.

* docs(concepts): update concepts wording (#1702)

Add "static" to "module bundler". Some feedback here was given to me 
on twitter to make sure we are clear with what these terms mean.

* update /content/loaders & /content/plugins

* docs(config): fix dead link to webpack-dev-server example (#1704)

* docs(concepts): use fragment links in usage instructions (#1705)

This is just a quality of life adjustment that updates the list of ways to 
use loaders with fragment links to the relevant section in the docs.  In 
their current state, the section feels like a dead end, abruptly cutting off 
with three bullet points and no examples. While one can read on and 
figure it out, there is a break in focus that is quite distracting.

* docs(guides): add windows usage tip in getting-started (#1671)

* doc(guides): fix grammatical error in build-performance (#1709)

Change "less" to "fewer".

* docs(guides): correct two small typos

* docs(api): remove inadvertent double verb (#1714)

* docs(contribute): fix grammar in writing-a-plugin (#1715)

* docs(config): add semicolon for consistency (#1716)

The final code block was missing a semicolon from the end of the 
first line; added it in to match the other require statements.

* docs(contributing): add note about debian OS (#1721)

Related issue: #1718

* docs(guides): add output example to shimming doc (#1720)

* docs(plugins): use `.includes` over `.indexOf` (#1719)

Really minor but I think `.includes` is more readable to the unfamiliar 
with javascript.

* docs(guides): use `npx` in getting-started (#1708)

Keep the mention the webpack binary's path but use the `npx` utility
now that it ships with Node. Fix some punctuation and grammar. Clarify 
why npm scripts are still useful even over `npx`.

* update /src/content/loaders & /src/content/plugins

* docs(contribute): link compiler docs in writing-a-plugin (#1700)

While authoring plugins the list of hooks is essential knowledge, so a 
link to hooks documentation page should be accessible in the top of 
writing a plugin guide.

* docs(guides): fix `source-map` discrepancy in production.md (#1711)

The `webpack.prod.js` code example in the "Specify the Evironment"
section shows `cheap-module-source-map` for the `devtool` field which is
not recommended for production. This section should show `source-map`
to be consistent with the webpack.prod.js in the previous
"Source Mapping" section.

* docs(guides): rename 'runtime' to 'manifest' in caching.md (#1713)

Preserve CommonsChunkPlugin boilerplate naming consistency as
referenced in the CommonsChunkPlugin documentation (see below)
when extracting webpack runtime and manifest boilerplate.

https://webpack.js.org/plugins/commons-chunk-plugin#manifest-file

* docs(guides): update output to webpack 3.9.1 (#1724)

* docs(plugins): update the source-map-devtool-plugin (#1707)

Clean up formatting a bit and add undocumented options from 
webpack/webpack#5986. Update the external source maps example
to demonstrate path stripping.

* docs(contribute): correct an example in the writers-guide (#1727)

In a section which states the properties must be sorted alphabetically, sort 
the examples alphabetically.

* docs(config): improve formatting and add note about library entry points in output.md

* docs(guides): mention complex entry point configuration in author-libraries

Note that `entry` arrays are not recommended, provide a way to properly expose
stylesheets, and add a link to an `entry` object example.

* docs(config): improve formatting and clarify the string usage in externals

Resolves #1726

* docs(config): fix minor proselint error in externals

* docs(api): clarify the `pitch` method and how it can be used in loaders.md

Resolves #449
Resolves webpack#116

Refactored and enhanced the existing section using much of @sokra's
explanation from:

webpack/webpack#360

* docs(contribute): fix `import` statement in writing-a-loader.md (#1732)

`validateOptions` is exported as a default module.

* docs(config): update devtool production recommendations

* docs(api): remove obsolete cli flag (#1733)

The `--save` option has been removed from webpack's CLI. See the
following pull request for reference:

webpack/webpack#3896

* docs(concepts): add warning about incompatible `import` statements

Resolves #1736

*  docs(config): fix typescript setup in configuration-languages (#1734)

Resolves #1735

* docs: use full `npm install` over `npm i` (#1740)

Most of the guides use the full command, so it's best to stay
consistent.

* docs(guides): fix diff display for webpack.config.js entry object

Resolves #1743

* docs: fix typos

* docs: add tbroadley to contributor lists

* docs(contribute): correct schema example in `writing-a-loader.md` (#1753)

* docs(guides): add pwa guide (#1737)

Add `progressive-web-application.md` guide which documents how
to use the `workbox-webpack-plugin` to build an offline app. More
on PWAs in webpack can be added here by future contributors.

Resolves #1145

* docs(guides): highlight css splitting in production

Resolves #1741

* docs(plugins): use `.includes` over `.indexOf`

Consistent usage of `.includes`

* docs(config): omit invalid `detailed` option in stats.md (#1757)

* fix(mobile): correctly sort pages in mobile sidebar (#1759)

* chore(vote): port voting app, update deps, and simplify config (#1717)

Port the voting app to a it's own repository and expose that section
of the site more prominently (in the header). This commit also...

- Simplifies the webpack config slightly and allows external styles.
- Updates issue template to highlight content from other repositories.
- Updates some outdated dependencies.

* docs(readme): reformat at 80 characters and include browserstack link

By including this, _BrowserStack_ will allow us to do free testing of
the site on their platform.

* refactor(notification): simplify notification message and bump the version

* fix(splash): fix visualization artifacts (#1762)

Rebuild and clean up visualization in Sketch. Include via an
inline SVG rather than an `<img>` tag. Add a `TODO` in regards
to an even cleaner setup post build refactoring.

Resolves #1752

* chore: pick up vote fix and update yarn lock file

* chore(vote): pick up another vote patch

* Update index.md (#423)

* update: git merge -> git rebase

* Update index.md

* Update README.md

* Update .travis.yml

* docs: fix formatting and grammar (#1765)

Fix typos, improve grammar, and change `&nbsp;` to a normal
space character.

* docs(concepts): change loader order from chonological to reverse (#1767)

When one starts to learn about loaders it's very confusing.
[This](https://webpack.js.org/contribute/writing-a-loader/#complex-usage)
explains the behaviour much better.

* update UPDATE.md
dear-lizhihua referenced this pull request in docschina/webpack.js.org Jan 13, 2018
* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update contributors

* update /content/loaders & /content/plugins

* fix LinkDropdown

* 修复 npm 命令错误导致编译不成功的问题

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* docs(plugins): fix typo in module-concatenation-plugin.md (#1683)

* docs(concepts): simplify the introduction (#1673)

Make the `index` page more beginner friendly with less technical
lingo and complex details.

Resolves #1416

* docs(plugins): add “scope hoisting” intro in module-concatenation-plugin (#1684)

This adds a link between “concatenation behavior” and “scope hoisting”. Without this, 
a new person might be confused what exactly “scope hoisting” is (because it appears 
without any visible connection to the previous content).

* docs(api): fix some method signatures in loaders.md (#1685)

In actual fact the parameters passed to `emitWarning` / `emitError` must 
be an instance of Error.

* update /content/loaders & /content/plugins

* docs(guides): consistent quoute use in typescript.md (#1687)

* docs(api/guides): document new --concatenate-modules flag (#1686)

Document the new `--concatenate-modules` flag in both the CLI documentation
and production guide. Add section on the `ModuleConcatenationPlugin` in the 
production guide (as we include this plugin under `-p`, it also makes sense to 
mention it in this guide.

* docs(guides): fix issues with examples in shimming.md (#1680)

Rename plugin identifier and require webpack when it is used in the
configuration examples.

* docs(guides): add middleware tip to the hmr guide

Resolves #1682

* Revert "A new --concatenate-modules flag" (#1692)

* update master

* update /content/loaders & /content/plugins

* docs(concepts): fix grammar in output.md (#1694)

* docs(contribute): update writing-a-loader (#1691)

Use normal function instead of arrow function to fix scope in loader
example.

* docs(plugins): add external example in SourceMapDevToolPlugin (#1676)

Demonstrate how one might use the plugin to host source maps externally.

* docs(config): update dev-server open option (#1693)

State the ability to open in specific browser.

* fix bugs

* update /content/loaders & /content/plugins

* docs(api): improve formatting and grammar in loaders.md

* docs(api): clarify fourth parameter of `this.callback` in loaders.md

Add some lead in descriptions to the `Examples` section and clarify that meta
data can be passed along via the fourth parameter to `this.callback` and accepted
as the third parameter to a loader function.

Resolves #1607

* docs(api): populate missing link in loaders.md

* docs(plugins): correct example in html-webpack-plugin (#1698)

* docs(guides): update an example in production.md (#1696)

Switch to shortened form when using the `DefinePlugin` to define the 
`process.env.NODE_ENV` value. This avoids a bug which is mentioned
in the plugin's documentation:

https://webpack.js.org/plugins/define-plugin/#feature-flags

* fix(markdown): fix overflowing inline code (#1701)

Change the css to fix the text inside code tag which was overflowing 
the parent div.

* docs(concepts): update concepts wording (#1702)

Add "static" to "module bundler". Some feedback here was given to me 
on twitter to make sure we are clear with what these terms mean.

* update /content/loaders & /content/plugins

* docs(config): fix dead link to webpack-dev-server example (#1704)

* docs(concepts): use fragment links in usage instructions (#1705)

This is just a quality of life adjustment that updates the list of ways to 
use loaders with fragment links to the relevant section in the docs.  In 
their current state, the section feels like a dead end, abruptly cutting off 
with three bullet points and no examples. While one can read on and 
figure it out, there is a break in focus that is quite distracting.

* docs(guides): add windows usage tip in getting-started (#1671)

* doc(guides): fix grammatical error in build-performance (#1709)

Change "less" to "fewer".

* docs(guides): correct two small typos

* docs(api): remove inadvertent double verb (#1714)

* docs(contribute): fix grammar in writing-a-plugin (#1715)

* docs(config): add semicolon for consistency (#1716)

The final code block was missing a semicolon from the end of the 
first line; added it in to match the other require statements.

* docs(contributing): add note about debian OS (#1721)

Related issue: #1718

* docs(guides): add output example to shimming doc (#1720)

* docs(plugins): use `.includes` over `.indexOf` (#1719)

Really minor but I think `.includes` is more readable to the unfamiliar 
with javascript.

* docs(guides): use `npx` in getting-started (#1708)

Keep the mention the webpack binary's path but use the `npx` utility
now that it ships with Node. Fix some punctuation and grammar. Clarify 
why npm scripts are still useful even over `npx`.

* update /src/content/loaders & /src/content/plugins

* docs(contribute): link compiler docs in writing-a-plugin (#1700)

While authoring plugins the list of hooks is essential knowledge, so a 
link to hooks documentation page should be accessible in the top of 
writing a plugin guide.

* docs(guides): fix `source-map` discrepancy in production.md (#1711)

The `webpack.prod.js` code example in the "Specify the Evironment"
section shows `cheap-module-source-map` for the `devtool` field which is
not recommended for production. This section should show `source-map`
to be consistent with the webpack.prod.js in the previous
"Source Mapping" section.

* docs(guides): rename 'runtime' to 'manifest' in caching.md (#1713)

Preserve CommonsChunkPlugin boilerplate naming consistency as
referenced in the CommonsChunkPlugin documentation (see below)
when extracting webpack runtime and manifest boilerplate.

https://webpack.js.org/plugins/commons-chunk-plugin#manifest-file

* docs(guides): update output to webpack 3.9.1 (#1724)

* docs(plugins): update the source-map-devtool-plugin (#1707)

Clean up formatting a bit and add undocumented options from 
webpack/webpack#5986. Update the external source maps example
to demonstrate path stripping.

* docs(contribute): correct an example in the writers-guide (#1727)

In a section which states the properties must be sorted alphabetically, sort 
the examples alphabetically.

* docs(config): improve formatting and add note about library entry points in output.md

* docs(guides): mention complex entry point configuration in author-libraries

Note that `entry` arrays are not recommended, provide a way to properly expose
stylesheets, and add a link to an `entry` object example.

* docs(config): improve formatting and clarify the string usage in externals

Resolves #1726

* docs(config): fix minor proselint error in externals

* docs(api): clarify the `pitch` method and how it can be used in loaders.md

Resolves #449
Resolves webpack#116

Refactored and enhanced the existing section using much of @sokra's
explanation from:

webpack/webpack#360

* docs(contribute): fix `import` statement in writing-a-loader.md (#1732)

`validateOptions` is exported as a default module.

* docs(config): update devtool production recommendations

* docs(api): remove obsolete cli flag (#1733)

The `--save` option has been removed from webpack's CLI. See the
following pull request for reference:

webpack/webpack#3896

* docs(concepts): add warning about incompatible `import` statements

Resolves #1736

*  docs(config): fix typescript setup in configuration-languages (#1734)

Resolves #1735

* docs: use full `npm install` over `npm i` (#1740)

Most of the guides use the full command, so it's best to stay
consistent.

* docs(guides): fix diff display for webpack.config.js entry object

Resolves #1743

* docs: fix typos

* docs: add tbroadley to contributor lists

* docs(contribute): correct schema example in `writing-a-loader.md` (#1753)

* docs(guides): add pwa guide (#1737)

Add `progressive-web-application.md` guide which documents how
to use the `workbox-webpack-plugin` to build an offline app. More
on PWAs in webpack can be added here by future contributors.

Resolves #1145

* docs(guides): highlight css splitting in production

Resolves #1741

* docs(plugins): use `.includes` over `.indexOf`

Consistent usage of `.includes`

* docs(config): omit invalid `detailed` option in stats.md (#1757)

* fix(mobile): correctly sort pages in mobile sidebar (#1759)

* chore(vote): port voting app, update deps, and simplify config (#1717)

Port the voting app to a it's own repository and expose that section
of the site more prominently (in the header). This commit also...

- Simplifies the webpack config slightly and allows external styles.
- Updates issue template to highlight content from other repositories.
- Updates some outdated dependencies.

* docs(readme): reformat at 80 characters and include browserstack link

By including this, _BrowserStack_ will allow us to do free testing of
the site on their platform.

* refactor(notification): simplify notification message and bump the version

* fix(splash): fix visualization artifacts (#1762)

Rebuild and clean up visualization in Sketch. Include via an
inline SVG rather than an `<img>` tag. Add a `TODO` in regards
to an even cleaner setup post build refactoring.

Resolves #1752

* chore: pick up vote fix and update yarn lock file

* chore(vote): pick up another vote patch

* Update index.md (#423)

* update: git merge -> git rebase

* Update index.md

* Update README.md

* Update .travis.yml

* docs: fix formatting and grammar (#1765)

Fix typos, improve grammar, and change `&nbsp;` to a normal
space character.

* docs(concepts): change loader order from chonological to reverse (#1767)

When one starts to learn about loaders it's very confusing.
[This](https://webpack.js.org/contribute/writing-a-loader/#complex-usage)
explains the behaviour much better.

* update UPDATE.md

* #422
dear-lizhihua referenced this pull request in docschina/webpack.js.org Jan 13, 2018
* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update contributors

* update /content/loaders & /content/plugins

* fix LinkDropdown

* 修复 npm 命令错误导致编译不成功的问题

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* docs(plugins): fix typo in module-concatenation-plugin.md (#1683)

* docs(concepts): simplify the introduction (#1673)

Make the `index` page more beginner friendly with less technical
lingo and complex details.

Resolves #1416

* docs(plugins): add “scope hoisting” intro in module-concatenation-plugin (#1684)

This adds a link between “concatenation behavior” and “scope hoisting”. Without this, 
a new person might be confused what exactly “scope hoisting” is (because it appears 
without any visible connection to the previous content).

* docs(api): fix some method signatures in loaders.md (#1685)

In actual fact the parameters passed to `emitWarning` / `emitError` must 
be an instance of Error.

* update /content/loaders & /content/plugins

* docs(guides): consistent quoute use in typescript.md (#1687)

* docs(api/guides): document new --concatenate-modules flag (#1686)

Document the new `--concatenate-modules` flag in both the CLI documentation
and production guide. Add section on the `ModuleConcatenationPlugin` in the 
production guide (as we include this plugin under `-p`, it also makes sense to 
mention it in this guide.

* docs(guides): fix issues with examples in shimming.md (#1680)

Rename plugin identifier and require webpack when it is used in the
configuration examples.

* docs(guides): add middleware tip to the hmr guide

Resolves #1682

* Revert "A new --concatenate-modules flag" (#1692)

* update master

* update /content/loaders & /content/plugins

* docs(concepts): fix grammar in output.md (#1694)

* docs(contribute): update writing-a-loader (#1691)

Use normal function instead of arrow function to fix scope in loader
example.

* docs(plugins): add external example in SourceMapDevToolPlugin (#1676)

Demonstrate how one might use the plugin to host source maps externally.

* docs(config): update dev-server open option (#1693)

State the ability to open in specific browser.

* fix bugs

* update /content/loaders & /content/plugins

* docs(api): improve formatting and grammar in loaders.md

* docs(api): clarify fourth parameter of `this.callback` in loaders.md

Add some lead in descriptions to the `Examples` section and clarify that meta
data can be passed along via the fourth parameter to `this.callback` and accepted
as the third parameter to a loader function.

Resolves #1607

* docs(api): populate missing link in loaders.md

* docs(plugins): correct example in html-webpack-plugin (#1698)

* docs(guides): update an example in production.md (#1696)

Switch to shortened form when using the `DefinePlugin` to define the 
`process.env.NODE_ENV` value. This avoids a bug which is mentioned
in the plugin's documentation:

https://webpack.js.org/plugins/define-plugin/#feature-flags

* fix(markdown): fix overflowing inline code (#1701)

Change the css to fix the text inside code tag which was overflowing 
the parent div.

* docs(concepts): update concepts wording (#1702)

Add "static" to "module bundler". Some feedback here was given to me 
on twitter to make sure we are clear with what these terms mean.

* update /content/loaders & /content/plugins

* docs(config): fix dead link to webpack-dev-server example (#1704)

* docs(concepts): use fragment links in usage instructions (#1705)

This is just a quality of life adjustment that updates the list of ways to 
use loaders with fragment links to the relevant section in the docs.  In 
their current state, the section feels like a dead end, abruptly cutting off 
with three bullet points and no examples. While one can read on and 
figure it out, there is a break in focus that is quite distracting.

* docs(guides): add windows usage tip in getting-started (#1671)

* doc(guides): fix grammatical error in build-performance (#1709)

Change "less" to "fewer".

* docs(guides): correct two small typos

* docs(api): remove inadvertent double verb (#1714)

* docs(contribute): fix grammar in writing-a-plugin (#1715)

* docs(config): add semicolon for consistency (#1716)

The final code block was missing a semicolon from the end of the 
first line; added it in to match the other require statements.

* docs(contributing): add note about debian OS (#1721)

Related issue: #1718

* docs(guides): add output example to shimming doc (#1720)

* docs(plugins): use `.includes` over `.indexOf` (#1719)

Really minor but I think `.includes` is more readable to the unfamiliar 
with javascript.

* docs(guides): use `npx` in getting-started (#1708)

Keep the mention the webpack binary's path but use the `npx` utility
now that it ships with Node. Fix some punctuation and grammar. Clarify 
why npm scripts are still useful even over `npx`.

* update /src/content/loaders & /src/content/plugins

* docs(contribute): link compiler docs in writing-a-plugin (#1700)

While authoring plugins the list of hooks is essential knowledge, so a 
link to hooks documentation page should be accessible in the top of 
writing a plugin guide.

* docs(guides): fix `source-map` discrepancy in production.md (#1711)

The `webpack.prod.js` code example in the "Specify the Evironment"
section shows `cheap-module-source-map` for the `devtool` field which is
not recommended for production. This section should show `source-map`
to be consistent with the webpack.prod.js in the previous
"Source Mapping" section.

* docs(guides): rename 'runtime' to 'manifest' in caching.md (#1713)

Preserve CommonsChunkPlugin boilerplate naming consistency as
referenced in the CommonsChunkPlugin documentation (see below)
when extracting webpack runtime and manifest boilerplate.

https://webpack.js.org/plugins/commons-chunk-plugin#manifest-file

* docs(guides): update output to webpack 3.9.1 (#1724)

* docs(plugins): update the source-map-devtool-plugin (#1707)

Clean up formatting a bit and add undocumented options from 
webpack/webpack#5986. Update the external source maps example
to demonstrate path stripping.

* docs(contribute): correct an example in the writers-guide (#1727)

In a section which states the properties must be sorted alphabetically, sort 
the examples alphabetically.

* docs(config): improve formatting and add note about library entry points in output.md

* docs(guides): mention complex entry point configuration in author-libraries

Note that `entry` arrays are not recommended, provide a way to properly expose
stylesheets, and add a link to an `entry` object example.

* docs(config): improve formatting and clarify the string usage in externals

Resolves #1726

* docs(config): fix minor proselint error in externals

* docs(api): clarify the `pitch` method and how it can be used in loaders.md

Resolves #449
Resolves webpack#116

Refactored and enhanced the existing section using much of @sokra's
explanation from:

webpack/webpack#360

* docs(contribute): fix `import` statement in writing-a-loader.md (#1732)

`validateOptions` is exported as a default module.

* docs(config): update devtool production recommendations

* docs(api): remove obsolete cli flag (#1733)

The `--save` option has been removed from webpack's CLI. See the
following pull request for reference:

webpack/webpack#3896

* docs(concepts): add warning about incompatible `import` statements

Resolves #1736

*  docs(config): fix typescript setup in configuration-languages (#1734)

Resolves #1735

* docs: use full `npm install` over `npm i` (#1740)

Most of the guides use the full command, so it's best to stay
consistent.

* docs(guides): fix diff display for webpack.config.js entry object

Resolves #1743

* docs: fix typos

* docs: add tbroadley to contributor lists

* docs(contribute): correct schema example in `writing-a-loader.md` (#1753)

* docs(guides): add pwa guide (#1737)

Add `progressive-web-application.md` guide which documents how
to use the `workbox-webpack-plugin` to build an offline app. More
on PWAs in webpack can be added here by future contributors.

Resolves #1145

* docs(guides): highlight css splitting in production

Resolves #1741

* docs(plugins): use `.includes` over `.indexOf`

Consistent usage of `.includes`

* docs(config): omit invalid `detailed` option in stats.md (#1757)

* fix(mobile): correctly sort pages in mobile sidebar (#1759)

* chore(vote): port voting app, update deps, and simplify config (#1717)

Port the voting app to a it's own repository and expose that section
of the site more prominently (in the header). This commit also...

- Simplifies the webpack config slightly and allows external styles.
- Updates issue template to highlight content from other repositories.
- Updates some outdated dependencies.

* docs(readme): reformat at 80 characters and include browserstack link

By including this, _BrowserStack_ will allow us to do free testing of
the site on their platform.

* refactor(notification): simplify notification message and bump the version

* fix(splash): fix visualization artifacts (#1762)

Rebuild and clean up visualization in Sketch. Include via an
inline SVG rather than an `<img>` tag. Add a `TODO` in regards
to an even cleaner setup post build refactoring.

Resolves #1752

* chore: pick up vote fix and update yarn lock file

* chore(vote): pick up another vote patch

* Update index.md (#423)

* update: git merge -> git rebase

* Update index.md

* Update README.md

* Update .travis.yml

* docs: fix formatting and grammar (#1765)

Fix typos, improve grammar, and change `&nbsp;` to a normal
space character.

* docs(concepts): change loader order from chonological to reverse (#1767)

When one starts to learn about loaders it's very confusing.
[This](https://webpack.js.org/contribute/writing-a-loader/#complex-usage)
explains the behaviour much better.

* update UPDATE.md

* #422

* https://github.com/webpack-china/webpack.js.org/issues/40
dear-lizhihua referenced this pull request in docschina/webpack.js.org Jan 13, 2018
* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update contributors

* update /content/loaders & /content/plugins

* fix LinkDropdown

* 修复 npm 命令错误导致编译不成功的问题

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* docs(plugins): fix typo in module-concatenation-plugin.md (#1683)

* docs(concepts): simplify the introduction (#1673)

Make the `index` page more beginner friendly with less technical
lingo and complex details.

Resolves #1416

* docs(plugins): add “scope hoisting” intro in module-concatenation-plugin (#1684)

This adds a link between “concatenation behavior” and “scope hoisting”. Without this, 
a new person might be confused what exactly “scope hoisting” is (because it appears 
without any visible connection to the previous content).

* docs(api): fix some method signatures in loaders.md (#1685)

In actual fact the parameters passed to `emitWarning` / `emitError` must 
be an instance of Error.

* update /content/loaders & /content/plugins

* docs(guides): consistent quoute use in typescript.md (#1687)

* docs(api/guides): document new --concatenate-modules flag (#1686)

Document the new `--concatenate-modules` flag in both the CLI documentation
and production guide. Add section on the `ModuleConcatenationPlugin` in the 
production guide (as we include this plugin under `-p`, it also makes sense to 
mention it in this guide.

* docs(guides): fix issues with examples in shimming.md (#1680)

Rename plugin identifier and require webpack when it is used in the
configuration examples.

* docs(guides): add middleware tip to the hmr guide

Resolves #1682

* Revert "A new --concatenate-modules flag" (#1692)

* update master

* update /content/loaders & /content/plugins

* docs(concepts): fix grammar in output.md (#1694)

* docs(contribute): update writing-a-loader (#1691)

Use normal function instead of arrow function to fix scope in loader
example.

* docs(plugins): add external example in SourceMapDevToolPlugin (#1676)

Demonstrate how one might use the plugin to host source maps externally.

* docs(config): update dev-server open option (#1693)

State the ability to open in specific browser.

* fix bugs

* update /content/loaders & /content/plugins

* docs(api): improve formatting and grammar in loaders.md

* docs(api): clarify fourth parameter of `this.callback` in loaders.md

Add some lead in descriptions to the `Examples` section and clarify that meta
data can be passed along via the fourth parameter to `this.callback` and accepted
as the third parameter to a loader function.

Resolves #1607

* docs(api): populate missing link in loaders.md

* docs(plugins): correct example in html-webpack-plugin (#1698)

* docs(guides): update an example in production.md (#1696)

Switch to shortened form when using the `DefinePlugin` to define the 
`process.env.NODE_ENV` value. This avoids a bug which is mentioned
in the plugin's documentation:

https://webpack.js.org/plugins/define-plugin/#feature-flags

* fix(markdown): fix overflowing inline code (#1701)

Change the css to fix the text inside code tag which was overflowing 
the parent div.

* docs(concepts): update concepts wording (#1702)

Add "static" to "module bundler". Some feedback here was given to me 
on twitter to make sure we are clear with what these terms mean.

* update /content/loaders & /content/plugins

* docs(config): fix dead link to webpack-dev-server example (#1704)

* docs(concepts): use fragment links in usage instructions (#1705)

This is just a quality of life adjustment that updates the list of ways to 
use loaders with fragment links to the relevant section in the docs.  In 
their current state, the section feels like a dead end, abruptly cutting off 
with three bullet points and no examples. While one can read on and 
figure it out, there is a break in focus that is quite distracting.

* docs(guides): add windows usage tip in getting-started (#1671)

* doc(guides): fix grammatical error in build-performance (#1709)

Change "less" to "fewer".

* docs(guides): correct two small typos

* docs(api): remove inadvertent double verb (#1714)

* docs(contribute): fix grammar in writing-a-plugin (#1715)

* docs(config): add semicolon for consistency (#1716)

The final code block was missing a semicolon from the end of the 
first line; added it in to match the other require statements.

* docs(contributing): add note about debian OS (#1721)

Related issue: #1718

* docs(guides): add output example to shimming doc (#1720)

* docs(plugins): use `.includes` over `.indexOf` (#1719)

Really minor but I think `.includes` is more readable to the unfamiliar 
with javascript.

* docs(guides): use `npx` in getting-started (#1708)

Keep the mention the webpack binary's path but use the `npx` utility
now that it ships with Node. Fix some punctuation and grammar. Clarify 
why npm scripts are still useful even over `npx`.

* update /src/content/loaders & /src/content/plugins

* docs(contribute): link compiler docs in writing-a-plugin (#1700)

While authoring plugins the list of hooks is essential knowledge, so a 
link to hooks documentation page should be accessible in the top of 
writing a plugin guide.

* docs(guides): fix `source-map` discrepancy in production.md (#1711)

The `webpack.prod.js` code example in the "Specify the Evironment"
section shows `cheap-module-source-map` for the `devtool` field which is
not recommended for production. This section should show `source-map`
to be consistent with the webpack.prod.js in the previous
"Source Mapping" section.

* docs(guides): rename 'runtime' to 'manifest' in caching.md (#1713)

Preserve CommonsChunkPlugin boilerplate naming consistency as
referenced in the CommonsChunkPlugin documentation (see below)
when extracting webpack runtime and manifest boilerplate.

https://webpack.js.org/plugins/commons-chunk-plugin#manifest-file

* docs(guides): update output to webpack 3.9.1 (#1724)

* docs(plugins): update the source-map-devtool-plugin (#1707)

Clean up formatting a bit and add undocumented options from 
webpack/webpack#5986. Update the external source maps example
to demonstrate path stripping.

* docs(contribute): correct an example in the writers-guide (#1727)

In a section which states the properties must be sorted alphabetically, sort 
the examples alphabetically.

* docs(config): improve formatting and add note about library entry points in output.md

* docs(guides): mention complex entry point configuration in author-libraries

Note that `entry` arrays are not recommended, provide a way to properly expose
stylesheets, and add a link to an `entry` object example.

* docs(config): improve formatting and clarify the string usage in externals

Resolves #1726

* docs(config): fix minor proselint error in externals

* docs(api): clarify the `pitch` method and how it can be used in loaders.md

Resolves #449
Resolves webpack#116

Refactored and enhanced the existing section using much of @sokra's
explanation from:

webpack/webpack#360

* docs(contribute): fix `import` statement in writing-a-loader.md (#1732)

`validateOptions` is exported as a default module.

* docs(config): update devtool production recommendations

* docs(api): remove obsolete cli flag (#1733)

The `--save` option has been removed from webpack's CLI. See the
following pull request for reference:

webpack/webpack#3896

* docs(concepts): add warning about incompatible `import` statements

Resolves #1736

*  docs(config): fix typescript setup in configuration-languages (#1734)

Resolves #1735

* docs: use full `npm install` over `npm i` (#1740)

Most of the guides use the full command, so it's best to stay
consistent.

* docs(guides): fix diff display for webpack.config.js entry object

Resolves #1743

* docs: fix typos

* docs: add tbroadley to contributor lists

* docs(contribute): correct schema example in `writing-a-loader.md` (#1753)

* docs(guides): add pwa guide (#1737)

Add `progressive-web-application.md` guide which documents how
to use the `workbox-webpack-plugin` to build an offline app. More
on PWAs in webpack can be added here by future contributors.

Resolves #1145

* docs(guides): highlight css splitting in production

Resolves #1741

* docs(plugins): use `.includes` over `.indexOf`

Consistent usage of `.includes`

* docs(config): omit invalid `detailed` option in stats.md (#1757)

* fix(mobile): correctly sort pages in mobile sidebar (#1759)

* chore(vote): port voting app, update deps, and simplify config (#1717)

Port the voting app to a it's own repository and expose that section
of the site more prominently (in the header). This commit also...

- Simplifies the webpack config slightly and allows external styles.
- Updates issue template to highlight content from other repositories.
- Updates some outdated dependencies.

* docs(readme): reformat at 80 characters and include browserstack link

By including this, _BrowserStack_ will allow us to do free testing of
the site on their platform.

* refactor(notification): simplify notification message and bump the version

* fix(splash): fix visualization artifacts (#1762)

Rebuild and clean up visualization in Sketch. Include via an
inline SVG rather than an `<img>` tag. Add a `TODO` in regards
to an even cleaner setup post build refactoring.

Resolves #1752

* chore: pick up vote fix and update yarn lock file

* chore(vote): pick up another vote patch

* Update index.md (#423)

* update: git merge -> git rebase

* Update index.md

* Update README.md

* Update .travis.yml

* docs: fix formatting and grammar (#1765)

Fix typos, improve grammar, and change `&nbsp;` to a normal
space character.

* docs(concepts): change loader order from chonological to reverse (#1767)

When one starts to learn about loaders it's very confusing.
[This](https://webpack.js.org/contribute/writing-a-loader/#complex-usage)
explains the behaviour much better.

* update UPDATE.md

* #422

* https://github.com/webpack-china/webpack.js.org/issues/40

* 您 -> 你 & 统一为:本指南继续沿用[xxx](/guides/xxx)中的代码示例
dear-lizhihua referenced this pull request in docschina/webpack.js.org Jan 14, 2018
* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update contributors

* update /content/loaders & /content/plugins

* fix LinkDropdown

* 修复 npm 命令错误导致编译不成功的问题

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* update /content/loaders & /content/plugins

* docs(plugins): fix typo in module-concatenation-plugin.md (#1683)

* docs(concepts): simplify the introduction (#1673)

Make the `index` page more beginner friendly with less technical
lingo and complex details.

Resolves #1416

* docs(plugins): add “scope hoisting” intro in module-concatenation-plugin (#1684)

This adds a link between “concatenation behavior” and “scope hoisting”. Without this, 
a new person might be confused what exactly “scope hoisting” is (because it appears 
without any visible connection to the previous content).

* docs(api): fix some method signatures in loaders.md (#1685)

In actual fact the parameters passed to `emitWarning` / `emitError` must 
be an instance of Error.

* update /content/loaders & /content/plugins

* docs(guides): consistent quoute use in typescript.md (#1687)

* docs(api/guides): document new --concatenate-modules flag (#1686)

Document the new `--concatenate-modules` flag in both the CLI documentation
and production guide. Add section on the `ModuleConcatenationPlugin` in the 
production guide (as we include this plugin under `-p`, it also makes sense to 
mention it in this guide.

* docs(guides): fix issues with examples in shimming.md (#1680)

Rename plugin identifier and require webpack when it is used in the
configuration examples.

* docs(guides): add middleware tip to the hmr guide

Resolves #1682

* Revert "A new --concatenate-modules flag" (#1692)

* update master

* update /content/loaders & /content/plugins

* docs(concepts): fix grammar in output.md (#1694)

* docs(contribute): update writing-a-loader (#1691)

Use normal function instead of arrow function to fix scope in loader
example.

* docs(plugins): add external example in SourceMapDevToolPlugin (#1676)

Demonstrate how one might use the plugin to host source maps externally.

* docs(config): update dev-server open option (#1693)

State the ability to open in specific browser.

* fix bugs

* update /content/loaders & /content/plugins

* docs(api): improve formatting and grammar in loaders.md

* docs(api): clarify fourth parameter of `this.callback` in loaders.md

Add some lead in descriptions to the `Examples` section and clarify that meta
data can be passed along via the fourth parameter to `this.callback` and accepted
as the third parameter to a loader function.

Resolves #1607

* docs(api): populate missing link in loaders.md

* docs(plugins): correct example in html-webpack-plugin (#1698)

* docs(guides): update an example in production.md (#1696)

Switch to shortened form when using the `DefinePlugin` to define the 
`process.env.NODE_ENV` value. This avoids a bug which is mentioned
in the plugin's documentation:

https://webpack.js.org/plugins/define-plugin/#feature-flags

* fix(markdown): fix overflowing inline code (#1701)

Change the css to fix the text inside code tag which was overflowing 
the parent div.

* docs(concepts): update concepts wording (#1702)

Add "static" to "module bundler". Some feedback here was given to me 
on twitter to make sure we are clear with what these terms mean.

* update /content/loaders & /content/plugins

* docs(config): fix dead link to webpack-dev-server example (#1704)

* docs(concepts): use fragment links in usage instructions (#1705)

This is just a quality of life adjustment that updates the list of ways to 
use loaders with fragment links to the relevant section in the docs.  In 
their current state, the section feels like a dead end, abruptly cutting off 
with three bullet points and no examples. While one can read on and 
figure it out, there is a break in focus that is quite distracting.

* docs(guides): add windows usage tip in getting-started (#1671)

* doc(guides): fix grammatical error in build-performance (#1709)

Change "less" to "fewer".

* docs(guides): correct two small typos

* docs(api): remove inadvertent double verb (#1714)

* docs(contribute): fix grammar in writing-a-plugin (#1715)

* docs(config): add semicolon for consistency (#1716)

The final code block was missing a semicolon from the end of the 
first line; added it in to match the other require statements.

* docs(contributing): add note about debian OS (#1721)

Related issue: #1718

* docs(guides): add output example to shimming doc (#1720)

* docs(plugins): use `.includes` over `.indexOf` (#1719)

Really minor but I think `.includes` is more readable to the unfamiliar 
with javascript.

* docs(guides): use `npx` in getting-started (#1708)

Keep the mention the webpack binary's path but use the `npx` utility
now that it ships with Node. Fix some punctuation and grammar. Clarify 
why npm scripts are still useful even over `npx`.

* update /src/content/loaders & /src/content/plugins

* docs(contribute): link compiler docs in writing-a-plugin (#1700)

While authoring plugins the list of hooks is essential knowledge, so a 
link to hooks documentation page should be accessible in the top of 
writing a plugin guide.

* docs(guides): fix `source-map` discrepancy in production.md (#1711)

The `webpack.prod.js` code example in the "Specify the Evironment"
section shows `cheap-module-source-map` for the `devtool` field which is
not recommended for production. This section should show `source-map`
to be consistent with the webpack.prod.js in the previous
"Source Mapping" section.

* docs(guides): rename 'runtime' to 'manifest' in caching.md (#1713)

Preserve CommonsChunkPlugin boilerplate naming consistency as
referenced in the CommonsChunkPlugin documentation (see below)
when extracting webpack runtime and manifest boilerplate.

https://webpack.js.org/plugins/commons-chunk-plugin#manifest-file

* docs(guides): update output to webpack 3.9.1 (#1724)

* docs(plugins): update the source-map-devtool-plugin (#1707)

Clean up formatting a bit and add undocumented options from 
webpack/webpack#5986. Update the external source maps example
to demonstrate path stripping.

* docs(contribute): correct an example in the writers-guide (#1727)

In a section which states the properties must be sorted alphabetically, sort 
the examples alphabetically.

* docs(config): improve formatting and add note about library entry points in output.md

* docs(guides): mention complex entry point configuration in author-libraries

Note that `entry` arrays are not recommended, provide a way to properly expose
stylesheets, and add a link to an `entry` object example.

* docs(config): improve formatting and clarify the string usage in externals

Resolves #1726

* docs(config): fix minor proselint error in externals

* docs(api): clarify the `pitch` method and how it can be used in loaders.md

Resolves #449
Resolves webpack#116

Refactored and enhanced the existing section using much of @sokra's
explanation from:

webpack/webpack#360

* docs(contribute): fix `import` statement in writing-a-loader.md (#1732)

`validateOptions` is exported as a default module.

* docs(config): update devtool production recommendations

* docs(api): remove obsolete cli flag (#1733)

The `--save` option has been removed from webpack's CLI. See the
following pull request for reference:

webpack/webpack#3896

* docs(concepts): add warning about incompatible `import` statements

Resolves #1736

*  docs(config): fix typescript setup in configuration-languages (#1734)

Resolves #1735

* docs: use full `npm install` over `npm i` (#1740)

Most of the guides use the full command, so it's best to stay
consistent.

* docs(guides): fix diff display for webpack.config.js entry object

Resolves #1743

* docs: fix typos

* docs: add tbroadley to contributor lists

* docs(contribute): correct schema example in `writing-a-loader.md` (#1753)

* docs(guides): add pwa guide (#1737)

Add `progressive-web-application.md` guide which documents how
to use the `workbox-webpack-plugin` to build an offline app. More
on PWAs in webpack can be added here by future contributors.

Resolves #1145

* docs(guides): highlight css splitting in production

Resolves #1741

* docs(plugins): use `.includes` over `.indexOf`

Consistent usage of `.includes`

* docs(config): omit invalid `detailed` option in stats.md (#1757)

* fix(mobile): correctly sort pages in mobile sidebar (#1759)

* chore(vote): port voting app, update deps, and simplify config (#1717)

Port the voting app to a it's own repository and expose that section
of the site more prominently (in the header). This commit also...

- Simplifies the webpack config slightly and allows external styles.
- Updates issue template to highlight content from other repositories.
- Updates some outdated dependencies.

* docs(readme): reformat at 80 characters and include browserstack link

By including this, _BrowserStack_ will allow us to do free testing of
the site on their platform.

* refactor(notification): simplify notification message and bump the version

* fix(splash): fix visualization artifacts (#1762)

Rebuild and clean up visualization in Sketch. Include via an
inline SVG rather than an `<img>` tag. Add a `TODO` in regards
to an even cleaner setup post build refactoring.

Resolves #1752

* chore: pick up vote fix and update yarn lock file

* chore(vote): pick up another vote patch

* Update index.md (#423)

* update: git merge -> git rebase

* Update index.md

* Update README.md

* Update .travis.yml

* docs: fix formatting and grammar (#1765)

Fix typos, improve grammar, and change `&nbsp;` to a normal
space character.

* docs(concepts): change loader order from chonological to reverse (#1767)

When one starts to learn about loaders it's very confusing.
[This](https://webpack.js.org/contribute/writing-a-loader/#complex-usage)
explains the behaviour much better.

* update UPDATE.md

* #422

* https://github.com/webpack-china/webpack.js.org/issues/40

* 您 -> 你 & 统一为:本指南继续沿用[xxx](/guides/xxx)中的代码示例

* src/content/guides/progressive-web-application.md 翻译
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Guides - Progressive Web Apps
3 participants