From 78efb0e954f79c9918ca7c7e27a4a6e271219f2f Mon Sep 17 00:00:00 2001 From: Michael Ciniawsky Date: Sat, 25 Aug 2018 04:05:08 +0200 Subject: [PATCH] refactor(examples): remove from repository --- examples/.assets/favicon.ico | Bin 32038 -> 0 bytes examples/.assets/geomanist-medium.woff | Bin 19236 -> 0 bytes examples/.assets/geomanist-medium.woff2 | Bin 14808 -> 0 bytes examples/.assets/icon-square.svg | 1 - examples/.assets/layout.html | 26 ----- examples/.assets/style.css | 104 ------------------ examples/.eslintrc | 5 - examples/README.md | 29 ----- examples/api/middleware/README.md | 20 ---- examples/api/middleware/app.js | 6 - examples/api/middleware/server.js | 23 ---- examples/api/middleware/webpack.config.js | 13 --- examples/api/simple/README.md | 17 --- examples/api/simple/app.js | 17 --- examples/api/simple/server.js | 17 --- examples/api/simple/webpack.config.js | 13 --- examples/cli/bonjour/README.md | 15 --- examples/cli/bonjour/app.js | 5 - examples/cli/bonjour/webpack.config.js | 10 -- examples/cli/compression/README.md | 25 ----- examples/cli/compression/app.js | 6 - examples/cli/compression/webpack.config.js | 10 -- examples/cli/default/README.md | 25 ----- examples/cli/default/app.js | 20 ---- examples/cli/default/pixels.png | Bin 165 -> 0 bytes examples/cli/default/style.less | 3 - examples/cli/default/svg.svg | 33 ------ examples/cli/default/webpack.config.js | 27 ----- examples/cli/history-api-fallback/README.md | 20 ---- examples/cli/history-api-fallback/app.js | 75 ------------- examples/cli/history-api-fallback/file.txt | 1 - .../history-api-fallback/webpack.config.js | 15 --- examples/cli/hmr/README.md | 30 ----- examples/cli/hmr/app.js | 11 -- examples/cli/hmr/example.js | 5 - examples/cli/hmr/webpack.config.js | 10 -- examples/cli/host-and-port/README.md | 24 ---- examples/cli/host-and-port/app.js | 6 - examples/cli/host-and-port/webpack.config.js | 10 -- examples/cli/https/README.md | 48 -------- examples/cli/https/app.js | 6 - examples/cli/https/test_cert.pfx | Bin 1885 -> 0 bytes examples/cli/https/webpack.config.js | 10 -- examples/cli/iframe/README.md | 19 ---- examples/cli/iframe/app.js | 12 -- examples/cli/iframe/webpack.config.js | 10 -- examples/cli/lazy/README.md | 19 ---- examples/cli/lazy/app.js | 12 -- examples/cli/lazy/webpack.config.js | 10 -- examples/cli/listen-socket/README.md | 50 --------- examples/cli/listen-socket/app.js | 6 - examples/cli/listen-socket/check-socket.js | 9 -- examples/cli/listen-socket/webpack.config.js | 10 -- examples/cli/multi-compiler/README.md | 15 --- examples/cli/multi-compiler/app.js | 9 -- examples/cli/multi-compiler/webpack.config.js | 10 -- examples/cli/node-false/README.md | 10 -- examples/cli/node-false/app.js | 6 - examples/cli/node-false/webpack.config.js | 11 -- examples/cli/open-page/README.md | 14 --- examples/cli/open-page/app.js | 11 -- examples/cli/open-page/webpack.config.js | 18 --- examples/cli/overlay/README.md | 18 --- examples/cli/overlay/app.js | 9 -- examples/cli/overlay/webpack.config.js | 10 -- examples/cli/progress/README.md | 12 -- examples/cli/progress/app.js | 6 - examples/cli/progress/webpack.config.js | 13 --- examples/cli/public-protocol/README.md | 18 --- examples/cli/public-protocol/app.js | 5 - examples/cli/public-protocol/index.html | 8 -- .../cli/public-protocol/webpack.config.js | 15 --- examples/cli/public/README.md | 21 ---- examples/cli/public/app.js | 6 - examples/cli/public/webpack.config.js | 10 -- examples/cli/stdin/README.md | 16 --- examples/cli/stdin/app.js | 5 - examples/cli/stdin/webpack.config.js | 6 - examples/cli/watch-content-base/README.md | 42 ------- examples/cli/watch-content-base/app.js | 6 - .../cli/watch-content-base/assets/index.html | 11 -- .../cli/watch-content-base/css/styles.css | 3 - .../cli/watch-content-base/webpack.config.js | 16 --- examples/general/config-array/README.md | 14 --- examples/general/config-array/app.js | 14 --- examples/general/config-array/pixels.png | Bin 165 -> 0 bytes examples/general/config-array/style.less | 3 - examples/general/config-array/svg.svg | 33 ------ .../general/config-array/webpack.config.js | 57 ---------- examples/general/config-promise/README.md | 13 --- examples/general/config-promise/app.js | 5 - examples/general/config-promise/index.html | 10 -- .../general/config-promise/webpack.config.js | 14 --- examples/general/proxy-advanced/README.md | 19 ---- examples/general/proxy-advanced/app.js | 6 - examples/general/proxy-advanced/bypass.html | 8 -- .../general/proxy-advanced/webpack.config.js | 26 ----- examples/general/proxy-hot-reload/README.md | 36 ------ examples/general/proxy-hot-reload/app.js | 6 - .../general/proxy-hot-reload/proxy-config.js | 20 ---- .../proxy-hot-reload/webpack.config.js | 45 -------- examples/general/proxy-simple/README.md | 16 --- examples/general/proxy-simple/app.js | 6 - .../general/proxy-simple/webpack.config.js | 15 --- examples/general/webworker/README.md | 16 --- examples/general/webworker/web.js | 11 -- examples/general/webworker/webpack.config.js | 22 ---- examples/general/webworker/worker.js | 10 -- examples/util.js | 76 ------------- package.json | 3 +- 110 files changed, 1 insertion(+), 1761 deletions(-) delete mode 100644 examples/.assets/favicon.ico delete mode 100644 examples/.assets/geomanist-medium.woff delete mode 100644 examples/.assets/geomanist-medium.woff2 delete mode 100644 examples/.assets/icon-square.svg delete mode 100644 examples/.assets/layout.html delete mode 100644 examples/.assets/style.css delete mode 100644 examples/.eslintrc delete mode 100644 examples/README.md delete mode 100644 examples/api/middleware/README.md delete mode 100644 examples/api/middleware/app.js delete mode 100644 examples/api/middleware/server.js delete mode 100644 examples/api/middleware/webpack.config.js delete mode 100644 examples/api/simple/README.md delete mode 100644 examples/api/simple/app.js delete mode 100644 examples/api/simple/server.js delete mode 100644 examples/api/simple/webpack.config.js delete mode 100644 examples/cli/bonjour/README.md delete mode 100644 examples/cli/bonjour/app.js delete mode 100644 examples/cli/bonjour/webpack.config.js delete mode 100644 examples/cli/compression/README.md delete mode 100644 examples/cli/compression/app.js delete mode 100644 examples/cli/compression/webpack.config.js delete mode 100644 examples/cli/default/README.md delete mode 100644 examples/cli/default/app.js delete mode 100644 examples/cli/default/pixels.png delete mode 100644 examples/cli/default/style.less delete mode 100644 examples/cli/default/svg.svg delete mode 100644 examples/cli/default/webpack.config.js delete mode 100644 examples/cli/history-api-fallback/README.md delete mode 100644 examples/cli/history-api-fallback/app.js delete mode 100644 examples/cli/history-api-fallback/file.txt delete mode 100644 examples/cli/history-api-fallback/webpack.config.js delete mode 100644 examples/cli/hmr/README.md delete mode 100644 examples/cli/hmr/app.js delete mode 100644 examples/cli/hmr/example.js delete mode 100644 examples/cli/hmr/webpack.config.js delete mode 100644 examples/cli/host-and-port/README.md delete mode 100644 examples/cli/host-and-port/app.js delete mode 100644 examples/cli/host-and-port/webpack.config.js delete mode 100644 examples/cli/https/README.md delete mode 100644 examples/cli/https/app.js delete mode 100644 examples/cli/https/test_cert.pfx delete mode 100644 examples/cli/https/webpack.config.js delete mode 100644 examples/cli/iframe/README.md delete mode 100644 examples/cli/iframe/app.js delete mode 100644 examples/cli/iframe/webpack.config.js delete mode 100644 examples/cli/lazy/README.md delete mode 100644 examples/cli/lazy/app.js delete mode 100644 examples/cli/lazy/webpack.config.js delete mode 100644 examples/cli/listen-socket/README.md delete mode 100644 examples/cli/listen-socket/app.js delete mode 100644 examples/cli/listen-socket/check-socket.js delete mode 100644 examples/cli/listen-socket/webpack.config.js delete mode 100644 examples/cli/multi-compiler/README.md delete mode 100644 examples/cli/multi-compiler/app.js delete mode 100644 examples/cli/multi-compiler/webpack.config.js delete mode 100644 examples/cli/node-false/README.md delete mode 100644 examples/cli/node-false/app.js delete mode 100644 examples/cli/node-false/webpack.config.js delete mode 100644 examples/cli/open-page/README.md delete mode 100644 examples/cli/open-page/app.js delete mode 100644 examples/cli/open-page/webpack.config.js delete mode 100644 examples/cli/overlay/README.md delete mode 100644 examples/cli/overlay/app.js delete mode 100644 examples/cli/overlay/webpack.config.js delete mode 100644 examples/cli/progress/README.md delete mode 100644 examples/cli/progress/app.js delete mode 100644 examples/cli/progress/webpack.config.js delete mode 100644 examples/cli/public-protocol/README.md delete mode 100644 examples/cli/public-protocol/app.js delete mode 100644 examples/cli/public-protocol/index.html delete mode 100644 examples/cli/public-protocol/webpack.config.js delete mode 100644 examples/cli/public/README.md delete mode 100644 examples/cli/public/app.js delete mode 100644 examples/cli/public/webpack.config.js delete mode 100644 examples/cli/stdin/README.md delete mode 100644 examples/cli/stdin/app.js delete mode 100644 examples/cli/stdin/webpack.config.js delete mode 100644 examples/cli/watch-content-base/README.md delete mode 100644 examples/cli/watch-content-base/app.js delete mode 100644 examples/cli/watch-content-base/assets/index.html delete mode 100644 examples/cli/watch-content-base/css/styles.css delete mode 100644 examples/cli/watch-content-base/webpack.config.js delete mode 100644 examples/general/config-array/README.md delete mode 100644 examples/general/config-array/app.js delete mode 100644 examples/general/config-array/pixels.png delete mode 100644 examples/general/config-array/style.less delete mode 100644 examples/general/config-array/svg.svg delete mode 100644 examples/general/config-array/webpack.config.js delete mode 100644 examples/general/config-promise/README.md delete mode 100644 examples/general/config-promise/app.js delete mode 100644 examples/general/config-promise/index.html delete mode 100644 examples/general/config-promise/webpack.config.js delete mode 100644 examples/general/proxy-advanced/README.md delete mode 100644 examples/general/proxy-advanced/app.js delete mode 100644 examples/general/proxy-advanced/bypass.html delete mode 100644 examples/general/proxy-advanced/webpack.config.js delete mode 100644 examples/general/proxy-hot-reload/README.md delete mode 100644 examples/general/proxy-hot-reload/app.js delete mode 100644 examples/general/proxy-hot-reload/proxy-config.js delete mode 100644 examples/general/proxy-hot-reload/webpack.config.js delete mode 100644 examples/general/proxy-simple/README.md delete mode 100644 examples/general/proxy-simple/app.js delete mode 100644 examples/general/proxy-simple/webpack.config.js delete mode 100644 examples/general/webworker/README.md delete mode 100644 examples/general/webworker/web.js delete mode 100644 examples/general/webworker/webpack.config.js delete mode 100644 examples/general/webworker/worker.js delete mode 100644 examples/util.js diff --git a/examples/.assets/favicon.ico b/examples/.assets/favicon.ico deleted file mode 100644 index 425ac97c61c5055098bdeab8ffd805bc3b08d2fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 diff --git a/examples/.assets/geomanist-medium.woff b/examples/.assets/geomanist-medium.woff deleted file mode 100644 index 0912669810efa388e09432588da0859d28da5576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19236 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 X2eZYWl5+6|D5q0h00CGyFOL8KQ;7od diff --git a/examples/.assets/geomanist-medium.woff2 b/examples/.assets/geomanist-medium.woff2 deleted file mode 100644 index 9b0bf2e28f4737b8aa533edba8d36704f9a20936..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14808 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 diff --git a/examples/.assets/layout.html b/examples/.assets/layout.html deleted file mode 100644 index b7055daf0b..0000000000 --- a/examples/.assets/layout.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - WDS â–» <%= htmlWebpackPlugin.options.title %> - - - - - - - -

