You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemmionic5/Mohem/node_modules_/webpack-subresource-integrity/examples
ashwaq 66795daf5e add missing files 6 years ago
..
basic add missing files 6 years ago
chunk-name-dashes add missing files 6 years ago
circular-dependencies add missing files 6 years ago
disabled add missing files 6 years ago
etp-content-hash add missing files 6 years ago
etp-path-join add missing files 6 years ago
hwp-custom-template add missing files 6 years ago
hwp-integrity-attributes add missing files 6 years ago
hwp-output-parent-dir add missing files 6 years ago
hwp-public-path add missing files 6 years ago
hwp-subdirectories add missing files 6 years ago
mini-css-extract-plugin add missing files 6 years ago
multiple-common-chunks add missing files 6 years ago
mutually-dependent-chunks add missing files 6 years ago
no-error-invalid-config add missing files 6 years ago
no-warn-filename add missing files 6 years ago
plugin-order-sri-uglify add missing files 6 years ago
plugin-order-uglify-sri add missing files 6 years ago
warn-checksum add missing files 6 years ago
warn-hot-reload add missing files 6 years ago
webpack4-contenthash add missing files 6 years ago
webpack4-contenthash-issue-83 add missing files 6 years ago
README.md add missing files 6 years ago

README.md

Examples / Test Cases

This folder contains a number of test cases which can also serve as usage examples.

Each folder contains a bog-standard Webpack project and an optional file test.js for more intricate tests.

Adding a Test Case

In order to create a new test case, it's probably best to start by copying an existing example. Simply copy the directory to a new name, then edit README.md, webpack.config.js and optionally test.js. You can run all examples using yarn mocha, or a specific example using yarn mocha --grep 'titlehere'.

The simplest kind of example is an end-to-end test. This is just a vanilla Webpack project: a webpack.config.js and any files that you want to bundle. To pass a test, such an example should provide an index.html and use console.log somewhere to output ok when loaded in a web browser. To fail, it should output error. (If it doesn't output either ok or error it will time out.)

However, end-to-end tests are also the slowest performing and aren't well suited to examining the Webpack build output. For your case it might be better to add a file test.js with contents as follows:

  • For examining only webpack build output, export a function check with one argument stats:

    module.exports.check = function check(stats) {
    }
    

    The function should examine stats and throw in case of error. It can also return a promise.

  • For examining Webpack build output with a web server serving the output spun up, add another argument url:

    module.exports.check = function check(stats, url) {
    }
    
  • If you want a Puppeteer browser instance, add yet another argument browser. Your tests will be skipped on Node versions < 6.4.

    module.exports.check = function check(stats, url, browser) {
    }
    
  • You can export a function skip if you want to skip the test conditionally. The function should return a truthy value when the test should be skipped.

Reference

Any sub-directories of this directory are processed as follows:

Each sub-directory should contain a file called webpack.config.js which exports a standard Webpack configuration as default.

It can optionally contain a file called test.js with the following exports:

  • check: a function that will be invoked after Webpack compilation finishes successfully. It should return a Promise that resolves if the test succeeds and rejects if it fails. Synchronous tests can also return a non-promise value or throw.

    The function can receive between zero and three arguments. The first argument, if needed, is the stats object that the Webpack compilation returns. The second argument, if needed, is the URL of a web server hosting the results of the Webpack compilation. The third argument, if needed, is a Puppeteer browser instance.

    If the function accepts all three arguments, it will only run on Node >= 6.4 since that is the minimum requirement of Puppeteer. Therefore, don't specify the third argument if you don't need it so that your test can run on Node 4.

    The web server will only be spun up if the function accepts two arguments or more. Therefore, don't specify the second argument if you don't need it so that your test runs faster.

    If the check export is not present (or the whole test.js file is missing), a default check will be run. The default check ensures that there were no compilation errors, then loads index.html with Puppeteer and waits for it to log either ok or error to the console.

  • skip: a function that, if present, will be invoked without arguments. Its return code determines whether the test should be skipped (truthy return value means to skip the test, falsey means to run it.)