Skip to content

rixo/svelte-hmr-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Svelte HMR Spec

Test suite for Svelte 3 HMR.

The whole project is only the tests. And a cool cli to run them on various targets.

Install

git clone git@github.com:rixo/svelte-hmr-spec.git
cd svelte-hmr-spec
npm install
npm install --global .
cd app
npm install

Usage

See inline help for an up to date description of available cli options:

svhs --help

To run the tests on the default bundled app (which should be last versions of svelte-loader, svelte, everything...):

svhs --default

To run the tests on a custom target, use svhs ./path-to-your-app (defaults to cwd). Example:

git clone https://github.com/rixo/demo-svelte-nollup
cd demo-svelte-nollup
npm install

svhs --watch

Test Apps

The tests expect a basic svelte + webpack (or rollup / nollup) application with HMR enabled. They also expect the app to contain a src/App.svelte file, and a src/main.js file that bootstraps this App component on the document's body.

This is actually the default structure of the webpack template app with some customization to allow for programmatic control of the webpack instance. In particular, the webpack dev server's config must be located in the webpack.config.js file (the contentBase option specifically).

Look at the provided default app for a precise reference of what is expected. My HMR demo app should also be kept in sync to be usable as a test target (so you can start from that if you want to create a custom test target app).