-
-

- - webpack-dev-server -

-
-
-

<%= htmlWebpackPlugin.options.title %>

-
-
-
- - - diff --git a/examples/.assets/style.css b/examples/.assets/style.css deleted file mode 100644 index f621329d6c..0000000000 --- a/examples/.assets/style.css +++ /dev/null @@ -1,104 +0,0 @@ -@font-face { - font-family: 'Geomanist'; - font-style: normal; - font-weight: 600; - src: url('assets/geomanist-medium.woff2') format('woff2'), - url('assets/geomanist-medium.woff') format('woff'); -} - -html, -body { - background-color: #f3f3f3; - color: #2B3A42; - font: 400 10px "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; - height: 100%; - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -a { - color: #2086d7; - text-decoration: none; - transition: color 250ms; -} - -a:hover { - color: #1a6aab; -} - -main { - width: 100%; - max-width: 94.2rem; - margin: 0px auto; - padding: 8rem 2.4rem; -} - -h1 { - font-size: 3.4rem; - font-weight: 600; - line-height: 3.4rem; - margin-top: 0; - padding-top: 0; -} - -h1 img { - height: 3.4rem; - width: 3.4rem; - vertical-align: middle; -} - -h2 { - font-size: 2.8rem; -} - -section { - padding: 0 0 0 4.2rem; -} - -div, p, table { - font-size: 1.6rem; -} - -code { - background-color: rgba(70, 94, 105, 0.06); - border-radius: 3px; - font-family: "Source Code Pro", Consolas, "Liberation Mono", Menlo, Courier, monospace; - font-size: 1.44rem; - margin: 0; - max-width: 100%; - line-height: initial; - overflow: auto; - padding: 2px 6px; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); - vertical-align: middle; - white-space: normal; -} - -#target { - background: #DCF2FD; - border: 0.1rem solid #618ca0; - border-radius: 0.3rem; - color: #618ca0; - margin: 2rem 0; - padding: 2rem; -} - -#target.warn { - background: #fcf8e3; - border: 0.1rem solid #8a6d3b; - color: #8a6d3b; -} - -#target.pass { - background: #f2f9f4; - border: 0.1rem solid #4db277; - color: #4db277; -} - -#target.fail { - background: #f2dede; - border: 0.1rem solid #a94442; - color: #a94442; -} diff --git a/examples/.eslintrc b/examples/.eslintrc deleted file mode 100644 index d5ba8f9d9c..0000000000 --- a/examples/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "no-console": "off" - } -} diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index 49a662ab86..0000000000 --- a/examples/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Examples - -Each example showcases a particular feature of `webpack-dev-server`. You can use -these examples to learn how to use certain features, or as a means to test features -when working on a Pull Request. - -An example should be as minimal as possible and consists of at least: - -- An `app.js` file - the entry point for an example app. -- A `README.md` file containing information about, and how to run the example app. -- A description of what should happen when running the example. -- A `webpack.config.js` file containing the `webpack` configuration for the example app. - -## API versus CLI - -API examples can be found in the `api` directory. These examples demonstrate how -to access and run `webpack-dev-server` directly in your application / script. - -CLI examples can be found in the `cli` directory. These examples demonstrate how -to run `webpack-dev-server` from the command line in your console / terminal. - -## Notes - -- Each example's `webpack` config is wrapped with `util.setup`; a helper function -that adds plugins and configuration needed by each example to render in a consistent -and visually pleasing way. -- Examples' `bundle.js` and `index.html` files are compiled and served from memory. -You won't actually see these files written to disk, but if you examine the `webpack` -output, you should see their file indicators. diff --git a/examples/api/middleware/README.md b/examples/api/middleware/README.md deleted file mode 100644 index 91c0ce0501..0000000000 --- a/examples/api/middleware/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# API: Custom Middleware - -While it's recommended to run `webpack-dev-server` via the CLI, you may also -choose to start a server via the API. This example demonstrates using one of the -few custom middleware options; `before`. - -```console -node server.js -``` - -## What Should Happen - -1. Open `http://localhost:8080/` in your preferred browser. -2. You should see the text on the page itself change to read `Success!`. -3. In the console/terminal, you should see the following for each refresh in -the browser: -``` -Using middleware for / -Using middleware for /bundle.js -``` diff --git a/examples/api/middleware/app.js b/examples/api/middleware/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/api/middleware/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/api/middleware/server.js b/examples/api/middleware/server.js deleted file mode 100644 index a90ecedd46..0000000000 --- a/examples/api/middleware/server.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -const Webpack = require('webpack'); -const WebpackDevServer = require('../../../lib/Server'); -const webpackConfig = require('./webpack.config'); - -const compiler = Webpack(webpackConfig); -const devServerOptions = Object.assign({}, webpackConfig.devServer, { - stats: { - colors: true - }, - before(app) { - app.use((req, res, next) => { - console.log(`Using middleware for ${req.url}`); - next(); - }); - } -}); -const server = new WebpackDevServer(compiler, devServerOptions); - -server.listen(8080, '127.0.0.1', () => { - console.log('Starting server on http://localhost:8080'); -}); diff --git a/examples/api/middleware/webpack.config.js b/examples/api/middleware/webpack.config.js deleted file mode 100644 index e53c0a3c36..0000000000 --- a/examples/api/middleware/webpack.config.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: ['./app.js', '../../../client/index.js?http://localhost:8080/'], - output: { - filename: 'bundle.js' - } -}); diff --git a/examples/api/simple/README.md b/examples/api/simple/README.md deleted file mode 100644 index 81064650b5..0000000000 --- a/examples/api/simple/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# API: Simple Server - -While it's recommended to run `webpack-dev-server` via the CLI, you may also -choose to start a server via the API. This example starts a simple server setup. - -```console -node server.js -``` - -## What should happen - -1. Open `http://localhost:8080/` in your preferred browser. -2. You should see the text on the page itself change to read `Success!`. -3. In `app.js`, uncomment the code that results in an error and save. This error -should be visible in the console/terminal and in browser devtools. -4. In `app.js`, uncomment the code that results in a warning. This warning should -be visible in the console/terminal and in browser devtools. diff --git a/examples/api/simple/app.js b/examples/api/simple/app.js deleted file mode 100644 index 4ad52540c6..0000000000 --- a/examples/api/simple/app.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; - -// This results in a warning: -if (!window) { - // eslint-disable-next-line - require(`./${window}parseable.js`); -} - -// This results in an error: -// if(!window) { -// require("test"); -// } diff --git a/examples/api/simple/server.js b/examples/api/simple/server.js deleted file mode 100644 index 3e148e047b..0000000000 --- a/examples/api/simple/server.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -const Webpack = require('webpack'); -const WebpackDevServer = require('../../../lib/Server'); -const webpackConfig = require('./webpack.config'); - -const compiler = Webpack(webpackConfig); -const devServerOptions = Object.assign({}, webpackConfig.devServer, { - stats: { - colors: true - } -}); -const server = new WebpackDevServer(compiler, devServerOptions); - -server.listen(8080, '127.0.0.1', () => { - console.log('Starting server on http://localhost:8080'); -}); diff --git a/examples/api/simple/webpack.config.js b/examples/api/simple/webpack.config.js deleted file mode 100644 index e53c0a3c36..0000000000 --- a/examples/api/simple/webpack.config.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: ['./app.js', '../../../client/index.js?http://localhost:8080/'], - output: { - filename: 'bundle.js' - } -}); diff --git a/examples/cli/bonjour/README.md b/examples/cli/bonjour/README.md deleted file mode 100644 index e2b7612932..0000000000 --- a/examples/cli/bonjour/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Bonjour (ZeroConf) - -The Bonjour capability broadcasts server information via ZeroConf when the Server -is started. - -To run this example, run this command in your console or terminal: - -```console -npm run webpack-dev-server -- --bonjour -``` - -## What Should Happen - -A Zeroconf broadcast should occur, containing data with a type of `http` and a -subtype of `webpack`. diff --git a/examples/cli/bonjour/app.js b/examples/cli/bonjour/app.js deleted file mode 100644 index 0b5f836ed8..0000000000 --- a/examples/cli/bonjour/app.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.innerHTML = 'Please check your Zeroconf service.'; diff --git a/examples/cli/bonjour/webpack.config.js b/examples/cli/bonjour/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/bonjour/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/compression/README.md b/examples/cli/compression/README.md deleted file mode 100644 index 6f21980f18..0000000000 --- a/examples/cli/compression/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Gzip Compression - -Website gzip compression makes it possible to reduce the file size of a file -to roughly 30% of its original size before the files are sent to the browser. - -To run this example, run this command in your console or terminal: - -```console -npm run webpack-dev-server -- --open --compress -``` - -## What should happen - -1. The script should open `https://localhost:8080/`. -2. Files being sent to the browser from the `webpack` bundle should be gzipped. -3. Open the console in your browser's devtools and select the _Network_ tab. -4. Find `bundle.js`. The response headers should contain `Content-Encoding: gzip`. - -## Notes - -Some browsers, such as Chrome, won't show the `Content-Encoding: gzip` within -the _Response Headers_. This has been documented [here](https://github.com/expressjs/compression/issues/96). - -To enable `Content-Encoding` for _Response Headers_ in Chrome, you can follow -[this tutorial](https://www.youtube.com/watch?v=47R6uv0RKCk). diff --git a/examples/cli/compression/app.js b/examples/cli/compression/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/compression/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/compression/webpack.config.js b/examples/cli/compression/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/compression/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/default/README.md b/examples/cli/default/README.md deleted file mode 100644 index 4c43123877..0000000000 --- a/examples/cli/default/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# CLI: Default State - -This example demonstrates how to use `webpack-dev-server` in its default, inline -state. - -```console -npm run webpack-dev-server -- --open -``` - -To run your app using an alternative config, use: - -```console -npm run webpack-dev-server -- --open --config alternative.config.js -``` - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. In `app.js` uncomment the code that results in an error and save. -4. This error should be visible in the console/terminal and in the browser's devtools. -5. In `app.js` uncomment the code that results in a warning. This warning should -be visible in the console/terminal and in the browser's devtools. -6. Try changing something in `style.less`. The browser should refresh, and the -change should be visible in the app. diff --git a/examples/cli/default/app.js b/examples/cli/default/app.js deleted file mode 100644 index 75a70584d5..0000000000 --- a/examples/cli/default/app.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -require('./style.less'); - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; - -const img = document.createElement('img'); -img.src = '/svg.svg'; -img.style = 'width: 200px;'; - -document.body.appendChild(img); - -// This results in a warning: -// if(!window) require("./" + window + "parseable.js"); - -// This results in an error: -// if(!window) require("test"); diff --git a/examples/cli/default/pixels.png b/examples/cli/default/pixels.png deleted file mode 100644 index 91bb93acc275f1cace7a932b551ad6288620ea5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V6Od#Ihk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f>xd`jv*Ss$v^tV4H#16_t*V>aZ!2ADThlA zI}f+>A6_~!w0X%zhD}*Imrkr&soHz>FUR4FclZk#8Fw>oeyql||8@EWpeYQVu6{1- HoD!M<-!?VF diff --git a/examples/cli/default/style.less b/examples/cli/default/style.less deleted file mode 100644 index 6eda1495fd..0000000000 --- a/examples/cli/default/style.less +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: url(pixels.png); -} diff --git a/examples/cli/default/svg.svg b/examples/cli/default/svg.svg deleted file mode 100644 index 33350a7f82..0000000000 --- a/examples/cli/default/svg.svg +++ /dev/null @@ -1,33 +0,0 @@ - - SVG Logo - - - - - - - - - - - - - - - - - - - - - - - - SVG - - - - - - - diff --git a/examples/cli/default/webpack.config.js b/examples/cli/default/webpack.config.js deleted file mode 100644 index d8747b9f8b..0000000000 --- a/examples/cli/default/webpack.config.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - module: { - rules: [ - { - test: /\.less$/, - use: [ - 'style-loader', - 'css-loader', - 'less-loader' - ] - }, - { - test: /\.png$/, - loader: 'file-loader', - options: { prefix: 'img/' } - } - ] - } -}); diff --git a/examples/cli/history-api-fallback/README.md b/examples/cli/history-api-fallback/README.md deleted file mode 100644 index 86251429ca..0000000000 --- a/examples/cli/history-api-fallback/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# CLI: History API Fallback Option - -This option enables [History API Fallback](https://github.com/bripkens/connect-history-api-fallback) -support in `webpack-dev-server`, effectively asking the server to fallback to -`index.html` in the event that a requested resource cannot be found. - -```shell -npm run webpack-dev-server -- --open --history-api-fallback -``` - -_Note: some URLs don't work by default. For example; if the url contains a dot. -Be sure to checkout the [connect-history-api-fallback](https://github.com/bripkens/connect-history-api-fallback) -options._ - -## What Should Happen - -1. The script should open `http://0.0.0.0:8080/` in your default browser. -2. You should see text on the page that reads 'Current Path: /'. -3. Navigate to `http://localhost:8080/foo/bar`. -4. You should see text on the page that reads 'Current Path: /foo/background'. diff --git a/examples/cli/history-api-fallback/app.js b/examples/cli/history-api-fallback/app.js deleted file mode 100644 index 29c5ea13d9..0000000000 --- a/examples/cli/history-api-fallback/app.js +++ /dev/null @@ -1,75 +0,0 @@ -'use strict'; - -/* global XMLHttpRequest */ - -const path = document.location.pathname; -const target = document.querySelector('#target'); -const style = document.createElement('style'); -const css = `table { - border-radius: 0.3rem; - border: 0.1rem solid #474747; - border-spacing: 0; - padding: 0; - width: 50%; - } - - table td { - border-right: 0.1rem solid #474747; - padding: 0.5rem 1rem; - } - - table tr td:last-child { - border-right: 0; - text-align: center; - } - - table td.pass { - background: #f2f9f4; - color: #4db277; - } - - table td.fail { - background: #f2dede; - color: #a94442; - }`; - -style.appendChild(document.createTextNode(css)); -document.head.appendChild(style); -target.innerHTML = `Current Path: ${path}`; - -document.addEventListener('DOMContentLoaded', () => { - if (document.querySelector('#files')) { - return; - } - - const tests = [ - { url: '/', name: 'index', re: /^/i }, - { url: '/test', name: 'non-existent path', re: /^/i }, - { url: '/file.txt', name: 'existing path', re: /^file/ } - ]; - const table = document.createElement('table'); - const tbody = document.createElement('tbody'); - - table.id = 'files'; - table.appendChild(tbody); - target.parentNode.appendChild(table); - - tests.forEach((test) => { - const tr = document.createElement('tr'); - tbody.appendChild(tr); - check(test.url, test.re, (res) => { - tr.innerHTML = `${test.name}`; - tr.innerHTML += `${test.url}`; - tr.innerHTML += `${res}`; - }); - }); -}, true); - -function check(url, re, cb) { - const xhr = new XMLHttpRequest(); - xhr.addEventListener('load', () => { - cb(re.test(xhr.responseText) ? 'pass' : 'fail'); - }); - xhr.open('GET', url); - xhr.send(); -} diff --git a/examples/cli/history-api-fallback/file.txt b/examples/cli/history-api-fallback/file.txt deleted file mode 100644 index f73f3093ff..0000000000 --- a/examples/cli/history-api-fallback/file.txt +++ /dev/null @@ -1 +0,0 @@ -file diff --git a/examples/cli/history-api-fallback/webpack.config.js b/examples/cli/history-api-fallback/webpack.config.js deleted file mode 100644 index 1f0de4d0da..0000000000 --- a/examples/cli/history-api-fallback/webpack.config.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - devServer: { - historyApiFallback: { - disableDotRule: true - } - } -}); diff --git a/examples/cli/hmr/README.md b/examples/cli/hmr/README.md deleted file mode 100644 index c89d6f8faa..0000000000 --- a/examples/cli/hmr/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Hot Module Reloading - -Hot Module Replacement (HMR) exchanges, adds, or removes modules while an -application is running, without a full reload of the page. - -To run this example, run this command in your console or terminal: - -```console -npm run webpack-dev-server -- --open --hot -``` - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. In your editor, open `example.js` and change any part of the `innerHTML` string. -3. Open the console in your browser's devtools. - -In the devtools console you should see: - -``` -[WDS] App updated. Recompiling... -[WDS] App hot update... -[HMR] Checking for updates on the server... -[HMR] Updated modules: -[HMR] - ./example.js -[HMR] App is up to date. -``` - -You should also see the text on the page itself change to match your edits in -`example.js`. diff --git a/examples/cli/hmr/app.js b/examples/cli/hmr/app.js deleted file mode 100644 index 31bc193f1e..0000000000 --- a/examples/cli/hmr/app.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -require('./example'); - -if (module.hot) { - module.hot.accept((err) => { - if (err) { - console.error('Cannot apply HMR update.', err); - } - }); -} diff --git a/examples/cli/hmr/example.js b/examples/cli/hmr/example.js deleted file mode 100644 index b3a078c1de..0000000000 --- a/examples/cli/hmr/example.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.innerHTML = 'Modify and save /examples/hmr/example.js to update this element without reloading the page.'; diff --git a/examples/cli/hmr/webpack.config.js b/examples/cli/hmr/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/hmr/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/host-and-port/README.md b/examples/cli/host-and-port/README.md deleted file mode 100644 index 8df4365423..0000000000 --- a/examples/cli/host-and-port/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# CLI: Host and Port Options - -You may choose to wish to change the host and port on which `webpack-dev-server` -will run. The `host` and `port` options allow for that. - -## IPv4 - -```console -npm run webpack-dev-server -- --open --port 5000 --host 0.0.0.0 -``` - -## IPv6 - -_This also works with IPv4_ - -```console -npm run webpack-dev-server -- --open --port 5000 --host :: -``` - -## What Should Happen - -1. The script should open `http://0.0.0.0:5000/` if specifying the IPv4 option, -or `http://[::]:5000/` for IPv6, in your default browser. -2. You should see the text on the page itself change to read `Success!`. diff --git a/examples/cli/host-and-port/app.js b/examples/cli/host-and-port/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/host-and-port/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/host-and-port/webpack.config.js b/examples/cli/host-and-port/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/host-and-port/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/https/README.md b/examples/cli/https/README.md deleted file mode 100644 index 40622a3024..0000000000 --- a/examples/cli/https/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# CLI: Https Option - -By default webpack-dev-server will generate a self-signed, 2048 bit, sha256 SSL -Certificate, which is used to enable https. The certificate will be located in the -`ssl` directory after the server is started for the first time. The generated -certificate is only good for 30 days, at which point it'll be regenerated. - -We highly recommend creating and managing your own certificates. Please see the -following resources for doing so: - -### MacOS -https://certsimple.com/blog/localhost-ssl-fix - -### Windows 10 -https://technet.microsoft.com/itpro/powershell/windows/pkiclient/new-selfsignedcertificate - -### Windows 7 -https://msdn.microsoft.com/en-us/library/aa386968.aspx - -Example (the .pfx file generated the following way can be used without `--pfx-passphrase`): -``` -makecert -r -pe -sky exchange -sv makecert.pvk makecert.cer -pvk2pfx -pvk makecert.pvk -spc makecert.cer -pfx makecert.pfx -``` - -## Getting Started - -```shell -npm run webpack-dev-server -- --open --https -``` - -## Using Your Certificate - -Options are available for using your own SSL Certificate in your preferred or -OS-required format. - -Given the base command `npm run webpack-dev-server -- --open --https`, append -one of the following: - -* (PEM Files) `--cert=../../ssl/server.pem --key=../../ssl/server.pem` -* (PFX and Passphrase) `--pfx=./test_cert.pfx --pfx-passphrase=sample` - -## What To Expect - -The script should open `https://localhost:8080/`in your default browser. If your -browser displays a warning about a non-trusted certificate, follow the procedure -for your browser of choice to continue. After doing so you should see "It's Working" -displayed on the page. diff --git a/examples/cli/https/app.js b/examples/cli/https/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/https/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/https/test_cert.pfx b/examples/cli/https/test_cert.pfx deleted file mode 100644 index d6c2023a2d071587aab959c9d26148f9a50cb96e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1885 zcmZWpdpHvcAD(S&vs||rn!D7NY#1Tr5~DJ=4I{ZbG?k@=l&t6?XGm_zWp1gqIEB*% zAr^A4W#kf(TN1h7j`KX<_nq%~&L6+$_dM_WyzgJ{`{I}occ2gm$Al<}z%cQ|_+>F6 zh)^CAA_-v-$&@Z46VCQ}RhY`Z<5fS~5!>%1iaWE968o&3b z==?Si2nAeag5FHEP`Ac{^z2cYd68lqm+gRSeHX_}Y7@=CyhQmtVpxVUa=qXx&-V1k z{(ANvP%1OEgBL^;K}QaE``#3Nab@?Pq;$Y@ZOuCd8EN2$h1v~|5vXg}2r0RD&Y^VQ zlbz-H37xJpaP0o)#R0{frv})=CFE_F?0qd?_-@M@+yVRvqp$wdF*?sOKISBImNa3* zw>z?e&59!oIook7rSK{O7}Zw`-D$})lX=xi+ufzQb*$kVQ8!Q_Z2Ukg$Ly0|KV($q zYpaoLPQ8TILDIvbz|;OD`U3*Ao1O-{!119Tvu2BxO%8l&Wr>*po0EUH%M+@~oJ)Q-kFiaDH;~$ju+^!ubTVdn2qoG!X&zTpj@dzxh4k05xORT85d9Py$<_2&TjTb)EC=v*MB1U-D2 zcYEc;3~8Ycy77AaGjy!Nu-T@|B3kLptm*S!bIE2OmjKDq_Q74X=)$-J?a4D2r{w#gzNHMgUb4#_4HL%wzgJ;Lew9kRYwdp{w20oq_t{7>wO`I4E#-qu1Axlgb=8lt)oZ(K2e97($BNdR`L}9+NA@ zVPy?%>DjNFW}8=VQte-$yb&Yc$nVmk#3QU?+FK(hwL=5lt`D46S4AB@6`{yAe$8zw z-4aJLQ=yGbM-L{KsZ*TTHLH2{ioF8kZ-Q1ay{+@@_@{0hu%g+4)~dO7qD4`0Y_PjG zB;VJ{>5@i3J*!rh(9Vs{#ZSTk)Nn3xA}QZ_kp1z>+=HMXREM|LNc08Zt#KjM@#C1$)8G> zf;(6eNe4<9J$3K-mmf^~-JAb9XZI>$9-zfif2RIKAhXn@e^!1|M8>K3xWA|85}uKb zfs`HP4G3Z>QEZFG?(%#oh?2-RU5H@}@#cOthTJDW2+;BQ{v2r8U>6 zbpvDZSY|$jaybLzIw{NOU`Kf)qA9(9PHrG(D2l8I*GvzyWfEQkr}n>8!*=6kz(`C~ z{lM7jduKW!GYUuzJLEKTdkBZeso-ED!dP(-P+k}SMyma`FFOq}T57we%T9-i$x|j* S8Gxb3C+JEY^Q3!!r~5DRBW1w= diff --git a/examples/cli/https/webpack.config.js b/examples/cli/https/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/https/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/iframe/README.md b/examples/cli/iframe/README.md deleted file mode 100644 index 3b7057ba97..0000000000 --- a/examples/cli/iframe/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# CLI: Inline Iframe - -The `--no-inline` option instructs `webpack-dev-server` to open the app in an -iframe. The page then contains the client script to connect to the server. - -```shell -npm run webpack-dev-server -- --no-inline --open -``` - -## What Should Happen - -1. The script should open `http://localhost:8080/webpack-dev-server/` in your -default browser. -2. There should be a bar at the top of the page that reads `App ready`. -3. In `app.js`, uncomment the code that results in an error and save. -4. The bar at the top should read `Errors while compiling. App updated with errors. -No reload!` along with a stack trace. -5. In `app.js`, uncomment the code that results in a warning. The bar at the top -should read `Warnings while compiling`. diff --git a/examples/cli/iframe/app.js b/examples/cli/iframe/app.js deleted file mode 100644 index bc127811c7..0000000000 --- a/examples/cli/iframe/app.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; - -// This results in a warning: -// if(!window) require("./" + window + "parseable.js"); - -// This results in an error: -// if(!window) require("test"); diff --git a/examples/cli/iframe/webpack.config.js b/examples/cli/iframe/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/iframe/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/lazy/README.md b/examples/cli/lazy/README.md deleted file mode 100644 index 2547ffab4f..0000000000 --- a/examples/cli/lazy/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# CLI: Lazy Option - -With the `lazy` option enabled, `webpack-dev-server` does **not** watch the -bundle files, nor does it automatically recompile them or refresh the browser. -Instead, it only compiles after you manually refresh the page. - -```shell -npm run webpack-dev-server -- --open --lazy --no-inline -``` - -## What should happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. Change something in `app.js` and save. -4. You should not see any changes in the console/terminal output. -5. You should not see any changes in the browser. -6. Refresh the page. -7. You should see compilation in the console/terminal and changes in the browser. diff --git a/examples/cli/lazy/app.js b/examples/cli/lazy/app.js deleted file mode 100644 index bc127811c7..0000000000 --- a/examples/cli/lazy/app.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; - -// This results in a warning: -// if(!window) require("./" + window + "parseable.js"); - -// This results in an error: -// if(!window) require("test"); diff --git a/examples/cli/lazy/webpack.config.js b/examples/cli/lazy/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/lazy/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/listen-socket/README.md b/examples/cli/listen-socket/README.md deleted file mode 100644 index ab11649347..0000000000 --- a/examples/cli/listen-socket/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# CLI: Socket Option - -To run the entire example, start the server with the following command: - -```console -npm run webpack-dev-server -- --socket ./webpack.sock -``` - -And then start node server that will use that socket: - -```console -node check-socket.js -``` - -## What Should Happen - -You should see this responses to this command: - -```console -Successfully connected to socket, exiting -``` - -## Use Cases - -A common use-case for this feature is configuring upstream in nginx that points -to webpack socket. Listening to socket instead of port is much more convenient -because if you have many applications you don't have to resolve port conflicts -since each of them has own unique socket. - -Example of configuring upstream with Websockets support in nginx: - -``` -location /webpack/ { - proxy_pass http://unix:/home/happywebpackuser/apps/todo/webpack.sock; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://unix:/home/resure/code/statface-raw/app/run/statbox.sock; - proxy_redirect off; -} -location /sockjs-node/ { - proxy_pass http://unix:/home/happywebpackuser/apps/todo/webpack.sock; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; -} -``` - -Replace `/webpack/` with your `publicPath` param value and path in `proxy_pass` -to your actual proxy location. diff --git a/examples/cli/listen-socket/app.js b/examples/cli/listen-socket/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/listen-socket/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/listen-socket/check-socket.js b/examples/cli/listen-socket/check-socket.js deleted file mode 100644 index 660e360747..0000000000 --- a/examples/cli/listen-socket/check-socket.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -const net = require('net'); - -const client = net.createConnection('./webpack.sock'); -client.on('connect', () => { - console.log('Successfully connected to socket, exiting'); - process.exit(1); // eslint-disable-line -}); diff --git a/examples/cli/listen-socket/webpack.config.js b/examples/cli/listen-socket/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/listen-socket/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/multi-compiler/README.md b/examples/cli/multi-compiler/README.md deleted file mode 100644 index 4cfcc3bc55..0000000000 --- a/examples/cli/multi-compiler/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# CLI: Multi Compiler - -`webpack-dev-server` should be able to compile multiple webpack configs. - -```shell -npm run webpack-dev-server -- --open -``` - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. In `app.js` write code containing a syntax error and save the file. -4. The page should now refresh and show a full screen error overlay, displaying -the syntax error. diff --git a/examples/cli/multi-compiler/app.js b/examples/cli/multi-compiler/app.js deleted file mode 100644 index f5e44a9844..0000000000 --- a/examples/cli/multi-compiler/app.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; - -// This results in an error: -// if(!window) require("test"); diff --git a/examples/cli/multi-compiler/webpack.config.js b/examples/cli/multi-compiler/webpack.config.js deleted file mode 100644 index 87bc5bdde5..0000000000 --- a/examples/cli/multi-compiler/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = [setup({ - context: __dirname, - entry: './app.js' -})]; diff --git a/examples/cli/node-false/README.md b/examples/cli/node-false/README.md deleted file mode 100644 index ed0f6022b2..0000000000 --- a/examples/cli/node-false/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# CLI: Webpack `node` Option - -```shell -npm run webpack-dev-server -- --open -``` - -## What should happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. diff --git a/examples/cli/node-false/app.js b/examples/cli/node-false/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/node-false/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/node-false/webpack.config.js b/examples/cli/node-false/webpack.config.js deleted file mode 100644 index 2d66554e55..0000000000 --- a/examples/cli/node-false/webpack.config.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - node: false -}); diff --git a/examples/cli/open-page/README.md b/examples/cli/open-page/README.md deleted file mode 100644 index f4c02f76cc..0000000000 --- a/examples/cli/open-page/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# CLI: Open Page Option - -```console -npm run webpack-dev-server -- --open-page example.html#page1 -``` - -Some applications may consist of multiple pages. During development it may -be useful to directly open a particular page. The page to open may be specified -as the argument to the `open-page` option. - -## What Should Happen - -The script should open `http://localhost:8080/` in your default browser. -You should see the text on the page itself change to read `Success!`. diff --git a/examples/cli/open-page/app.js b/examples/cli/open-page/app.js deleted file mode 100644 index 2570c6821c..0000000000 --- a/examples/cli/open-page/app.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -if (window.location.href.endsWith('example.html#page1')) { - target.classList.add('pass'); - target.innerHTML = 'Success!'; -} else { - target.classList.add('fail'); - target.innerHTML = 'Houston, we have a problem.'; -} diff --git a/examples/cli/open-page/webpack.config.js b/examples/cli/open-page/webpack.config.js deleted file mode 100644 index d71d2c9788..0000000000 --- a/examples/cli/open-page/webpack.config.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -const HtmlWebpackPlugin = require('html-webpack-plugin'); -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - plugins: [ - new HtmlWebpackPlugin({ - filename: 'example.html', - template: '../../.assets/layout.html', - title: 'Open Page / Example' - }) - ] -}); diff --git a/examples/cli/overlay/README.md b/examples/cli/overlay/README.md deleted file mode 100644 index a324352193..0000000000 --- a/examples/cli/overlay/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# CLI: Overlay Option - -`webpack-dev-server` can display an overlay for warnings and errors. - -```shell -npm run webpack-dev-server -- --open --overlay -``` - -_Note: To view additional options for the overlay visit -[https://webpack.js.org/configuration/dev-server/#devserver-overlay](https://webpack.js.org/configuration/dev-server/#devserver-overlay)._ - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. In `app.js` write code containing a syntax error and save the file. -4. The page should now refresh and show a full screen error overlay, displaying -the syntax error. diff --git a/examples/cli/overlay/app.js b/examples/cli/overlay/app.js deleted file mode 100644 index f5e44a9844..0000000000 --- a/examples/cli/overlay/app.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; - -// This results in an error: -// if(!window) require("test"); diff --git a/examples/cli/overlay/webpack.config.js b/examples/cli/overlay/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/overlay/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/progress/README.md b/examples/cli/progress/README.md deleted file mode 100644 index 402acc3bca..0000000000 --- a/examples/cli/progress/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# CLI: Progress Option - -```shell -npm run webpack-dev-server -- --open -``` - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. In `app.js` change the text and save. -4. You should see the compilation progress in the browser console. diff --git a/examples/cli/progress/app.js b/examples/cli/progress/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/progress/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/progress/webpack.config.js b/examples/cli/progress/webpack.config.js deleted file mode 100644 index 3b88aceba5..0000000000 --- a/examples/cli/progress/webpack.config.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - devServer: { - progress: true - } -}); diff --git a/examples/cli/public-protocol/README.md b/examples/cli/public-protocol/README.md deleted file mode 100644 index 98c6cc5701..0000000000 --- a/examples/cli/public-protocol/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# CLI: Public Option Protocol - -```console -npm run webpack-dev-server -``` - -_NOTE: replace `` with your local IP Address._ - -You're now able to explicitly define the protocol used with the `public` option -(have a look to the config provided in `webpack.config.js`). - -## What Should Happen - -The script should open `http://localhost:8080/` in your default browser. - -You should see a failed attempt to establish a connection to `/sockjs-node` -via the explicitly defined `https://localhost:8080`. This fails of course since -we're not hosting https. diff --git a/examples/cli/public-protocol/app.js b/examples/cli/public-protocol/app.js deleted file mode 100644 index abdefa79cd..0000000000 --- a/examples/cli/public-protocol/app.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.innerHTML = 'Please check the sockjs-info request in devtools, it should try to connect to the protocol + server defined in the public setting.'; diff --git a/examples/cli/public-protocol/index.html b/examples/cli/public-protocol/index.html deleted file mode 100644 index 3186011efe..0000000000 --- a/examples/cli/public-protocol/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/examples/cli/public-protocol/webpack.config.js b/examples/cli/public-protocol/webpack.config.js deleted file mode 100644 index b8f5e8774c..0000000000 --- a/examples/cli/public-protocol/webpack.config.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - devServer: { - host: '0.0.0.0', - public: 'https://localhost:8080', - disableHostCheck: true - } -}); diff --git a/examples/cli/public/README.md b/examples/cli/public/README.md deleted file mode 100644 index 3cf19d11d6..0000000000 --- a/examples/cli/public/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# CLI: Public Option - -```console -npm run webpack-dev-server -- --open --host 0.0.0.0 --public :8080 -``` - -_NOTE: replace `` with your local IP Address._ - -In order to make the server publicly accessible the client needs to know with -what host to connect to the server. If `--host 0.0.0.0` is given, the client -would try to connect to `0.0.0.0`. With the `--public` options it is possible to -override this. - -## What Should Happen - -1. The script should open `http://0.0.0.0:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. Open the console in your browser's devtools. -4. Select the 'Network' tab. -5. Select the 'WS' or 'WebSockets' sub-tab. -6. Verify that the WebSocket is connecting to `:8080`. diff --git a/examples/cli/public/app.js b/examples/cli/public/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/public/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/public/webpack.config.js b/examples/cli/public/webpack.config.js deleted file mode 100644 index 58e922e044..0000000000 --- a/examples/cli/public/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js' -}); diff --git a/examples/cli/stdin/README.md b/examples/cli/stdin/README.md deleted file mode 100644 index e9364fa6a7..0000000000 --- a/examples/cli/stdin/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# CLI: Stdin Option - -Specifying this option instructs the server to close when `stdin` ends. - -```console -npm run webpack-dev-server -- --stdin -``` - -## What Should Happen - -1. The server should begin running. -2. Press `CTL+D` on your keyboard. -3. The server should close. - -_Note: the keyboard shortcut for terminating `stdin` can vary depending on the -operating systems._ diff --git a/examples/cli/stdin/app.js b/examples/cli/stdin/app.js deleted file mode 100644 index 1c221afc42..0000000000 --- a/examples/cli/stdin/app.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.innerHTML = 'Press CTL+D on your keyboard to close the server.'; diff --git a/examples/cli/stdin/webpack.config.js b/examples/cli/stdin/webpack.config.js deleted file mode 100644 index 7316e8848c..0000000000 --- a/examples/cli/stdin/webpack.config.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -module.exports = { - context: __dirname, - entry: './app.js' -}; diff --git a/examples/cli/watch-content-base/README.md b/examples/cli/watch-content-base/README.md deleted file mode 100644 index 02b26d94d0..0000000000 --- a/examples/cli/watch-content-base/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# CLI: Watch Content Base - -## Watching a single directory - -```console -npm run webpack-dev-server -- --content-base assets --watch-content-base --open -``` - -### What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. In your editor, edit `assets/index.html` and save your changes. -4. The app should reload in the browser. - -## Watching an Array of Directories - -```js -// webpack.conf.js -module.exports = { - /* ... */ - devServer: { - contentBase: [ - "assets", - "css", - ] - } -} -``` - -```console -npm run webpack-dev-server -- --watch-content-base --open -``` - -### What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. In your editor, edit `assets/index.html` and save your changes. -4. The app should reload. -5. In your editor, edit `css/styles.css` and save your changes. -6. The app should reload. diff --git a/examples/cli/watch-content-base/app.js b/examples/cli/watch-content-base/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/cli/watch-content-base/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/cli/watch-content-base/assets/index.html b/examples/cli/watch-content-base/assets/index.html deleted file mode 100644 index a1c356cf65..0000000000 --- a/examples/cli/watch-content-base/assets/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - -

Watch content base

-
- - - diff --git a/examples/cli/watch-content-base/css/styles.css b/examples/cli/watch-content-base/css/styles.css deleted file mode 100644 index 9fab7db2da..0000000000 --- a/examples/cli/watch-content-base/css/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -h1 { - color: blue; -} diff --git a/examples/cli/watch-content-base/webpack.config.js b/examples/cli/watch-content-base/webpack.config.js deleted file mode 100644 index 7636b79213..0000000000 --- a/examples/cli/watch-content-base/webpack.config.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - devServer: { - contentBase: [ - 'assets', - 'css' - ] - } -}); diff --git a/examples/general/config-array/README.md b/examples/general/config-array/README.md deleted file mode 100644 index 37f95c53c8..0000000000 --- a/examples/general/config-array/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# General: Webpack Config Array - -This example demonstrates using a `webpack` config containing an array of configs. - -```console -npm run webpack-dev-server -- --open -``` - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. Navigate to `http://localhost:8080/bundle2.js` -4. The browser should display a minified JavaScript bundle. diff --git a/examples/general/config-array/app.js b/examples/general/config-array/app.js deleted file mode 100644 index 30895930f6..0000000000 --- a/examples/general/config-array/app.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -require('./style.less'); - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; - -// This results in a warning: -// if(!window) require("./" + window + "parseable.js"); - -// This results in an error: -// if(!window) require("test"); diff --git a/examples/general/config-array/pixels.png b/examples/general/config-array/pixels.png deleted file mode 100644 index 91bb93acc275f1cace7a932b551ad6288620ea5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V6Od#Ihk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f>xd`jv*Ss$v^tV4H#16_t*V>aZ!2ADThlA zI}f+>A6_~!w0X%zhD}*Imrkr&soHz>FUR4FclZk#8Fw>oeyql||8@EWpeYQVu6{1- HoD!M<-!?VF diff --git a/examples/general/config-array/style.less b/examples/general/config-array/style.less deleted file mode 100644 index 6eda1495fd..0000000000 --- a/examples/general/config-array/style.less +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: url(pixels.png); -} diff --git a/examples/general/config-array/svg.svg b/examples/general/config-array/svg.svg deleted file mode 100644 index 33350a7f82..0000000000 --- a/examples/general/config-array/svg.svg +++ /dev/null @@ -1,33 +0,0 @@ - - SVG Logo - - - - - - - - - - - - - - - - - - - - - - - - SVG - - - - - - - diff --git a/examples/general/config-array/webpack.config.js b/examples/general/config-array/webpack.config.js deleted file mode 100644 index 9a0408dbda..0000000000 --- a/examples/general/config-array/webpack.config.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -const webpack = require('webpack'); -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = [ - setup({ - context: __dirname, - entry: './app.js', - module: { - rules: [ - { - test: /\.less$/, - use: [ - 'style-loader', - 'css-loader', - 'less-loader' - ] - }, - { - test: /\.png$/, - loader: 'file-loader', - options: { prefix: 'img/' } - } - ] - } - }), - setup({ - context: __dirname, - entry: './app.js', - output: { - filename: 'bundle2.js' - }, - module: { - rules: [ - { - test: /\.less$/, - use: [ - 'style-loader', - 'css-loader', - 'less-loader' - ] - }, - { - test: /\.png$/, - loader: 'url-loader', - options: { limit: 100000 } - } - ] - }, - plugins: [ - new webpack.optimize.UglifyJsPlugin() - ] - }) -]; diff --git a/examples/general/config-promise/README.md b/examples/general/config-promise/README.md deleted file mode 100644 index 8e716e3821..0000000000 --- a/examples/general/config-promise/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# General: Promise-Based Webpack Config - -This example demonstrates using `webpack-dev-server` with a `webpack` config that -returns a `Promise`. - -```console -npm run webpack-dev-server -- --open -``` - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. diff --git a/examples/general/config-promise/app.js b/examples/general/config-promise/app.js deleted file mode 100644 index 4d6c3e3643..0000000000 --- a/examples/general/config-promise/app.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// Change the following line and save to see the compilation status - -document.write('It works!'); diff --git a/examples/general/config-promise/index.html b/examples/general/config-promise/index.html deleted file mode 100644 index 2048f209a7..0000000000 --- a/examples/general/config-promise/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - Promise Config Example - - - -

