You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/contributing.md
+17-11
Original file line number
Diff line number
Diff line change
@@ -19,10 +19,12 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before
19
19
- Checkout a topic branch from a base branch, e.g. `master`, and merge back against that branch.
20
20
21
21
- If adding a new feature:
22
+
22
23
- Add accompanying test case.
23
24
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
24
25
25
26
- If fixing bug:
27
+
26
28
- If you are resolving a special issue, add `(fix #xxxx[,#xxxx])` (#xxxx is the issue id) in your PR title for a better release log, e.g. `update entities encoding/decoding (fix #3899)`.
27
29
- Provide a detailed description of the bug in the PR. Live demo preferred.
28
30
- Add appropriate test coverage if applicable. You can check the coverage of your code addition by running `yarn test --coverage`.
@@ -41,7 +43,7 @@ You will need [Node.js](http://nodejs.org) **version 10+**, and [Yarn](https://y
41
43
42
44
After cloning the repo, run:
43
45
44
-
```bash
46
+
```bash
45
47
$ yarn # install the dependencies of the project
46
48
```
47
49
@@ -60,7 +62,7 @@ The `build` script builds all public packages (packages without `private: true`
60
62
61
63
Packages to build can be specified with fuzzy matching:
62
64
63
-
```bash
65
+
```bash
64
66
# build runtime-core only
65
67
yarn build runtime-core
66
68
@@ -73,10 +75,12 @@ yarn build runtime --all
73
75
By default, each package will be built in multiple distribution formats as specified in the `buildOptions.formats` field in its `package.json`. These can be overwritten via the `-f` flag. The following formats are supported:
74
76
75
77
-**`global`**:
78
+
76
79
- For direct use via `<script>` in the browser. The global variable exposed is specified via the `buildOptions.name` field in a package's `package.json`.
77
80
- Note: global builds are not [UMD](https://github.com/umdjs/umd) builds. Instead they are built as [IIFEs](https://developer.mozilla.org/en-US/docs/Glossary/IIFE).
78
81
79
82
-**`esm-bundler`**:
83
+
80
84
- Leaves prod/dev branches with `process.env.NODE_ENV` guards (to be replaced by bundler)
81
85
- Does not ship a minified build (to be done together with the rest of the code after bundling)
82
86
- For use with bundlers like `webpack`, `rollup` and `parcel`.
@@ -85,6 +89,7 @@ By default, each package will be built in multiple distribution formats as speci
85
89
- This means you **can** install/import these deps without ending up with different instances of these dependencies
86
90
87
91
-**`esm`**:
92
+
88
93
- For usage via native ES modules imports (in browser via `<script type="module">`, or via Node.js native ES modules support in the future)
89
94
- Inlines all dependencies - i.e. it's a single ES module with no imports from other files
90
95
- This means you **must** import everything from this file and this file only to ensure you are getting the same instance of code.
@@ -96,13 +101,13 @@ By default, each package will be built in multiple distribution formats as speci
96
101
97
102
For example, to build `runtime-core` with the global build only:
98
103
99
-
```bash
104
+
```bash
100
105
yarn build runtime-core -f global
101
106
```
102
107
103
108
Multiple formats can be specified as a comma-separated list:
104
109
105
-
```bash
110
+
```bash
106
111
yarn build runtime-core -f esm,cjs
107
112
```
108
113
@@ -114,15 +119,15 @@ Use the `--sourcemap` or `-s` flag to build with source maps. Note this will mak
114
119
115
120
The `--types` or `-t` flag will generate type declarations during the build and in addition:
116
121
117
-
- Roll the declarations into a single `.dts` file for each package;
122
+
- Roll the declarations into a single `.d.ts` file for each package;
118
123
- Generate an API report in `<projectRoot>/temp/<packageName>.api.md`. This report contains potential warnings emitted by [api-extractor](https://api-extractor.com/).
119
124
- Generate an API model json in `<projectRoot>/temp/<packageName>.api.json`. This file can be used to generate a Markdown version of the exported APIs.
120
125
121
126
### `yarn dev`
122
127
123
128
The `dev` script bundles a target package (default: `vue`) in a specified format (default: `global`) in dev mode and watches for changes. This is useful when you want to load up a build in an HTML page for quick debugging:
124
129
125
-
```bash
130
+
```bash
126
131
$ yarn dev
127
132
128
133
> rollup v1.19.4
@@ -139,7 +144,7 @@ $ yarn dev
139
144
140
145
The `yarn test` script simply calls the `jest` binary, so all [Jest CLI Options](https://jestjs.io/docs/en/cli) can be used. Some examples:
141
146
142
-
```bash
147
+
```bash
143
148
# run all tests
144
149
$ yarn test
145
150
@@ -184,9 +189,11 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set
184
189
185
190
-**Note:** if re-exporting a function from `@vue/shared` as a public API, it is necessary to re-define its type before exporting so that the final `d.ts` doesn't attempt to import `@vue/shared`, e.g.:
186
191
187
-
```ts
192
+
```ts
188
193
import { foo } from'@vue/shared'
189
-
exportconst publicFoo =fooas { /* re-define type */ }
0 commit comments