Skip to content

Commit b5cd053

Browse files
committed
coverage objects
1 parent bd5e772 commit b5cd053

File tree

6 files changed

+330
-152
lines changed

6 files changed

+330
-152
lines changed

.babelrc

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"plugins": [
3+
[
4+
"babel-plugin-istanbul", {
5+
"include": ["src/**/*.js"]
6+
}
7+
]
8+
],
9+
"presets": [
10+
[
11+
"babel-preset-gatsby",
12+
{
13+
"targets": {
14+
"browsers": [
15+
">0.25%",
16+
"not dead"
17+
]
18+
}
19+
}
20+
]
21+
]
22+
}

README.md

Lines changed: 56 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,56 @@
1-
<!-- AUTO-GENERATED-CONTENT:START (STARTER) -->
2-
<p align="center">
3-
<a href="https://www.gatsbyjs.com">
4-
<img alt="Gatsby" src="https://www.gatsbyjs.com/Gatsby-Monogram.svg" width="60" />
5-
</a>
6-
</p>
7-
<h1 align="center">
8-
Gatsby's hello-world starter
9-
</h1>
10-
11-
Kick off your project with this hello-world boilerplate. This starter ships with the main Gatsby configuration files you might need to get up and running blazing fast with the blazing fast app generator for React.
12-
13-
_Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.com/docs/gatsby-starters/)._
14-
15-
## 🚀 Quick start
16-
17-
1. **Create a Gatsby site.**
18-
19-
Use the Gatsby CLI to create a new site, specifying the hello-world starter.
20-
21-
```shell
22-
# create a new Gatsby site using the hello-world starter
23-
gatsby new my-hello-world-starter https://github.com/gatsbyjs/gatsby-starter-hello-world
24-
```
25-
26-
1. **Start developing.**
27-
28-
Navigate into your new site’s directory and start it up.
29-
30-
```shell
31-
cd my-hello-world-starter/
32-
gatsby develop
33-
```
34-
35-
1. **Open the source code and start editing!**
36-
37-
Your site is now running at `http://localhost:8000`!
38-
39-
_Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.com/tutorial/part-five/#introducing-graphiql)._
40-
41-
Open the `my-hello-world-starter` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time!
42-
43-
## 🧐 What's inside?
44-
45-
A quick look at the top-level files and directories you'll see in a Gatsby project.
46-
47-
.
48-
├── node_modules
49-
├── src
50-
├── .gitignore
51-
├── .prettierrc
52-
├── gatsby-browser.js
53-
├── gatsby-config.js
54-
├── gatsby-node.js
55-
├── gatsby-ssr.js
56-
├── LICENSE
57-
├── package-lock.json
58-
├── package.json
59-
└── README.md
60-
61-
1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.
62-
63-
2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”.
64-
65-
3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
66-
67-
4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent.
68-
69-
5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.
70-
71-
6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail).
72-
73-
7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.
74-
75-
8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.
76-
77-
9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license.
78-
79-
10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).**
80-
81-
11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.
82-
83-
12. **`README.md`**: A text file containing useful reference information about your project.
84-
85-
## 🎓 Learning Gatsby
86-
87-
Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start:
88-
89-
- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
90-
91-
- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.
92-
93-
## 💫 Deploy
94-
95-
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/gatsbyjs/gatsby-starter-hello-world)
96-
97-
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/gatsbyjs/gatsby-starter-hello-world)
98-
99-
<!-- AUTO-GENERATED-CONTENT:END -->
1+
# gatsby-cypress-with-code-coverage
2+
3+
This repository was scaffolded from the official [starter example](https://github.com/gatsbyjs/gatsby-starter-hello-world). Then I have added [babel-plugin-istanbul]() following the [Gatsby Babel documentation](https://github.com/gatsbyjs/gatsby-starter-hello-world)
4+
5+
```
6+
npm i -D babel-preset-gatsby babel-plugin-istanbul
7+
8+
9+
```
10+
11+
The [.babelrc](.babelrc) imports the plugins
12+
13+
```json
14+
{
15+
"plugins": [
16+
[
17+
"babel-plugin-istanbul"
18+
]
19+
],
20+
"presets": [
21+
[
22+
"babel-preset-gatsby",
23+
{
24+
"targets": {
25+
"browsers": [
26+
">0.25%",
27+
"not dead"
28+
]
29+
}
30+
}
31+
]
32+
]
33+
}
34+
```
35+
36+
Immediately you can see the `window.__coverage__` object in the DevTools console
37+
38+
![Coverage object](images/coverage.png)
39+
40+
We do not want `.cache` files in the coverage list, we only want our local `src` files instrumented. We can modify the plugin's settings in `.babelrc` to include only files in the `src` folder.
41+
42+
```json
43+
{
44+
"plugins": [
45+
[
46+
"babel-plugin-istanbul", {
47+
"include": ["src/**/*.js"]
48+
}
49+
]
50+
]
51+
}
52+
```
53+
54+
The `window.__coverage__` object now has a single entry.
55+
56+
![Coverage for src pages only](images/coverage-src.png)

images/coverage-src.png

160 KB
Loading

images/coverage.png

1.18 MB
Loading

0 commit comments

Comments
 (0)