Example: Promise Config

- - diff --git a/examples/general/config-promise/webpack.config.js b/examples/general/config-promise/webpack.config.js deleted file mode 100644 index 7f5f3e900b..0000000000 --- a/examples/general/config-promise/webpack.config.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = new Promise(((resolve) => { - resolve(setup({ - context: __dirname, - entry: './app.js', - devServer: { - } - })); -})); diff --git a/examples/general/proxy-advanced/README.md b/examples/general/proxy-advanced/README.md deleted file mode 100644 index d4c43db420..0000000000 --- a/examples/general/proxy-advanced/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# General: Proxy Advanced - -This example demonstrates a user case whereby the app proxies all urls that start with `/api` to -`http://jsonplaceholder.typicode.com/`, but removes `/api` from the url. So -`http://localhost:8080/api/users` should perform a request to -`http://jsonplaceholder.typicode.com/users`. - -```console -npm run webpack-dev-server -- --open -``` - -## What should happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. Navigate to `http://localhost:8080/api/users`. -4. The page should display several JSON objects. -5. Navigate to `http://localhost:8080/api/nope`. -6. The page should display `Bypassed proxy!``. diff --git a/examples/general/proxy-advanced/app.js b/examples/general/proxy-advanced/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/general/proxy-advanced/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/general/proxy-advanced/bypass.html b/examples/general/proxy-advanced/bypass.html deleted file mode 100644 index 4de2719156..0000000000 --- a/examples/general/proxy-advanced/bypass.html +++ /dev/null @@ -1,8 +0,0 @@ - - - -

