+- [Installation](./installation/)
- [Guides](./guides/)
- [Getting Started](./guides/getting-started.md)
- [Common Tips](guides/common-tips.md)
- [Mouse, Key and other DOM Events](guides/dom-events.md)
- - [Choosing a test runner](guides/choosing-a-test-runner.md)
- - [Testing Single-File Components with Jest](guides/testing-single-file-components-with-jest.md)
- - [Testing Single-File Components with Mocha + webpack](guides/testing-single-file-components-with-mocha-webpack.md)
- - [Testing Single-File Components with Karma](guides/testing-single-file-components-with-karma.md)
- - [Testing in Node.js Without a Build Step](guides/usage-without-a-build-step-node.md)
- [Testing Asynchronous Behavior](guides/testing-async-components.md)
- [Using with TypeScript](guides/using-with-typescript.md)
- [Using with Vue Router](guides/using-with-vue-router.md)
diff --git a/docs/guides/README.md b/docs/guides/README.md
index 1792ea228..6953194d5 100644
--- a/docs/guides/README.md
+++ b/docs/guides/README.md
@@ -3,11 +3,6 @@
!!!include(docs/guides/getting-started.md)!!!
!!!include(docs/guides/common-tips.md)!!!
!!!include(docs/guides/dom-events.md)!!!
-!!!include(docs/guides/choosing-a-test-runner.md)!!!
-!!!include(docs/guides/testing-single-file-components-with-jest.md)!!!
-!!!include(docs/guides/testing-single-file-components-with-mocha-webpack.md)!!!
-!!!include(docs/guides/testing-single-file-components-with-karma.md)!!!
-!!!include(docs/guides/usage-without-a-build-step-node.md)!!!
!!!include(docs/guides/testing-async-components.md)!!!
!!!include(docs/guides/using-with-typescript.md)!!!
!!!include(docs/guides/using-with-vue-router.md)!!!
diff --git a/docs/guides/choosing-a-test-runner.md b/docs/guides/choosing-a-test-runner.md
deleted file mode 100644
index a3b8d5497..000000000
--- a/docs/guides/choosing-a-test-runner.md
+++ /dev/null
@@ -1,48 +0,0 @@
-## Choosing a test runner
-
-A test runner is a program that runs tests.
-
-There are many popular JavaScript test runners, and Vue Test Utils works with all of them. It's test runner agnostic.
-
-There are a few things to consider when choosing a test runner though: feature set, performance, and support for single-file component (SFC) pre-compilation. After carefully comparing existing libraries, here are two test runners that we recommend:
-
-- [Jest](https://jestjs.io/docs/en/getting-started#content) is the most fully featured test runner. It requires the least configuration, sets up JSDOM by default, provides built-in assertions, and has a great command line user experience. However, you will need a preprocessor to be able to import SFC components in your tests. We have created the `vue-jest` preprocessor which can handle most common SFC features, but it currently does not have 100% feature parity with `vue-loader`. Jest also supports watch mode and watchAll.
-
-- [mocha-webpack](https://github.com/zinserjan/mocha-webpack) is a wrapper around webpack + Mocha, but with a more streamlined interface and watch mode. The benefits of this setup is that we can get complete SFC support via webpack + `vue-loader`, but it requires more configuration upfront.
-
-### Browser Environment
-
-Vue Test Utils relies on a browser environment. Technically you can run it in a real browser, but it's not recommended due to the complexity of launching real browsers on different platforms. Instead, we recommend running the tests in Node with a virtual browser environment using [JSDOM](https://github.com/tmpvar/jsdom).
-
-The Jest test runner sets up JSDOM automatically. For other test runners, you can manually set up JSDOM for the tests using [jsdom-global](https://github.com/rstacruz/jsdom-global) in the entry for your tests:
-
-```bash
-npm install --save-dev jsdom jsdom-global
-```
-
----
-
-```js
-// in test setup / entry
-require('jsdom-global')()
-```
-
-### Testing Single-File Components
-
-Single-file Vue components (SFCs) require pre-compilation before they can be run in Node or in the browser. There are two recommended ways to perform the compilation: with a Jest preprocessor, or directly use webpack.
-
-The `vue-jest` preprocessor supports basic SFC functionalities, but currently does not handle style blocks or custom blocks, which are only supported in `vue-loader`. If you rely on these features or other webpack-specific configurations, you will need to use a webpack + `vue-loader` based setup.
-
-Read the following guides for different setups:
-
-- [Testing Single-File Components with Jest](./testing-single-file-components-with-jest.md)
-- [Testing Single-File Components with Mocha + webpack](./testing-single-file-components-with-mocha-webpack.md)
-
-### Resources
-
-- [Test runner performance comparison](https://github.com/eddyerburgh/vue-unit-test-perf-comparison)
-- [Example project with Jest](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-unit-jest)
-- [Example project with Mocha](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-unit-mocha)
-- [Example project with tape](https://github.com/eddyerburgh/vue-test-utils-tape-example)
-- [Example project with AVA](https://github.com/eddyerburgh/vue-test-utils-ava-example)
-- [tyu - Delightful web testing by egoist](https://github.com/egoist/tyu)
diff --git a/docs/guides/getting-started.md b/docs/guides/getting-started.md
index 96d37dfea..c4f69e49f 100644
--- a/docs/guides/getting-started.md
+++ b/docs/guides/getting-started.md
@@ -4,56 +4,9 @@
### Setup
-To get a quick taste of using Vue Test Utils, clone our demo repository with basic setup and install the dependencies:
+If you already have a project that was created with the [Vue CLI](https://cli.vuejs.org/), you might want to add and configure the [core Jest plugin](https://cli.vuejs.org/core-plugins/unit-jest.html) or the [core Mocha plugin](https://cli.vuejs.org/core-plugins/unit-mocha.html).
-```bash
-git clone https://github.com/vuejs/vue-test-utils-getting-started
-cd vue-test-utils-getting-started
-npm install
-```
-
-If you already have a project that was created with the [Vue CLI](https://cli.vuejs.org/) and want to add testing capabilities you may run:
-
-```bash
-# unit testing
-vue add @vue/unit-jest
-
-# or:
-vue add @vue/unit-mocha
-
-# end-to-end
-vue add @vue/e2e-cypress
-
-# or:
-vue add @vue/e2e-nightwatch
-```
-
-You will see that the project includes a simple component, `counter.js`:
-
-```js
-// counter.js
-
-export default {
- template: `
-
- {{ count }}
-
-
- `,
-
- data() {
- return {
- count: 0
- }
- },
-
- methods: {
- increment() {
- this.count++
- }
- }
-}
-```
+If needed, check out the [Installation guides](../installation/README.md) for further details.
### Mounting Components
diff --git a/docs/guides/testing-single-file-components-with-jest.md b/docs/guides/testing-single-file-components-with-jest.md
deleted file mode 100644
index 7c31a8cab..000000000
--- a/docs/guides/testing-single-file-components-with-jest.md
+++ /dev/null
@@ -1,219 +0,0 @@
-## Testing Single-File Components with Jest
-
-> An example project for this setup is available on [GitHub](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-unit-jest).
-
-Jest is a test runner developed by Facebook, aiming to deliver a battery-included unit testing solution. You can learn more about Jest on its [official documentation](https://jestjs.io/).
-
-
-
-#### Setting up Jest
-
-We will assume you are starting with a setup that already has webpack, vue-loader and Babel properly configured - e.g. the `webpack-simple` template scaffolded by `vue-cli`.
-
-> Alternatively, if you are using the Vue CLI to build your project, you can use the plugin [cli-plugin-unit-jest](https://cli.vuejs.org/core-plugins/unit-jest.html#injected-commands) to run Jest tests.
->
-> Skip to and then follow the instructions from [Processing Single-File Components in Jest](#processing-single-file-components-in-jest) to process your Vue Single-File Components.
->
-> If you are transpiling with Babel (the default configuration when creating a new project), you will also need to add the JavaScript transform to the Jest config in your package.json as described in the section [Configuring Babel for Jest](#configuring-babel-for-fest), but then you should skip the rest of that section.
-
-The first thing to do is install Jest and Vue Test Utils:
-
-```bash
-$ npm install --save-dev jest @vue/test-utils
-```
-
-Next we need to define a test script in our `package.json`.
-
-```json
-// package.json
-{
- "scripts": {
- "test": "jest"
- }
-}
-```
-
-### Processing Single-File Components in Jest
-
-To teach Jest how to process `*.vue` files, we will need to install and configure the `vue-jest` preprocessor:
-
-```bash
-npm install --save-dev vue-jest
-```
-
-Next, create a `jest` block in `package.json`:
-
-```json
-{
- // ...
- "jest": {
- "moduleFileExtensions": [
- "js",
- "json",
- // tell Jest to handle `*.vue` files
- "vue"
- ],
- "transform": {
- // process `*.vue` files with `vue-jest`
- ".*\\.(vue)$": "vue-jest"
- }
- }
-}
-```
-
-> **Note:** `vue-jest` currently does not support all the features of `vue-loader`, for example custom block support and style loading. In addition, some webpack-specific features such as code-splitting are not supported either. To use these unsupported features, you need to use Mocha instead of Jest to run your tests, and webpack to compile your components. To get started, read the guide on [testing SFCs with Mocha + webpack](./testing-single-file-components-with-mocha-webpack.md).
-
-> **Note:** If you are using Babel 7 or higher, you will need to add [babel-bridge](https://github.com/babel/babel-bridge) to your devDependencies (`$ npm install --save-dev babel-core@^7.0.0-bridge.0`).
-
-### Handling webpack Aliases
-
-If you use a resolve alias in the webpack config, e.g. aliasing `@` to `/src`, you need to add a matching config for Jest as well, using the `moduleNameMapper` option:
-
-```json
-{
- // ...
- "jest": {
- // ...
- // support the same @ -> src alias mapping in source code
- "moduleNameMapper": {
- "^@/(.*)$": "/src/$1"
- }
- }
-}
-```
-
-### Configuring Babel for Jest
-
-
-
-Although latest versions of Node already supports most ES2015 features, you may still want to use ES modules syntax and stage-x features in your tests. For that we need to install `babel-jest`:
-
-```bash
-npm install --save-dev babel-jest
-```
-
-Next, we need to tell Jest to process JavaScript test files with `babel-jest` by adding an entry under `jest.transform` in `package.json`:
-
-```json
-{
- // ...
- "jest": {
- // ...
- "transform": {
- // ...
- // process js with `babel-jest`
- "^.+\\.js$": "/node_modules/babel-jest"
- }
- // ...
- }
-}
-```
-
-> By default, `babel-jest` automatically configures itself as long as it's installed. However, because we have explicitly added a transform for `*.vue` files, we now need to explicitly configure `babel-jest` as well.
-
-Assuming using `babel-preset-env` with webpack, the default Babel config disables ES modules transpilation because webpack already knows how to handle ES modules. However, we do need to enable it for our tests because Jest tests run directly in Node.
-
-Also, we can tell `babel-preset-env` to target the Node version we are using. This skips transpiling unnecessary features and makes our tests boot faster.
-
-To apply these options only for tests, put them in a separate config under `env.test` (this will be automatically picked up by `babel-jest`).
-
-Example `.babelrc`:
-
-```json
-{
- "presets": [["env", { "modules": false }]],
- "env": {
- "test": {
- "presets": [["env", { "targets": { "node": "current" } }]]
- }
- }
-}
-```
-
-### Placing Test Files
-
-By default, Jest will recursively pick up all files that have a `.spec.js` or `.test.js` extension in the entire project. If this does not fit your needs, it's possible [to change the `testRegex`](https://jestjs.io/docs/en/configuration#testregex-string-array-string) in the config section in the `package.json` file.
-
-Jest recommends creating a `__tests__` directory right next to the code being tested, but feel free to structure your tests as you see fit. Just beware that Jest would create a `__snapshots__` directory next to test files that performs snapshot testing.
-
-### Coverage
-
-Jest can be used to generate coverage reports in multiple formats. The following is a simple example to get started with:
-
-Extend your `jest` config (usually in `package.json` or `jest.config.js`) with the [`collectCoverage`](https://jestjs.io/docs/en/configuration#collectcoverage-boolean) option, and then add the [`collectCoverageFrom`](https://jestjs.io/docs/en/configuration#collectcoveragefrom-array) array to define the files for which coverage information should be collected.
-
-```json
-{
- "jest": {
- // ...
- "collectCoverage": true,
- "collectCoverageFrom": ["**/*.{js,vue}", "!**/node_modules/**"]
- }
-}
-```
-
-This will enable coverage reports with the [default coverage reporters](https://jestjs.io/docs/en/configuration#coveragereporters-array-string). You can customise these with the `coverageReporters` option:
-
-```json
-{
- "jest": {
- // ...
- "coverageReporters": ["html", "text-summary"]
- }
-}
-```
-
-Further documentation can be found in the [Jest configuration documentation](https://jestjs.io/docs/en/configuration#collectcoverage-boolean), where you can find options for coverage thresholds, target output directories, etc.
-
-### Example Spec
-
-If you are familiar with Jasmine, you should feel right at home with Jest's [assertion API](https://jestjs.io/docs/en/expect#content):
-
-```js
-import { mount } from '@vue/test-utils'
-import Component from './component'
-
-describe('Component', () => {
- test('is a Vue instance', () => {
- const wrapper = mount(Component)
- expect(wrapper.isVueInstance()).toBeTruthy()
- })
-})
-```
-
-### Snapshot Testing
-
-When you mount a component with Vue Test Utils, you get access to the root HTML element. This can be saved as a snapshot for [Jest snapshot testing](https://jestjs.io/docs/en/snapshot-testing):
-
-```js
-test('renders correctly', () => {
- const wrapper = mount(Component)
- expect(wrapper.element).toMatchSnapshot()
-})
-```
-
-We can improve the saved snapshot with a custom serializer:
-
-```bash
-npm install --save-dev jest-serializer-vue
-```
-
-Then configure it in `package.json`:
-
-```json
-{
- // ...
- "jest": {
- // ...
- // serializer for snapshots
- "snapshotSerializers": ["jest-serializer-vue"]
- }
-}
-```
-
-### Resources
-
-- [Example project for this setup](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-unit-jest)
-- [Examples and slides from Vue Conf 2017](https://github.com/codebryo/vue-testing-with-jest-conf17)
-- [Jest](https://jestjs.io/)
-- [Babel preset env](https://github.com/babel/babel-preset-env)
diff --git a/docs/guides/testing-single-file-components-with-karma.md b/docs/guides/testing-single-file-components-with-karma.md
deleted file mode 100644
index fafbc1145..000000000
--- a/docs/guides/testing-single-file-components-with-karma.md
+++ /dev/null
@@ -1,194 +0,0 @@
-## Testing Single-File Components with Karma
-
-> An example project for this setup is available on [GitHub](https://github.com/eddyerburgh/vue-test-utils-karma-example).
-
-Karma is a test runner that launches browsers, runs tests, and reports them back to us. We're going to use the Mocha framework to write the tests. We'll use the chai library for test assertions.
-
-### Setting up Mocha
-
-We will assume you are starting with a setup that already has webpack, vue-loader and Babel properly configured - e.g. the `webpack-simple` template scaffolded by `vue-cli`.
-
-The first thing to do is install the test dependencies:
-
-```bash
-npm install --save-dev @vue/test-utils karma karma-chrome-launcher karma-mocha karma-sourcemap-loader karma-spec-reporter karma-webpack mocha
-```
-
-Next we need to define a test script in our `package.json`.
-
-```json
-// package.json
-{
- "scripts": {
- "test": "karma start --single-run"
- }
-}
-```
-
-- The `--single-run` flag tells Karma to run the test suite once.
-
-### Karma Configuration
-
-Create a `karma.conf.js` file in the index of the project:
-
-```js
-// karma.conf.js
-
-var webpackConfig = require('./webpack.config.js')
-
-module.exports = function(config) {
- config.set({
- frameworks: ['mocha'],
-
- files: ['test/**/*.spec.js'],
-
- preprocessors: {
- '**/*.spec.js': ['webpack', 'sourcemap']
- },
-
- webpack: webpackConfig,
-
- reporters: ['spec'],
-
- browsers: ['Chrome']
- })
-}
-```
-
-This file is used to configure Karma.
-
-We need to preprocess our files with webpack. to do that, we add webpack as a preprocessor, and include our webpack config. We can use the webpack config file in the base of the project without changing anything.
-
-In our configuration, we run the tests in Chrome. To add extra browsers, see [the Browsers section in the Karma docs](http://karma-runner.github.io/3.0/config/browsers.html).
-
-### Picking an Assertion Library
-
-[Chai](http://chaijs.com/) is a popular assertion library that is commonly used alongside Mocha. You may also want to check out [Sinon](http://sinonjs.org/) for creating spies and stubs.
-
-We can install the `karma-chai` plugin to use `chai` in our tests.
-
-```bash
-npm install --save-dev karma-chai
-```
-
-### Adding a test
-
-Create a file in `src` named `Counter.vue`:
-
-```html
-
-
- {{ count }}
-
-
-
-
-
-```
-
-And create a test file named `test/Counter.spec.js` with the following code:
-
-```js
-import { expect } from 'chai'
-import { shallowMount } from '@vue/test-utils'
-import Counter from '../src/Counter.vue'
-
-describe('Counter.vue', () => {
- it('increments count when button is clicked', () => {
- const wrapper = shallowMount(Counter)
- wrapper.find('button').trigger('click')
- expect(wrapper.find('div').text()).contains('1')
- })
-})
-```
-
-And now we can run the tests:
-
-```
-npm run test
-```
-
-Woohoo, we got our tests running!
-
-### Coverage
-
-To setup code coverage to Karma, we can use the `karma-coverage` plugin.
-
-By default, `karma-coverage` won't use source maps to map the coverage reports. So we need to use `babel-plugin-istanbul` to make sure the coverage is mapped correctly.
-
-Install `karma-coverage`, `babel-plugin-istanbul`, and `cross-env`:
-
-```
-npm install --save-dev karma-coverage cross-env
-```
-
-We're going to use `cross-env` to set a `NODE_ENV` environment variable. This way we can use `babel-plugin-istanbul` when we're compiling for our tests—we don't want to include `babel-plugin-istanbul` when we compile our production code:
-
-```
-npm install --save-dev babel-plugin-istanbul
-```
-
-Update your `.babelrc` file to use `babel-plugin-istanbul` when `NODE_ENV` is set to test:
-
-```json
-{
- "presets": [["env", { "modules": false }], "stage-3"],
- "env": {
- "test": {
- "plugins": ["istanbul"]
- }
- }
-}
-```
-
-Now update the `karma.conf.js` file to use coverage. Add `coverage` to the `reporters` array, and add a `coverageReporter` field:
-
-```js
-// karma.conf.js
-
-module.exports = function(config) {
- config.set({
- // ...
-
- reporters: ['spec', 'coverage'],
-
- coverageReporter: {
- dir: './coverage',
- reporters: [{ type: 'lcov', subdir: '.' }, { type: 'text-summary' }]
- }
- })
-}
-```
-
-And update the `test` script to set the `NODE_ENV`:
-
-```json
-// package.json
-{
- "scripts": {
- "test": "cross-env NODE_ENV=test karma start --single-run"
- }
-}
-```
-
-### Resources
-
-- [Example project for this setup](https://github.com/eddyerburgh/vue-test-utils-karma-example)
-- [Karma](http://karma-runner.github.io/)
-- [Mocha](https://mochajs.org/)
-- [Chai](http://chaijs.com/)
-- [Sinon](http://sinonjs.org/)
diff --git a/docs/guides/testing-single-file-components-with-mocha-webpack.md b/docs/guides/testing-single-file-components-with-mocha-webpack.md
deleted file mode 100644
index cee57d924..000000000
--- a/docs/guides/testing-single-file-components-with-mocha-webpack.md
+++ /dev/null
@@ -1,183 +0,0 @@
-## Testing Single-File Components with Mocha + webpack
-
-Another strategy for testing SFCs is compiling all our tests via webpack and then run it in a test runner. The advantage of this approach is that it gives us full support for all webpack and `vue-loader` features, so we don't have to make compromises in our source code.
-
-You can technically use any test runner you like and manually wire things together, but we've found [`mochapack`](https://github.com/sysgears/mochapack) to provide a very streamlined experience for this particular task.
-
-### Setting Up `mochapack`
-
-We will assume you are starting with a setup that already has webpack, vue-loader and Babel properly configured - e.g. the `webpack-simple` template scaffolded by `vue-cli`.
-
-The first thing to do is installing test dependencies:
-
-```bash
-npm install --save-dev @vue/test-utils mocha mochapack
-```
-
-Next we need to define a test script in our `package.json`.
-
-```json
-// package.json
-{
- "scripts": {
- "test": "mochapack --webpack-config webpack.config.js --require test/setup.js test/**/*.spec.js"
- }
-}
-```
-
-A few things to note here:
-
-- The `--webpack-config` flag specifies the webpack config file to use for the tests. In most cases, this would be identical to the config you use for the actual project with one small tweak. We will talk about this later.
-
-- The `--require` flag ensures the file `test/setup.js` is run before any tests, in which we can setup the global environment for our tests to be run in.
-
-- The final argument is a glob for the test files to be included in the test bundle.
-
-### Extra webpack Configuration
-
-#### Externalizing NPM Dependencies
-
-In our tests we will likely import a number of NPM dependencies - some of these modules may be written without browser usage in mind and simply cannot be bundled properly by webpack. Another consideration is externalizing dependencies greatly improves test boot up speed. We can externalize all NPM dependencies with `webpack-node-externals`:
-
-```js
-// webpack.config.js
-const nodeExternals = require('webpack-node-externals')
-
-module.exports = {
- // ...
- externals: [nodeExternals()]
-}
-```
-
-#### Source Maps
-
-Source maps need to be inlined to be picked up by `mochapack`. The recommended config is:
-
-```js
-module.exports = {
- // ...
- devtool: 'inline-cheap-module-source-map'
-}
-```
-
-If debugging via IDE, it's also recommended to add the following:
-
-```js
-module.exports = {
- // ...
- output: {
- // ...
- // use absolute paths in sourcemaps (important for debugging via IDE)
- devtoolModuleFilenameTemplate: '[absolute-resource-path]',
- devtoolFallbackModuleFilenameTemplate: '[absolute-resource-path]?[hash]'
- }
-}
-```
-
-### Setting Up Browser Environment
-
-Vue Test Utils requires a browser environment to run. We can simulate it in Node using `jsdom-global`:
-
-```bash
-npm install --save-dev jsdom jsdom-global
-```
-
-Then in `test/setup.js`:
-
-```js
-require('jsdom-global')()
-```
-
-This adds a browser environment to Node, so that Vue Test Utils can run correctly.
-
-### Picking an Assertion Library
-
-[Chai](http://chaijs.com/) is a popular assertion library that is commonly used alongside Mocha. You may also want to check out [Sinon](http://sinonjs.org/) for creating spies and stubs.
-
-Alternatively you can use `expect` which is now part of Jest, and exposes [the exact same API](https://jestjs.io/docs/en/expect#content) in Jest docs.
-
-We will be using `expect` here and make it globally available so that we don't have to import it in every test:
-
-```bash
-npm install --save-dev expect
-```
-
-Then in `test/setup.js`:
-
-```js
-require('jsdom-global')()
-
-global.expect = require('expect')
-```
-
-### Optimizing Babel for Tests
-
-Notice that we are using `babel-loader` to handle JavaScript. You should already have Babel configured if you are using it in your app via a `.babelrc` file. Here `babel-loader` will automatically use the same config file.
-
-One thing to note is that if you are using Node 6+, which already supports the majority of ES2015 features, you can configure a separate Babel [env option](https://babeljs.io/docs/usage/babelrc/#env-option) that only transpiles features that are not already supported in the Node version you are using (e.g. `stage-2` or flow syntax support, etc.).
-
-### Adding a test
-
-Create a file in `src` named `Counter.vue`:
-
-```html
-
-
- {{ count }}
-
-
-
-
-
-```
-
-And create a test file named `test/Counter.spec.js` with the following code:
-
-```js
-import Vue from 'vue'
-import { shallowMount } from '@vue/test-utils'
-import Counter from '../src/Counter.vue'
-
-describe('Counter.vue', () => {
- it('increments count when button is clicked', async () => {
- const wrapper = shallowMount(Counter)
- wrapper.find('button').trigger('click')
- await Vue.nextTick()
- expect(wrapper.find('div').text()).toMatch('1')
- })
-})
-```
-
-And now we can run the test:
-
-```
-npm run test
-```
-
-Woohoo, we got our tests running!
-
-### Coverage
-
-To setup code coverage to `mochapack`, follow [the `mochapack` code coverage guide](https://github.com/sysgears/mochapack/blob/master/docs/guides/code-coverage.md).
-
-### Resources
-
-- [Mocha](https://mochajs.org/)
-- [mochapack](https://github.com/sysgears/mochapack/)
-- [Chai](http://chaijs.com/)
-- [Sinon](http://sinonjs.org/)
-- [jest/expect](https://jestjs.io/docs/en/expect#content)
diff --git a/docs/guides/usage-without-a-build-step-node.md b/docs/guides/usage-without-a-build-step-node.md
deleted file mode 100644
index 3613183ba..000000000
--- a/docs/guides/usage-without-a-build-step-node.md
+++ /dev/null
@@ -1,55 +0,0 @@
-## Usage Without a Build Step
-
-While it is common to build Vue applications using tools [Webpack](https://webpack.js.org/) to bundle the application, `vue-loader` to leverage Single File Components, and [Jest](https://jestjs.io/) to write expressive tests, it is possible to use Vue Test Utils with much less. The minimal requirements for Vue Test Utils, aside from the library itself are:
-
-- Vue
-- vue-template-compiler
-- a DOM (be it [jsdom](https://github.com/jsdom/jsdom) in a Node environment, or the DOM in a real browser)
-
-In this example, we will demonstrate how to write a simple test using nothing but the minimal dependencies described above. The final code can be found [here](https://github.com/lmiller1990/vue-test-utils-node-basic).
-
-## Installing the Dependencies
-
-We need to install some dependencies, as explained above: `npm install vue vue-template-compiler jsdom jsdom-global @vue/test-utils`. No test runner or bundler is needed for this example.
-
-## Requiring the Libraries
-
-Now we need to require the libraries. There is a slight caveat, explained in a comment, and in depth below the snippet.
-
-```js
-// jsdom-global must be required before vue-test-utils,
-// because vue-test-utils expects a DOM (real DOM, or JSDOM)
-// to exist.
-require('jsdom-global')()
-
-const assert = require('assert')
-
-const Vue = require('vue')
-const VueTestUtils = require('@vue/test-utils')
-```
-
-As the comment says, `jsdom-global` must be required before `@vue/test-utils`. This is because Vue Test Utils expects a DOM to be present to render the Vue components. If you are running the tests in a real browser, you will not need `jsdom` at all. `Vue` must also be required before `@vue/test-utils` for obvious reasons - Vue Test Utils expects to be available, as well. We also require `assert` from the node standard library. Normally we would use the matchers provided by a test runner, often in the format of an `expect(...).toEqual(...)` assertion, but `assert` will serve this purpose for this example.
-
-## Writing a Test
-
-Now everything is set up, all we need is a component and a test. To keep things simple, we will just render some text and assert it is present in the rendered component.
-
-```js
-const App = Vue.component('app', {
- data() {
- return {
- msg: 'Hello Vue Test Utils'
- }
- },
-
- template: `
-
{{ msg }}
- `
-})
-
-const wrapper = VueTestUtils.shallowMount(App)
-
-assert.strictEqual('Hello Vue Test Utils', wrapper.text())
-```
-
-It's as simple as it looks. Since we do not have a build step, we cannot use Single File Components. There is nothing to stop us using Vue in the same style you would when including it from a CDN via a `