## 1. Project Overview & Quickstart (eval/README)

# README

:memo:The missing online resume maker

### Repository Details
- **Repository:** [eval/README](https://github.com/eval/README)
- **Primary Language:** JavaScript

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (eval/website)

## File: en/docs/cli/add.md

---
id: docs_cli_add
guide: docs_cli
layout: guide
additional_reading_tags: ["dependencies"]
---

{% include vars.html %}

Installs a package and any packages that it depends on.

### Adding dependencies <a class="toc" id="toc-adding-dependencies" href="#toc-adding-dependencies"></a>

When you want to use another package, you first need to add it to your
dependencies. This means running `yarn add [package-name]` to install it into
your project.

This will also update your `package.json` and your `yarn.lock` so that other
developers working on the project will get the same dependencies as you when
they run `yarn` or `yarn install`.

Most packages will be installed from the [npm registry](https://www.npmjs.com/)
and referred to by simply their package name. For example, `yarn add react`
will install the [`react`](https://www.npmjs.com/package/react) package from
the npm registry.

You can specify versions using one of these:

1. `yarn add package-name` installs the "latest" version of the package.
2. `yarn add package-name@1.2.3` installs a specific version of a package from
  the registry.
3. `yarn add package-name@tag` installs a specific
  ["tag"]({{url_base}}/docs/cli/tag) (i.e. `beta`, `next`, or `latest`).

In general, a package is simply a folder with code and a `package.json` file
that describes the contents. You can refer to a package a number of different
ways:

You can also specify packages from different locations:

1. `yarn add package-name` installs the package from the
  [npm registry](https://www.npmjs.com/) unless you have specified another one
  in your `package.json`.
2. `yarn add file:/path/to/local/folder` installs a package that is on your
  local file system. This is useful to test out other packages of yours that
  haven't been published to the registry.
3. `yarn add file:/path/to/local/tarball.tgz` installs a package from a gzipped
  tarball which could be used to share a package before publishing it.
4. `yarn add <git remote url>` installs a package from a remote git repository.
5. `yarn add https://my-project.org/package.tgz` installs a package from a
  remote gzipped tarball.

### Caveats <a class="toc" id="toc-caveats" href="#toc-caveats"></a>

If you have used a package manager like npm previously, you may be looking for
how to add global dependencies.

For the vast majority of packages it is considered a bad practice to have
global dependencies because they are implicit. It is much better to add
all of your dependencies locally so that they are explicit and anyone else
using your project gets the same set of dependencies.

If you are trying to use a CLI tool that has a `bin` you can access these in
your `./node_modules/.bin` directory.

##### `yarn add ` <a class="toc" id="toc-yarn-add" href="#toc-yarn-add"></a>

This will install a `` in your
[`dependencies`]({{url_base}}/docs/dependency-types#toc-dependencies).

##### `yarn add  --dev` <a class="toc" id="toc-yarn-add-dev" href="#toc-yarn-add-dev"></a>

This will install a `` in your
[`devDependencies`]({{url_base}}/docs/dependency-types#toc-dev-dependencies).

##### `yarn add  --peer` <a class="toc" id="toc-yarn-add-peer" href="#toc-yarn-add-peer"></a>

This will install a `` in your
[`peerDependencies`]({{url_base}}/docs/dependency-types#toc-peer-dependencies).

##### `yarn add  --optional` <a class="toc" id="toc-yarn-add-optional" href="#toc-yarn-add-optional"></a>

This will install a `` in your
[`optionalDependencies`]({{url_base}}/docs/dependency-types#toc-optional-dependencies).

##### `yarn add  --exact` <a class="toc" id="toc-yarn-add-exact" href="#toc-yarn-add-exact"></a>

This installs the package as an exact version. The default is to use the most
recent release with the same major version. For example, `yarn add foo@1.2.3`
would accept version `1.9.1`, but `yarn add foo@1.2.3 --exact` would only
accept version `1.2.3`.

##### `yarn add  --tilde` <a class="toc" id="toc-yarn-add-tilde" href="#toc-yarn-add-tilde"></a>

This installs the most recent release of the package that has the same minor
version. The default is to use the most recent release with the same major
version. For example, `yarn add foo@1.2.3 --tilde` would accept `1.2.9` but not
`1.3.0`.

---

## File: en/docs/cli/bin.md

---
id: docs_cli_bin
guide: docs_cli
layout: guide
---

Displays the location of the yarn `bin` folder.

##### `yarn bin` <a class="toc" id="toc-yarn-bin" href="#toc-yarn-bin"></a>

`yarn bin` will print the folder where yarn will install executable files for your package. An example of an executable may be a script that you have defined for your package that can be executed via [`yarn run`](./run).

---

## File: en/docs/cli/cache.md

---
id: docs_cli_cache
guide: docs_cli
layout: guide
---

##### `yarn cache ls` <a class="toc" id="toc-yarn-cache-ls" href="#toc-yarn-cache-ls"></a>

Yarn stores every package in a global cache in your user directory on the file
system. `yarn cache ls` will print out every cached package.

##### `yarn cache clear` <a class="toc" id="toc-yarn-cache-clear" href="#toc-yarn-cache-clear"></a>

Running this command will clear the local cache. It will be populated again the
next time `yarn` or `yarn install` is run.

---

## File: en/docs/cli/check.md

---
id: docs_cli_check
guide: docs_cli
layout: guide
---

##### `yarn check` <a class="toc" id="toc-yarn-check" href="#toc-yarn-check"></a>

Verifies that versions of the package dependencies in the current project's `package.json` matches that of yarn's lock file.

##### `yarn check --integrity` <a class="toc" id="toc-yarn-check-integrity" href="#toc-yarn-check-integrity"></a>

Verifies that versions and hashed value of the package contents in the project's `package.json` matches that of yarn's lock file. This helps to verify that the package dependencies have not been altered.

---

## File: en/docs/cli/clean.md

---
id: docs_cli_clean
guide: docs_cli
layout: guide
---

Cleans and removes unnecessary files from package dependencies.

##### `yarn clean` <a class="toc" id="toc-yarn-clean" href="#toc-yarn-clean"></a>

The `clean` command frees up space by removing unnecessary files and folders from dependencies. It reduces the number of files in your project's `node_modules` folder which is useful in an environment where packages are checked into version control directly.

One you run `yarn clean`, Yarn will create a `.yarnclean` file that should be added to version control. Cleaning is then automatically done as part of `yarn install` (or simply `yarn`) and `yarn add`.

*Note: This command is considered for advanced use cases only. Unless you are experiencing issues with the amount of files that are installed as part of `node_modules` it is not recommended to use this command. It uses a heuristic to identify files that may not be needed from a distributed package and may not be entirely safe.*

---

## File: en/docs/cli/config.md

---
id: docs_cli_config
guide: docs_cli
layout: guide
---

Manages the yarn configuration files.

##### `yarn config set <key> <value> [-g|--global]` <a class="toc" id="toc-yarn-config-set-g-global" href="#toc-yarn-config-set-g-global"></a>

Sets the config `key` to a certain `value`.

Example:

```sh
$ yarn config set init-license BSD-2-Clause
yarn config vx.x.x
success Set "init-license" to "BSD-2-Clause".
✨  Done in 0.05s.

```

##### `yarn config get <key>` <a class="toc" id="toc-yarn-config-get" href="#toc-yarn-config-get"></a>

Echoes the value for a given `key` to `stdout`.

Example:

```sh
$ yarn config get init-license
BSD-2-Clause
```

##### `yarn config delete <key>` <a class="toc" id="toc-yarn-config-delete" href="#toc-yarn-config-delete"></a>

Deletes a given `key` from the config.

Example:

```sh
$ yarn config delete test-key
yarn config vx.x.x
success Deleted "test-key".
✨  Done in 0.06s.
```

##### `yarn config list` <a class="toc" id="toc-yarn-config-list" href="#toc-yarn-config-list"></a>

Displays the current configuration.

Example:

```sh
$ yarn config list
yarn config vx.x.x
info yarn config
{ 'version-tag-prefix': 'v',
  'version-git-tag': true,
  'version-git-sign': false,
  'version-git-message': 'v%s',
  'init-version': '1.0.0',
  'init-license': 'MIT',
  'save-prefix': '^',
  'ignore-scripts': false,
  'ignore-optional': true,
  registry: 'https://registry.yarnpkg.com',
  'user-agent': 'yarn/0.15.0 npm/? node/v6.2.1 darwin x64' }
info npm config
{ registry: 'https://registry.npmjs.org/',
  '//localhost:4873/:_authToken': 'some-auth-token' }
✨  Done in 0.05s.

```

---

## File: en/docs/cli/generate-lock-entry.md

---
id: docs_cli_generate-lock-entry
guide: docs_cli
layout: guide
---

Generates a lock file entry.

##### `yarn generate-lock-entry` <a class="toc" id="toc-yarn-generate-lock-entry" href="#toc-yarn-generate-lock-entry"></a>

*Note: This command is considered for advanced use-cases and tooling only. It generates a lock file entry given the current `package.json` manifest file.*

```sh
$ yarn generate-lock-entry
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
yarnpkg@0.14.0:
  version "0.14.0"
  dependencies:
    babel-plugin-transform-inline-imports-commonjs "^1.0.0"
    babel-runtime "^6.0.0"
    bytes "^2.4.0"
    [...]
```

---

## File: en/docs/cli/global.md

---
id: docs_cli_global
guide: docs_cli
layout: guide
---

Install packages globally on your operating system.

##### `yarn global` <a class="toc" id="toc-yarn-global" href="#toc-yarn-global"></a>

`yarn global` is a prefix used for a number of commands like `add`, `bin`, `ls` and `remove`. They behave identically to their normal versions except that they use a global directory to store packages. The `global` command makes binaries available to use on your operating system.

This is useful for developer tooling that is not part of any individual project but instead is used for local commands. One such example is [create-react-app](https://github.com/facebookincubator/create-react-app) which can be installed globally like this:

```sh
$ yarn global add create-react-app
# the `create-react-app` command is now available globally:
$ create-react-app
````

Read more about the commands that can be used together with `yarn global`:

- [`yarn add`](./add): add a package to use in your current package.
- [`yarn bin`](./install): install all dependencies defined in a `package.json` file.
- [`yarn ls`](./init): initialize for the development of a package.
- [`yarn remove`](./remove): remove a package that will no longer be used in your current package.

---

## File: en/docs/cli/index.md

---
id: docs_cli_index
guide: docs_cli
layout: guide
---

Yarn provides a rich set of command-line commands to help you with various aspects of your Yarn package, including installation, administration, publishing, etc.

While all of the available commands are provided here, in alphabetical order, some of the more popular commands are:

- [`yarn add`](./add): add a package to use in your current package.
- [`yarn init`](./init): initialize for the development of a package.
- [`yarn install`](./install): install all dependencies defined in a `package.json` file.
- [`yarn publish`](./publish): publish a package to a package manager.
- [`yarn remove`](./remove): remove a package that will no longer be used in your current package.

---

## File: en/docs/cli/info.md

---
id: docs_cli_info
guide: docs_cli
layout: guide
---
Show information about a package.

##### `yarn info  [<field>]` <a class="toc" id="toc-yarn-info" href="#toc-yarn-info"></a>

This command will fetch information about a package and return it in a tree
format. The package does not have to have been installed locally.

```
$ yarn info react

yarn info vx.x.x
{ name: 'react',
  version: '15.4.0-rc.2',
  description: 'React is a JavaScript library for building user interfaces.',
  time: { modified: '2016-10-06T22:09:27.397Z', ... } ... }
```

The default reporting style for this command is a single-quoted serialization.
To emit lines of valid JSON, use the standard `--json` flag:

```
yarn info react --json

{"type":"inspect","data":{"name":"react","time":{...}}}
{"type":"finished","data":417}
```

### Information for a specific version <a class="toc" id="toc-information-for-a-specific-version" href="#toc-information-for-a-specific-version"></a>

Append `@[version]` to the package argument to provide information specific to
that version:

```
$ yarn info react@15.3.0

yarn info vx.x.x
{ name: 'react',
  version: '15.3.0',
  description: 'React is a JavaScript library for building user interfaces.',
  time: { modified: '2016-10-06T22:09:27.397Z', ... } ... }
```

### Selecting specific fields <a class="toc" id="toc-selecting-specific-fields" href="#toc-selecting-specific-fields"></a>

If the optional field argument is provided, then only that part of the tree is
returned.

```
$ yarn info react description

yarn info vx.x.x
React is a JavaScript library for building user interfaces.
```

If the specified field is in turn a nested object, the child tree is returned:

```
$ yarn info react time

yarn info vx.x.x
{ modified: '2016-10-06T22:09:27.397Z',
  created: '2011-10-26T17:46:21.942Z', ... }

yarn info react time --json
{"type":"inspect","data":{"modified":"2016-10-06T22:09:27.397Z","created":...}}
...
```

### Retrieving the readme field <a class="toc" id="toc-retrieving-the-readme-field" href="#toc-retrieving-the-readme-field"></a>

Note that by default, `yarn info` will not return the `readme` field (since it
is often very long). To explicitly request that field, use the second argument:

```
$ yarn info react readme

yarn info vx.x.x
## react

An npm package to get you immediate access to
[React](https://facebook.github.io/react/).
...
```

---

## File: en/docs/cli/init.md

---
id: docs_cli_init
guide: docs_cli
layout: guide
---

Interactively creates or updates a package.json file.

##### `yarn init` <a class="toc" id="toc-yarn-init" href="#toc-yarn-init"></a>

This command walks you through an interactive session to create a `package.json` file. Some defaults such as the license and initial version are found in yarn's `init-*` config settings. 

Here's an example of running the command inside of a directory named `testdir`:

```sh
$ yarn init
question name (testdir): my-awesome-package
question version (1.0.0): 
question description: The best package you will ever find.
question entry point (index.js): 
question git repository: https://github.com/yarnpkg/example-yarn-package
question author: Yarn Contributor
question license (MIT): 
success Saved package.json
✨  Done in 87.70s.
```

This results in the following `package.json`:

```js
{
  "name": "my-awesome-package",
  "version": "1.0.0",
  "description": "The best package you will ever find.",
  "main": "index.js",
  "repository": {
    "url": "https://github.com/yarnpkg/example-yarn-package",
    "type": "git"
  },
  "author": "Yarn Contributor",
  "license": "MIT"
}
```

If you already have an existing `package.json` file, then it will use the file's entries as defaults.

The following existing `package.json`:

```js
{
  "name": "my-existing-package",
  "version": "0.1",
  "description": "I exist therefore I am.",
  "repository": {
    "url": "https://github.com/yarnpkg/example-yarn-package",
    "type": "git"
  },
  "license": "BSD-2-Clause"
}
```

Results in the following defaults during the interactive session:

```sh
$ yarn init
question name (my-existing-package): 
question version (0.1): 
question description (I exist therefore I am.):
question entry point (index.js): 
question git repository (https://github.com/yarnpkg/example-yarn-package): 
question author: Yarn Contributor
question license (BSD-2-Clause): 
success Saved package.json
✨  Done in 121.53s.
```

---

## File: en/docs/cli/install.md

---
id: docs_cli_install
guide: docs_cli
layout: guide
---

`yarn install` is used to install all dependencies for a project. This is most commonly used when you have just checked out code for a project, or when another developer on the project has added a new dependency that you need to pick up.

If you are used to using npm you might be expecting to use `--save` or
`--save-dev`. These have been replaced by `yarn add` and `yarn add --dev`. For more information, see [the `yarn add` documentation](/en/docs/cli/add).

##### `yarn install` <a class="toc" id="toc-yarn-install" href="#toc-yarn-install"></a>

Install all the dependencies listed within `package.json` in the local
`node_modules` folder.

##### `yarn install --flat` <a class="toc" id="toc-yarn-install-flat" href="#toc-yarn-install-flat"></a>

Only allow one version of a package. On the first run this will prompt you to
choose a single version for each package that is depended on at multiple
version ranges. These will be added to your `package.json` under a
`resolutions` field.

```json
"resolutions": {
  "package-a": "2.0.0",
  "package-b": "5.0.0",
  "package-c": "1.5.2"
}
```

##### `yarn install --force` <a class="toc" id="toc-yarn-install-force" href="#toc-yarn-install-force"></a>

This refetches all packages, even ones that were previously installed.

##### `yarn install --har` <a class="toc" id="toc-yarn-install-har" href="#toc-yarn-install-har"></a>

Outputs an [HTTP archive](https://en.wikipedia.org/wiki/.har) from all the network requests performed during the installation. HAR files are commonly used to investigate network performance, and can be analyzed with tools such as [Google's HAR Analyzer](https://toolbox.googleapps.com/apps/har_analyzer/) or [HAR Viewer](http://www.softwareishard.com/blog/har-viewer/).

##### `yarn install --no-lockfile` <a class="toc" id="toc-yarn-install-no-lockfile" href="#toc-yarn-install-no-lockfile"></a>

Don't read or generate a `yarn.lock` lockfile.

##### `yarn install --production` <a class="toc" id="toc-yarn-install-production" href="#toc-yarn-install-production"></a>

Using the `--production` flag, or when the `NODE_ENV` environment variable is
set to `production`, Yarn will not install any package listed in
`devDependencies`.

> **Note:** `--prod` is also an alias of `--production`.

##### `yarn install --pure-lockfile` <a class="toc" id="toc-yarn-install-pure-lockfile" href="#toc-yarn-install-pure-lockfile"></a>

Don't generate a `yarn.lock` lockfile.