Example: proxy advanced

- - Bypassed proxy! - - diff --git a/examples/general/proxy-advanced/webpack.config.js b/examples/general/proxy-advanced/webpack.config.js deleted file mode 100644 index 37dd071360..0000000000 --- a/examples/general/proxy-advanced/webpack.config.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - devServer: { - proxy: { - '/api': { - target: 'http://jsonplaceholder.typicode.com/', - changeOrigin: true, - pathRewrite: { - '^/api': '' - }, - bypass(req) { - if (req.url === '/api/nope') { - return '/bypass.html'; - } - } - } - } - } -}); diff --git a/examples/general/proxy-hot-reload/README.md b/examples/general/proxy-hot-reload/README.md deleted file mode 100644 index bde2225169..0000000000 --- a/examples/general/proxy-hot-reload/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# General: Proxy Hot Reload - -```shell -npm run webpack-dev-server -- --open -``` - -Enables hot reloading for proxy config. If function is provided instead of -object, dev server calls it on each request to get proxy config and replaces proxy middleware if config was changed. - -## What should happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. Navigate to `http://localhost:8080/api/users`. -4. The page should display several JSON objects. - -While the server is running, open `proxy-config.js` and replace the following: - -```js -module.exports = { - target: 'http://jsonplaceholder.typicode.com/', - pathRewrite: { - '^/api': '' - } -}; -``` - -with: - -```js -module.exports = { - target: 'http://reqres.in/' -}; -``` - -A request to `http://localhost:8080/api/users` should return a response from `http://reqres.in/`. diff --git a/examples/general/proxy-hot-reload/app.js b/examples/general/proxy-hot-reload/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/general/proxy-hot-reload/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/general/proxy-hot-reload/proxy-config.js b/examples/general/proxy-hot-reload/proxy-config.js deleted file mode 100644 index 5d6765a517..0000000000 --- a/examples/general/proxy-hot-reload/proxy-config.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -/**/ -module.exports = { - target: 'http://jsonplaceholder.typicode.com/', - pathRewrite: { - '^/api': '' - } -}; -/**/ - -// -// Replace it with following and save the file: -// - -/** / -module.exports = { - target: 'http://reqres.in/' -}; -/**/ diff --git a/examples/general/proxy-hot-reload/webpack.config.js b/examples/general/proxy-hot-reload/webpack.config.js deleted file mode 100644 index db7f6b14da..0000000000 --- a/examples/general/proxy-hot-reload/webpack.config.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -/* eslint global-require: off */ -const fs = require('fs'); -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); -const proxyConfig = require('./proxy-config'); - -let proxyOptions = { - context: '/api', - target: proxyConfig.target, - pathRewrite: proxyConfig.pathRewrite, - changeOrigin: true -}; - -fs.watch('./proxy-config.js', () => { - delete require.cache[require.resolve('./proxy-config')]; - try { - const newProxyConfig = require('./proxy-config'); - if (proxyOptions.target !== newProxyConfig.target) { - console.log('Proxy target changed:', newProxyConfig.target); - proxyOptions = { - context: '/api', - target: newProxyConfig.target, - pathRewrite: newProxyConfig.pathRewrite, - changeOrigin: true - }; - } - } catch (e) { - // eslint-disable-line - } -}); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - devServer: { - proxy: [ - function proxy() { - return proxyOptions; - } - ] - } -}); diff --git a/examples/general/proxy-simple/README.md b/examples/general/proxy-simple/README.md deleted file mode 100644 index 96e4bacacd..0000000000 --- a/examples/general/proxy-simple/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# General: Simple Proxy - -```console -npm run webpack-dev-server -- --open -``` - -In `webpack.config.js` there is a very simple configuration for a proxy. Note that this only works when proxying to a direct ip address. See the proxy-advanced example if you want to proxy to a domain. - -## What Should Happen - -1. The script should open `http://localhost:8080/` in your default browser. -2. You should see the text on the page itself change to read `Success!`. -3. Navigate to `http://localhost:8080/api/hey`. -4. Since the proxy target does not actually exist, the console/terminal should -display an error that reads -`[HPM] PROXY ERROR: ECONNREFUSED. localhost -> http://127.0.0.1:50545/api/hey`. diff --git a/examples/general/proxy-simple/app.js b/examples/general/proxy-simple/app.js deleted file mode 100644 index ae384858b9..0000000000 --- a/examples/general/proxy-simple/app.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -const target = document.querySelector('#target'); - -target.classList.add('pass'); -target.innerHTML = 'Success!'; diff --git a/examples/general/proxy-simple/webpack.config.js b/examples/general/proxy-simple/webpack.config.js deleted file mode 100644 index cd56263c60..0000000000 --- a/examples/general/proxy-simple/webpack.config.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = setup({ - context: __dirname, - entry: './app.js', - devServer: { - proxy: { - '/api': 'http://127.0.0.1:50545' - } - } -}); diff --git a/examples/general/webworker/README.md b/examples/general/webworker/README.md deleted file mode 100644 index a57e958cfc..0000000000 --- a/examples/general/webworker/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# General: WebWorker - -This example demonstrates using a WebWorker within an app run by `webpack-dev-server`. - -```console -npm run webpack-dev-server -``` - -## What should happen - -1. The main thread sends a message to the Worker. -2. The worker outputs the message in the console. -3. The worker sends a message back to the main thread. -4. The main thread posts the message in the console. - -No error, warning or other log traces should be in the console. diff --git a/examples/general/webworker/web.js b/examples/general/webworker/web.js deleted file mode 100644 index bc2a2d3a68..0000000000 --- a/examples/general/webworker/web.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -/* eslint-env browser */ - -const worker = new Worker('worker.bundle.js'); -worker.onmessage = function onMessage(e) { - console.log('[MAIN]', e); -}; -worker.postMessage({ - hello: 111 -}); diff --git a/examples/general/webworker/webpack.config.js b/examples/general/webworker/webpack.config.js deleted file mode 100644 index 9e4392bdd3..0000000000 --- a/examples/general/webworker/webpack.config.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -// our setup function adds behind-the-scenes bits to the config that all of our -// examples need -const { setup } = require('../../util'); - -module.exports = [ - setup({ - devtool: 'source-map', - target: 'web', - entry: './web.js' - }), - { - devtool: 'source-map', - target: 'webworker', - entry: './worker.js', - output: { - filename: 'worker.bundle.js', - path: __dirname - } - } -]; diff --git a/examples/general/webworker/worker.js b/examples/general/webworker/worker.js deleted file mode 100644 index 23a0791b1d..0000000000 --- a/examples/general/webworker/worker.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -/* eslint-env worker */ - -self.onmessage = function onMessage(e) { - console.log('[WORKER]', e); - self.postMessage({ - hello: 222 - }); -}; diff --git a/examples/util.js b/examples/util.js deleted file mode 100644 index ec7ffc176c..0000000000 --- a/examples/util.js +++ /dev/null @@ -1,76 +0,0 @@ -'use strict'; - -/* eslint-disable import/no-extraneous-dependencies */ - -const fs = require('fs'); -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const marked = require('marked'); -const webpack = require('webpack'); - -module.exports = { - setup(config) { - const defaults = { mode: 'development', plugins: [], devServer: {} }; - const result = Object.assign(defaults, config); - const before = function before(app) { - app.get('/.assets/*', (req, res) => { - const filename = path.join(__dirname, '/', req.path); - res.sendFile(filename); - }); - }; - const renderer = new marked.Renderer(); - const heading = renderer.heading; - const markedOptions = { - gfm: true, - tables: true, - breaks: false, - pedantic: false, - sanitize: false, - sanitizer: null, - mangle: true, - smartLists: false, - silent: false, - langPrefix: 'lang-', - smartypants: false, - headerPrefix: '', - renderer, - xhtml: false - }; - const readme = fs.readFileSync('README.md', 'utf-8'); - - let exampleTitle = ''; - - renderer.heading = function headingProxy(text, level, raw) { - if (level === 1 && !exampleTitle) { - exampleTitle = text; - } - - return heading.call(this, text, level, raw); - }; - - marked.setOptions(markedOptions); - - marked(readme, { renderer }); - - result.plugins.push(new webpack.NamedModulesPlugin()); - result.plugins.push(new HtmlWebpackPlugin({ - filename: 'index.html', - template: path.join(__dirname, '.assets/layout.html'), - title: exampleTitle - })); - - if (result.devServer.before) { - const proxy = result.devServer.before; - result.devServer.before = function replace(app) { - before(app); - proxy(app); - }; - } else { - result.devServer.before = before; - } - - result.output = { path: path.dirname(module.parent.filename) }; - - return result; - } -}; diff --git a/package.json b/package.json index 9596abf62f..970081ac27 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,7 @@ "transpile:index": "babel client-src/default --out-dir client --ignore *.config.js", "build:index": "webpack ./client-src/default/index.js -o client/index.bundle.js --color --config client-src/default/webpack.config.js", "build:live": "webpack ./client-src/live/index.js -o client/live.bundle.js --color --config client-src/live/webpack.config.js", - "build:sockjs": "webpack ./client-src/sockjs/index.js -o client/sockjs.bundle.js --color --config client-src/sockjs/webpack.config.js", - "webpack-dev-server": "cd $INIT_CWD && node ../../../bin/webpack-dev-server.js" + "build:sockjs": "webpack ./client-src/sockjs/index.js -o client/sockjs.bundle.js --color --config client-src/sockjs/webpack.config.js" }, "files": [ "lib/",