|
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 |
| -[](https://app.netlify.com/start/deploy?repository=https://github.com/gatsbyjs/gatsby-starter-hello-world) |
96 |
| -
|
97 |
| -[](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 | + |
| 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 | + |
0 commit comments