interpreter.zig Documentation

Official TypeScript developer resources and documentation for eval/interpreter.zig. Verified technical context for AI.

0 stars TypeScript TypeScript 1 file ยท ~4,689 tokens
RAW Doc

1. Project Overview & Quickstart (eval/interpreter.zig)

interpreter.zig

Open-source repository eval/interpreter.zig

Repository Details

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

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
and referred to by simply their package name. For example, yarn add react
will install the 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 [email protected] installs a specific version of a package from
    the registry.
  3. yarn add package-name@tag installs a specific
    "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 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

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 `

This will install a `` in your
dependencies.

`yarn add --dev`

This will install a `` in your
devDependencies.

`yarn add --peer`

This will install a `` in your
peerDependencies.

`yarn add --optional`

This will install a `` in your
optionalDependencies.

`yarn add --exact`

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 [email protected]
would accept version 1.9.1, but yarn add [email protected] --exact would only
accept version 1.2.3.

`yarn add --tilde`

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 [email protected] --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`

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.


File: en/docs/cli/cache.md


id: docs_cli_cache guide: docs_cli layout: guide

`yarn cache ls`

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`

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`

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

`yarn check --integrity`

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`

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 [-g|--global]`

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 `

Echoes the value for a given key to stdout.

Example:

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

`yarn config delete `

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`

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`

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
[email protected]:
  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`

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 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 a package to use in your current package.
  • yarn bin: install all dependencies defined in a package.json file.
  • yarn ls: initialize for the development of a package.
  • yarn 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 a package to use in your current package.
  • yarn init: initialize for the development of a package.
  • yarn install: install all dependencies defined in a package.json file.
  • yarn publish: publish a package to a package manager.
  • yarn 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 []`

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.

text
$ 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:

text
yarn info react --json

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

Information for a specific version

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

text
$ yarn info [email protected]

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

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

text
$ 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:

text
$ 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

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:

text
$ 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`

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.

`yarn install`

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

`yarn install --flat`

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`

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

`yarn install --har`

Outputs an HTTP archive 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 or HAR Viewer.

`yarn install --no-lockfile`

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

`yarn install --production`

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`

Don't generate a yarn.lock lockfile.