diff --git a/.gitignore b/.gitignore index ef98cb66d1..0f6551fdd1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,7 @@ yarn-error.log packages/.old **/tsconfig.json !/tsconfig.json -.vscode \ No newline at end of file +docs +doc +.vscode +packages/utils/types/index.d.ts \ No newline at end of file diff --git a/.now.json b/.now.json new file mode 100644 index 0000000000..c05d639837 --- /dev/null +++ b/.now.json @@ -0,0 +1,7 @@ +{ + "name": "forge-docs", + "type": "static", + "alias": [ + "js.electronforge.io" + ] +} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e51fc88bf8..305fc5c493 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,8 +48,8 @@ When changing the API documentation, here are some rules to keep in mind. * should be properly capitalized * should not be "This" -For changes to the website ([electronforge.io](https://electronforge.io)), please file -issues/pull requests at [its separate repository](https://github.com/electron-forge/electronforge.io). +For changes to the website ([electronforge.io](https://v6.electronforge.io)), please file +issues/pull requests at this repository in the "docs" folder. ## Filing Pull Requests diff --git a/README.md b/README.md index c29ad314aa..0d3131692c 100644 --- a/README.md +++ b/README.md @@ -25,10 +25,10 @@ are looking for the 5.x series (the version currently published to NPM), please ---- -[Website](https://electronforge.io) | +[Website](https://v6.electronforge.io) | [Goals](#project-goals) | [Usage](#usage) | -[Configuration](#config) | +[Configuration](https://v6.electronforge.io/configuration) | [Support](https://github.com/electron-userland/electron-forge/blob/master/SUPPORT.md) | [Contributing](https://github.com/electron-userland/electron-forge/blob/master/CONTRIBUTING.md) | [Changelog](https://github.com/electron-userland/electron-forge/blob/master/CHANGELOG.md) @@ -38,7 +38,7 @@ are looking for the 5.x series (the version currently published to NPM), please **Note**: Electron Forge requires Node 6 or above, plus git installed. ```bash -npm install -g electron-forge +npm install -g @electron-forge/cli electron-forge init my-new-app cd my-new-app npm start @@ -50,7 +50,7 @@ or [`yarn create`](https://yarnpkg.com/blog/2017/05/12/introducing-yarn/). ```bash -npx electron-forge init my-new-app +npx @electron-forge/cli init my-new-app # or yarn create electron-app my-new-app @@ -62,11 +62,11 @@ npm start # Project Goals 1. Starting with Electron should be as simple as a single command. -2. Developers shouldn't have to worry about `babel`, `browserify`, `webpack`, +2. Developers shouldn't have to worry about setting up build tooling, native module rebuilding, etc. Everything should "just work" for them out of the box. 3. Everything from creating the project to packaging the project for release - should be handled by one dependency in a standard way while still offering + should be handled by one core dependency in a standard way while still offering users maximum choice and freedom. With these goals in mind, under the hood this project uses, among others: @@ -77,276 +77,22 @@ With these goals in mind, under the hood this project uses, among others: * [Electron Packager](https://github.com/electron-userland/electron-packager): Customizes and bundles your Electron app to get it ready for distribution. -# Usage +# Docs and Usage -## Starting a new Project +For Electron Forge documentation and usage you should check out our website: +[electronforge.io](https://v6.electronforge.io) -```bash -npm install -g electron-forge -electron-forge init my-new-project -``` - -This command will generate a brand new project folder and install all your Node -module dependencies, so you will be all set to go. By default we will also -install the `airbnb` linting modules. If you want to follow the `standard` -linting rules instead, use the `--lintstyle=standard` argument. - -You can also start a project with your -[favorite framework](https://electronforge.io/templates) with the `--template` -argument. E.g. `--template=react`. - -If you'd like to have pre-made configuration files for Travis CI and AppVeyor CI to automatically -build and deploy distributables to GitHub, use the `--copy-ci-files` argument. - -## Importing an existing Project - -```bash -electron-forge import existing-project-directory -``` - -Given an existing Electron project, this command will attempt to interactively -navigate through the process of importing it to the Electron Forge format, so -the commands listed below can be used. This includes being prompted to remove -existing Electron build tools in favor of Electron Forge equivalents. - -## Launching your Project - -```bash -electron-forge start -``` - -Any arguments after "start" will be passed through to your application when -it's launched. - -## Packaging your Project - -```bash -electron-forge package -``` +# FAQ -Yes, it really is that simple. If you want to specify platform / arch, use the -`--platform=` and `--arch=` arguments. - -## Generating a distributable for your Project - -```bash -electron-forge make -``` - -This will generate platform specific distributables (installers, distribution -packages, etc.) for you. By default, you can only generate distributables -for your current platform. If you want to specify platform / arch, use the -`--platform=` and `--arch=` arguments, but _please note that -some distributables are not available to be built on anything but the platform -that is targeted. For example, `appx` (Windows Store) distributables can only -be built on Windows._ - -## Linting your Project - -```bash -electron-forge lint -``` - -## Publishing your Project - -```bash -electron-forge publish -``` - -This will `make` your project and publish any generated artifacts. By default it will publish to -GitHub, but you can change the publish target(s) with `--target=YourTarget,YourTarget2`, where the -value is a comma-separated list of targets. - -# Config - -Once you have generated a project, your `package.json` file will have some -default `forge` configuration. Below is the reference structure for this -config object: - -```javascript -{ - "make_targets": { - "win32": ["squirrel"], // An array of win32 make targets - "darwin": ["zip", "dmg"], // An array of darwin make targets - "linux": ["deb", "rpm", "flatpak", "snap"] // An array of linux make targets - }, - "electronPackagerConfig": {}, - "electronRebuildConfig": {}, - "electronWinstallerConfig": {}, - "electronInstallerDMG": {}, - "electronInstallerFlatpak": {}, - "electronInstallerDebian": {}, - "electronInstallerRedhat": {}, - "electronInstallerSnap": {} -} -``` +## How do I use this with `webpack`/`babel`/`typescript`/`random build tool`? -## Possible `make` targets +As of Electron Forge 6+ by default we only do vanilla JavaScript but if you want +to do some fancy build tool stuff you should check out the [plugins](https://v6.electronforge.io/plugins) +section of our docs site. We currently have plugins for Webpack, Parcel and +Electron Compile. -| Target Name | Available Platforms | Description | Configurable Options | Default? | Requirements | -|-------------|---------------------|-------------|----------------------|----------|--------------| -| `zip` | All | Zips your packaged application | None | Yes | `zip` on Darwin/Linux | -| `squirrel` | Windows | Generates an installer and `.nupkg` files for Squirrel.Windows | [`electronWinstallerConfig`](https://github.com/electron/windows-installer#usage) | Yes | | -| `appx` | Windows | Generates a Windows Store package | [`windowsStoreConfig`](https://github.com/felixrieseberg/electron-windows-store#programmatic-usage) | No | | -| `wix` | Windows | Generates a traditional MSI file | [`electronWixMSIConfig`](https://github.com/felixrieseberg/electron-wix-msi#configuration) | No | [Wix Toolit](https://github.com/felixrieseberg/electron-wix-msi#prerequisites) | -| `dmg` | Darwin | Generates a DMG file | [`electronInstallerDMG`](https://github.com/mongodb-js/electron-installer-dmg#api) | No | | -| `deb` | Linux | Generates a Debian package | [`electronInstallerDebian`](https://github.com/unindented/electron-installer-debian#options) | Yes | [`fakeroot` and `dpkg`](https://github.com/unindented/electron-installer-debian#requirements) | -| `rpm` | Linux | Generates an RPM package | [`electronInstallerRedhat`](https://github.com/unindented/electron-installer-redhat#options) | Yes | [`rpm`](https://github.com/unindented/electron-installer-redhatn#requirements) | -| `flatpak` | Linux | Generates a [Flatpak](http://flatpak.org/) file | [`electronInstallerFlatpak`](https://github.com/endlessm/electron-installer-flatpak#options) | No | [`flatpak-builder`](https://github.com/endlessm/electron-installer-flatpak#requirements) | -| `snap` | Linux | Generates a [Snap](https://snapcraft.io/) file | [`electronInstallerSnap`](https://github.com/electron-userland/electron-installer-snap/blob/master/docs/api.md#options) | No | [`snapcraft`](https://snapcraft.io/docs/build-snaps/#install-snapcraft) | +# Team -## Configuring `package` - -You can set `electronPackagerConfig` with any of the options from -[Electron Packager](https://github.com/electron-userland/electron-packager/blob/master/docs/api.md), except: - -* `arch` (use the `--arch` Forge command line argument instead, so it's available to all of Forge) -* `asar.unpack` (use `asar.unpackDir` instead) -* `dir` (use the `cwd` Forge command line argument instead, so it's available to all of Forge) -* `electronVersion` (uses the exact version specified for `electron` in your `devDependencies`) -* `out` -* `platform` (use the `--platform` Forge command line argument instead, so it's available to all of Forge) -* `quiet` - -You can set `electronRebuildConfig` with any of the options from -[Electron Rebuild](https://github.com/electron/electron-rebuild#how-can-i-integrate-this-into-grunt--gulp--whatever), except: - -* `electronVersion`/`--version` (uses the exact version specified for `electron` in your `devDependencies`) -* `arch`/`--arch` (use the `--arch` Forge command line argument instead, so it's available to all of Forge) -* `buildPath`/`--module-dir` (uses your project's `node_modules`) - -**NOTE:** You can also set your `forge` config property of your package.json to point to a JS file that exports the config object: - -```js -{ - ... - "config": { - "forge": "./forge.config.js" - } - ... -} -``` - -**NOTE:** If you use the JSON object then the `afterCopy` and `afterExtract` options are mapped to `require` -calls internally, so provide a path to a file that exports your hooks and they will still run. If you use -the JS file method mentioned above then you can use functions normally. - -## Possible `publish` targets - -| Target Name | Description | Required Config | -|-------------|-------------|-----------------| -| GitHub Releases - `github` | Makes a new release for the current version (if required) and uploads the make artifacts as release assets | `process.env.GITHUB_TOKEN` - A personal access token with access to your releases
`forge.github_repository.owner` - The owner of the GitHub repository
`forge.github_repository.name` - The name of the GitHub repository
`forge.github_repository.draft` - Create the release as a draft, defaults to `true`
`forge.github_repository.prerelease` - Identify the release as a prerelease, defaults to `false`
`forge.github_repository.options` - An `Object` of [connection options](https://github.com/octokit/rest.js#usage), e.g., GitHub Enterprise settings or HTTP proxy URL | -| Amazon S3 - `s3` | Uploads your artifacts to the given S3 bucket | `process.env.ELECTRON_FORGE_S3_SECRET_ACCESS_KEY` - Your secret access token for your AWS account _(falls back to the standard `AWS_SECRET_ACCESS_KEY` environment variable)_
`forge.s3.accessKeyId` - Your access key for your AWS account _(falls back to the standard `AWS_ACCESS_KEY_ID` environment variable)_
`forge.s3.bucket` - The name of the S3 bucket to upload to
`forge.s3.folder` - The folder path to upload to inside your bucket, defaults to your application version
`forge.s3.public` - Whether to make the S3 upload public, defaults to `false` | -| [Electron Release Server](https://github.com/ArekSredzki/electron-release-server) - `electron-release-server` | Makes a new release for the current version and uploads the artifacts to the correct platform/arch in the given version. If the version already exists no upload will be performed. The channel is determined from the current version. | `forge.electronReleaseServer.baseUrl` - The base URL of your release server, no trailing slash
`forge.electronReleaseServer.username` - The username for the admin panel on your server
`forge.electronReleaseServer.password` - The password for the admin panel on your server
`forge.electronReleaseServer.channel` - If specified, the release channel name. Defaults to `stable`/`alpha`/`beta` depending on the app version | -| [Snapcraft](https://snapcraft.io/store/) - `snapStore` | Uploads generated Snaps to the Snap Store. | `forge.snapStore.release` - If specified, a comma-separated list of channels to release to. | - -For example: - -```javascript -// github -{ - // Assume the GitHub repository is at https://github.com/username/repo - "github_repository": { - "owner": "username", - "name": "repo" - } -} - -// s3 -{ - "s3": { - "accessKeyId": "", - "bucket": "my_bucket_name", - "public": true - } -} - -// Electron Release Server -{ - "electronReleaseServer": { - "baseUrl": "https://update.mysite.com", - "username": "admin", - "password": "no_one_will_guess_this" - } -} - -// Snap Store -{ - "snapStore": { - "release": "candidate,beta" - } -} -``` - -## Custom `make` and `publish` targets - -You can make your own custom targets for the `make` and `publish` targets. If you publish them as -`electron-forge-publisher-{name}` or `electron-forge-maker-{name}`, they can be added to the app's -`devDependencies` and can be specified as `{name}` in the make / publish targets. Publicly published -third-party [makers](https://www.npmjs.com/search?q=electron%2Dforge%2Dmaker) and -[publishers](https://www.npmjs.com/search?q=electron-forge-publisher) are available in the NPM registry. - -The API for each target type is documented below. - -### API for `make` targets - -You must export a Function that returns a Promise. Your function will be called with the following parameters. - -* `appDir` - The directory containing the packaged application -* `appName` - The productName of the application -* `targetArch` - The target architecture of the make command -* `forgeConfig` - An object representing the users forgeConfig -* `packageJSON` - An object representing the users package.json file - -Your promise must resolve with an array of the artifacts you generated. - -### API for `publish` targets - -You must export a `Function` that returns a `Promise`. Your function will be called with the following keyword parameters: - -* `dir` - The application directory -* `artifacts` - An array of absolute paths to artifacts to publish -* `packageJSON` - An object representing the user's `package.json` file -* `forgeConfig` - An object representing the user's [`forgeConfig`](#config) -* `authToken` - The value of `--auth-token` -* `tag` - The value of `--tag` -* `platform` - The platform you are publishing for -* `arch` - The arch you are publishing for - -You should use `ora` to indicate your publish progress. - -## Debugging your application on the command line - -If you're using Electron 1.7 or later, you can specify the `--inspect-electron` flag, which will -set the [Electron `--inspect` flag](http://electronjs.org/docs/tutorial/debugging-main-process#--inspectport) -with the default debugger port. - -For example: - -```shell -electron-forge start --inspect-electron -``` - -## Debugging your application through VS Code - -Debugging your Electron main process through VS Code is ridiculously -easy with Forge. Simply add this as a launch config in VSCode and you're -good to go. - -```js -{ - "type": "node", - "request": "launch", - "name": "Electron Main", - "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-forge-vscode-nix", - "windows": { - "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-forge-vscode-win.cmd" - }, - // runtimeArgs will be passed directly to your Electron application - "runtimeArgs": [ - "foo", - "bar" - ], - "cwd": "${workspaceRoot}" -} -``` +| [![Samuel Attard](https://s.gravatar.com/avatar/1576c987b53868acf73d6ccb08110a78?s=144)](https://samuelattard.com) | [![Malept](https://avatars2.githubusercontent.com/u/11417?s=460&v=4)](https://github.com/malept) | +|---| --- | +| [Samuel Attard](https://samuelattard.com) | [Malept](https://github.com/malept) | \ No newline at end of file diff --git a/SUPPORT.md b/SUPPORT.md index 366c7da23d..22f6de4c99 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,6 +1,6 @@ # Support for Electron Forge -If you have questions about usage, we encourage you to browse the [website](https://electronforge.io/), +If you have questions about usage, we encourage you to browse the [website](https://v6.electronforge.io/), and visit one of the several [community-driven sites](https://github.com/electron/electron#community). ## Troubleshooting diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 017e4491d4..0000000000 --- a/docs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -_book -node_modules diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index c68013357e..0000000000 --- a/docs/README.md +++ /dev/null @@ -1 +0,0 @@ -# Electron Forge diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md deleted file mode 100644 index 13ce36f2f7..0000000000 --- a/docs/SUMMARY.md +++ /dev/null @@ -1,38 +0,0 @@ -# Summary - -* [Introduction](README.md) -* [Configuration](config.md) -* [CLI](cli.md) - * [Import](cli.md#import) - * [Init](cli.md#init) - * [Install](cli.md#install) - * [Lint](cli.md#lint) - * [Make](cli.md#make) - * [Package](cli.md#package) - * [Publish](cli.md#publish) - * [Start](cli.md#start) -* [API Docs](https://docs.electronforge.io) -* [Plugins](plugins.md) - * [Webpack](plugins.md#webpack) - * [Electron Compile](plugins.md#electron-compile) - * [Parcel](plugins.md#parcel) -* [Makers](makers.md) - * [AppX](makers.md#appx) - * [Deb](makers.md#deb) - * [DMG](makers.md#dmg) - * [Flatpak](makers.md#flatpak) - * [RPM](makers.md#rpm) - * [Snapcraft](makers.md#snap) - * [Squirrel.Windows](makers.md#squirrel) - * [Wix MSI](makers.md#wix) - * [Zip](makers.md#zip) -* Publishers - * [Electron Release Server](publisher/ers.md) - * [GitHub](publisher/github.md) - * [S3](publisher/s3.md) - * [Snapcraft](publisher/snap.md) -* [Extending Electron Forge](extend.md) - * [Writing Plugins](extend.md#writing-plugins) - * [Writing Makers](extend.md#writing-makers) - * [Writing Publishers](extend.md#writing-publishers) - diff --git a/docs/book.json b/docs/book.json deleted file mode 100644 index 12988528c1..0000000000 --- a/docs/book.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "plugins": ["theme-api", "panel", "collapsible-menu", "ace"], - "pluginsConfig": { - "theme-api": { - "theme": "dark" - } - }, - "styles": { - "website": "styles/website.css" - } -} \ No newline at end of file diff --git a/docs/cli.md b/docs/cli.md deleted file mode 100644 index 0ede5fde03..0000000000 --- a/docs/cli.md +++ /dev/null @@ -1,118 +0,0 @@ -# Electron Forge CLI - -{% method %} -## Installation - -Electron forge's CLI is separate from the core module, to install it you will -have to use the `@electron-forge/cli` module from NPM. - -{% sample lang="sh" %} -```sh -# NPM -npm i -g @electron-forge/cli - -# Yarn -yarn global add @electron-forge/cli -``` - -{% endmethod %} - -## Overview - -At a high level the CLI module is just a proxy to the raw -[API](https://docs.electronforge.io) commands. Almost all the configuation -is still done in your [Forge Config](config), the CLI just provides a handy -way to trigger all the core functionality of Electron Forge (and you should -definitely use it). - -## Commands - -Please note these commands are sorted in alphabetical order, the ones you -probably need to care about are [`start`](#start), [`package`](#package), -[`make`](#make) and [`publish`](#publish). - -### Import - -Maps to `electronForge.import`, will attempt to take an existing Electron app -and make it Forge compatible. Normally this is just created a base forge config -and adding the required dependencies. - -> There are no flags for the Import command - -### Init - -Maps to `electronForge.init`, will initialize a new Forge powered application in -the given directory (defaults to `.`). - -Please note if you want to use a template it must be installed globally before -running the `init` command. - -| Flag | Value | Description | -|------|-------|-------------| -| `--template` | Template Name | Name of the template to use to make this new app| -| `--copy-ci-files` | N/A | Set if you want to copy templated CI files for Travis CI and Appveyor | - -### Install - -Maps to `electronForge.install`, will attempt to install the Electron app -that is published at the given GitHub repository. This command is just a helper -for installing other applications quickly. - -### Lint - -Maps to `electronForge.lint`, will run the `lint` command that your package.json -exposes. If the exit code is 0 no output is shown, otherwise the error output -will be displayed. - -> There are no flags for the Lint command - -### Make - -Maps to `electronForge.make`, will make distributables for your application -based on your forge config and the parameters you pass in. - -| Flag | Value | Description | -|------|-------|-------------| -| `--arch` | Architecture E.g. `x64` | Target architecture to make for | -| `--platform` | Platform E.g. `mas` | Target platform to make for, please note you normally can only target platform X from platform X | -| `--targets` | Comma separated list of maker names | Override your make targets for this run | -| `--skip-package` | N/A | Set if you want to skip the packaging step, useful if you are running sequential makes and want to save time | - -### Package - -Maps to `electronForge.package`, will package your application into a platform -specific format and put the result in a folder. Please note that this does not -make a distributable format, to make proper distributables please use the -[`make`](#make) command. - -| Flag | Value | Description | -|------|-------|-------------| -| `--arch` | Architecture E.g. `x64` | Target architecture to package for | -| `--platform` | Platform E.g. `mas` | Target platform to package for | - -### Publish - -Maps to `electronForge.publish`, will attempt to make the forge application -and then publish it to the publish targets defined in your forge config. - -If you want to publish previously created `make` artifacts you will have to use -the `dry-run` options explained below. - -| Flag | Value | Description | -|------|-------|-------------| -| `--tag` | Version | The version to publish these artifacts as | -| `--target` | Comma separated list of publisher names | Override your publish targets for this run | -| `--dry-run` | N/A | Triggers a publish dry run which saves state and doesn't upload anything | -| `--from-dry-run` | N/A | Attempts to publish artifacts from any dry runs saved on disk | - -### Start - -Maps to `electronForge.start`, will launch the Forge powered application in the -given directory (defaults to `.`). - -| Flag | Value | Description | -|------|-------|-------------| -| `--app-path` | Path to your app from CWD | Override the path to the Electron app to launch (defaults to '.') | -| `--enable-logging` | N/A | Enable advanced logging. This will log internal Electron things | -| `--run-as-node` | N/A | Run the Electron app as a Node.JS script | -| `--inspect-electron` | N/A | Triggers inspect mode on Electron to allow debugging the main process | diff --git a/docs/extend.md b/docs/extend.md deleted file mode 100644 index 41178ed158..0000000000 --- a/docs/extend.md +++ /dev/null @@ -1,204 +0,0 @@ -# Extending Electron Forge - -Electron Forge is designed to be easily extendable by third parties with -whatever build logic you need. The build flow for Electron Forge is split into -two main sections `make` and `publish` and you can define custom targets for -each of those commands. For everything else we have a Plugin API which allows -you to hook into pretty much any part of forge's standard build process and do -whatever you want. - -To briefly explain some terms: - * `maker`: A tool that takes a packaged Electron application and outputs a - certain kind of distributable. - * `publisher`: A tool that takes distributables and "publishes" (normally - just uploads) them somewhere. Think GitHub releases. - * `plugin`: A tool that hooks into forge's internals and can inject logic - into your build process. - -If there is something you want to be able to do with a plugin/maker/publisher -that isn't currently exposed, please don't hesitate to raise a Feature Request -issue on our [GitHub Repository](https://github.com/electron-userland/electron-forge). - -## Writing Plugins - -An Electron Forge Plugin has to export a single class that extends our base -plugin. The base plugin can be depended on by installing -`@electron-forge/plugin-base`. It can implement two methods, neither are -required: - -{% method %} -### `getHook(hookName: string): Function` - -If implemented this method will be called every time a hook fires inside Forge -and you must look at the `hookName` and either return a function to run for that -hook or return a falsey value to indicate you have no hook to run. - -The possible `hookName` values and the parameters passed to the hook function -you return are documented over in the [Configuration](config) section of the -docs. - -{% sample lang="javascript" %} -{%ace edit=false, lang='javascript', check=false, theme="tomorrow_night" %} -export default class MyPlugin extends PluginBase { - getHook(hookName) { - switch (hookName) { - case 'prePackage': - return this.prePackage; - break; - } - } - - prePackage() { - console.log('running prePackage hook); - } -} -{%endace%} - -{% endmethod %} - -{% method %} -### `startLogic(startOpts: StartOptions): Promise` - -If implemented this method will be called every time the user runs -`electron-forge start`, if you return a `ChildProcess` you can override the -built in start logic and Electron Forge will not spawn it's own process rather -watch the one you returned. If you return `null` forge will spawn Electron -itself but you could still run custom logic such as started compilation for -code or downloading certain binaries before start. - -NOTE: `StartOptions` is documented [on our API site](https://docs.electronforge.io/typedef/index.html#static-typedef-StartOptions) - -{% sample lang="javascript" %} -{%ace edit=false, lang='javascript', check=false, theme="tomorrow_night" %} -export default class MyPlugin extends PluginBase { - async startLogic(opts) { - await this.compileMainProcess(); - return null; - } - - compileMainProcess() { ... } -} -{%endace%} - -{% endmethod %} - -## Writing Makers - -An Electron Forge Maker has to export a single class that extends our base -maker. The base plugin can be depended on by installing -`@electron-forge/maker-base`. - -The `MakerBase` class has some helper methods for your convenience. - -| Method | Description | -|--------|-------------| -| `ensureDirectory(path: string)` | Ensures the directory exists and is forced to be empty.
I.e. If the directory already exists it is deleted and recreated, this is a desctructive operation | -| `ensureFile(path: string)` | Ensures the path to the file exists and the file does not exist
I.e. If the file already exists it is deleted and the path created | -| `isInstalled(moduleName: string)` | Checks if the given module is installed, used for testing if optional dependencies are installed or not | - -Your maker must implement two methods: - -{% method %} -### `isSupportedOnCurrentPlatform(): boolean` - -This method must syncronously return a boolean indicating whether or not this -maker can run on the current platform. Normally this is just a `process.platform` -check but it can be a deeper check for dependencies like fake-root or other -required external build tools. - -If the issue is a missing dependency you should log out a **helpful** error message -telling the developer exactly what is missing and if possible how to get it. - -{% sample lang="javascript" %} -{%ace edit=false, lang='javascript', check=false, theme="tomorrow_night" %} -export default class MyMaker extends MakerBase { - isSupportedOnCurrentPlatform() { - return process.platform === 'linux' && this.isFakeRootInstalled(); - } - - isFakeRootInstalled() { ... } -} -{%endace%} - -{% endmethod %} - -{% method %} -### `make(options): Promise` - -Makers must implement this method and return an array of **absolute** paths to -the artifacts this maker generated. If an error occurs, simply reject the -promise and Electron Forge will stop the make process. - -This `config` for the maker will be available on `this.config`. - -The options object has the following structure. - -| Key | Value | -|-----|-------| -| `dir` | The directory containing the packaged Electron application | -| `makeDir` | The directory you should put all your artifacts in (potentially in sub folders)
NOTE: this directory is not guarunteed to already exist | -| `appName` | The resolved human friendly name of the project | -| `targetPlatform` | The target platform you should make for | -| `targetArch` | The target architecture you should make for | -| `forgeConfig` | Fully resolved forge configuration, you shouldn't really need this | -| `packageJSON` | The applications package.json file | - -{% sample lang="javascript" %} -{%ace edit=false, lang='javascript', check=false, theme="tomorrow_night" %} -export default class MyMaker extends MakerBase { - async make(opts) { - const pathToMagicInstaller = await makeMagicInstaller(opts.dir); - return [pathToMagicInstaller]; - } -} -{%endace%} - -{% endmethod %} - -## Writing Publishers - -An Electron Forge Publisher has to export a single class that extends our base -maker. The base plugin can be depended on by installing -`@electron-forge/maker-base`. Your maker must implement one method: - -{% method %} -### `publish(options): Promise` - -Publishers must implement this method to publish the artifacts returned from -make calls. If any errors occur you must throw them, failing silently or simply -logging will not propagate issues up to forge. - -Please note for a given version publish will be called multiple times, once -for each set of "platform" and "arch". This means if you are publishing -darwin and win32 artifacts to somewhere like GitHub on the first publish call -you will have to create the version on GitHub and the second call will just -be appending files to the existing version. - -This `config` for the publisher will be available on `this.config`. - -The options object has the following structure. - -| Key | Value | -|-----|-------| -| `dir` | The base directory of the apps source code | -| `makeResults` | An array of MakeResult objects, see the [MakeResult](https://docs.electronforge.io/typedef/index.html#static-typedef-MakeResult) object definition for details | -| `packageJSON` | The packageJSON of the app | -| `forgeConfig` | The raw forgeConfig this app is using, you shouldn't really have to use this | -| `platform` | The platform these artifacts are for | -| `arch` | The arch these artifacts are for | - -{% sample lang="javascript" %} -{%ace edit=false, lang='javascript', check=false, theme="tomorrow_night" %} -export default class MyPublisher extends PublisherBase { - async publish(opts) { - for (const artifact of opts.artifacts) { - await createVersion(artifact.packageJSON.version); - for (const artifactPath of artifact.artifacts) { - await upload(artifact.packageJSON.version, artifactPath); - } - } - } -} -{%endace%} - -{% endmethod %} \ No newline at end of file diff --git a/docs/plugins.md b/docs/plugins.md deleted file mode 100644 index a4060c5df3..0000000000 --- a/docs/plugins.md +++ /dev/null @@ -1,53 +0,0 @@ -# Plugins - -Electron Forge has a plugin system which allows easy extensibility of the core -functionality of forge. By default forge takes a vanilla JS application and -packages, makes and publishes it. Through the use of plugins, some of which are -listed below, you can make forge even more powerful. For instance integrating -directly with industry standard build tooling like webpack. - -{% method %} -## Webpack - -The webpack plugin allows you to use standard webpack tooling to compile both -your main process code and your renderer process code with built in support for -Hot Module Reloading in the renderer process and support for multiple renderers. - -{% sample lang="bash" %} -###### Installation -{%ace edit=false, lang='bash', check=false, theme="tomorrow_night" %} -yarn add @electron-forge/plugin-webpack --dev -{%endace%} - -###### Basic Usage -{%ace edit=false, lang='json', check=false, theme="tomorrow_night" %} -{ - "plugins": [ - ["@electron-forge/plugin-webpack", { - "mainConfig": "./webpack.main.config.js", - "renderer": { - "config": "./webpack.renderer.config.js", - "entryPoints": [{ - "html": "./src/renderer/index.html", - "js": "./src/renderer/index.js", - "name": "main" - }] - } - }] - ] -} -{%endace%} - -{% endmethod %} - -## Electron Compile - -### Installation - -### Usage - -## Parcel - -### Installation - -### Usage \ No newline at end of file diff --git a/docs/styles/website.css b/docs/styles/website.css deleted file mode 100644 index cda1993762..0000000000 --- a/docs/styles/website.css +++ /dev/null @@ -1,11 +0,0 @@ -.gitbook-link { - display: none !important; -} - -.ace { - border: none !important; -} - -.api-method-code { - margin-top: 2em; -} \ No newline at end of file diff --git a/package.json b/package.json index 2339996eba..c229ee525d 100644 --- a/package.json +++ b/package.json @@ -22,13 +22,14 @@ }, "scripts": { "clean": "bolt ws exec -- rimraf dist", - "prebuild": "bolt clean && ts-node tools/link-ts.ts && bolt ws exec -- node_modules/.bin/tsc --emitDeclarationOnly", + "prebuild": "bolt clean && ts-node tools/link-ts.ts && ts-node tools/copy-shared-types.ts && bolt ws exec -- node_modules/.bin/tsc --emitDeclarationOnly", "build": "bolt ws exec -- node_modules/.bin/babel src -d dist --quiet --extensions \".ts\"", "postbuild": "ts-node tools/test-dist", "commit": "git-cz", - "docs:build": "cd docs && gitbook build", - "docs:install": "cd docs && gitbook install", - "docs:serve": "cd docs && gitbook serve", + "docs": "bolt docs:generate && bolt docs:position", + "docs:generate": "bolt ws exec -- node_modules/.bin/typedoc --out doc --excludeExternals --ignoreCompilerErrors --mode file --excludePrivate --excludeProtected --hideGenerator", + "docs:position": "ts-node tools/position-docs.ts", + "docs:deploy": "bolt docs && ts-node tools/copy-now.ts && cd docs && now && now alias", "lint": "bolt ws exec -- node_modules/.bin/eslint src test", "test": "bolt ws run test" }, @@ -48,7 +49,6 @@ "electron-rebuild": "^1.6.0", "form-data": "^2.1.4", "fs-extra": "^5.0.0", - "gitbook-cli": "^2.3.2", "glob": "^7.1.1", "inquirer": "^5.0.0", "lodash.merge": "^4.6.0", @@ -126,6 +126,7 @@ "rimraf": "^2.6.2", "sinon": "^4.1.2", "ts-node": "^6.0.0", + "typedoc": "^0.11.1", "typescript": "^2.8.1" }, "optionalDependencies": { diff --git a/packages/api/core/README.md b/packages/api/core/README.md index bc38706a59..954c149cc8 100644 --- a/packages/api/core/README.md +++ b/packages/api/core/README.md @@ -1 +1,26 @@ -# Electron Forge Core \ No newline at end of file +# Electron Forge Core + +This module contains the core logic of Electron Forge and exposes the base +API as a number of simple JS functions. + +## Basic Usage + +```js +import { api } from '@electron-forge/core' + +// Package the current directory as an Electron app +api.package(__dirname); +``` + +The named export `api` has it's methods documented over at [ForgeAPI](classes/forgeapi.html). +All the methods are async and expose the core forge methods, please note that all +user-side configuration is still done through your forge config file or the "config.forge" +section of your package.json. This API simply let's you call the methods in +node land without using the CLI. + +## Error Handling + +As all methods return a promise you should handle all rejections, you should note +that rejections will **not** always be errors, in fact we commonly reject our +promises with just strings so do not assume that properties such as `stack` or +`message` will exist on thrown errors. \ No newline at end of file diff --git a/packages/api/core/src/api/index.ts b/packages/api/core/src/api/index.ts index 09cdb4e3f1..453bd47284 100644 --- a/packages/api/core/src/api/index.ts +++ b/packages/api/core/src/api/index.ts @@ -11,20 +11,69 @@ import _package, { PackageOptions } from './package'; import publish, { PublishOptions } from './publish'; import start, { StartOptions } from './start'; -import getForgeConfig from '../util/forge-config'; -import readPackageJSON from '../util/read-package-json'; - -const api = { - 'import': _import, - init, - install, - lint, - make, - 'package': _package, - publish, - start, +export class ForgeAPI { + /** + * Attempt to import a given module directory to the Electron Forge standard. + * + * * Sets up `git` and the correct NPM dependencies + * * Adds a template forge config to `package.json` + */ + import(opts: ImportOptions) { + return _import(opts); + } + /** + * Initialize a new Electron Forge template project in the given directory. + */ + init(opts: InitOptions) { + return init(opts); + } + /** + * Install an Electron application from GitHub. + * + * Works on all three platforms for all major distributable types. + */ + install(opts: InstallOptions) { + return install(opts); + } + /** + * Lint a local Electron application. + * + * The promise will be rejected with the stdout+stderr of the linting process + * if linting fails or will be resolved if it succeeds. + */ + lint(opts: LintOptions) { + return lint(opts); + } + /** + * Make distributables for an Electron application + */ + make(opts: MakeOptions) { + return make(opts); + } + /** + * Resolves hooks if they are a path to a file (instead of a `Function`) + */ + package(opts: PackageOptions) { + return _package(opts); + } + /** + * Publish an Electron application into the given target service + */ + publish(opts: PublishOptions) { + return publish(opts); + } + /** + * Start an Electron application. + * + * Handles things like native module rebuilding for you on the fly + */ + start(opts: StartOptions) { + return start(opts); + } } +const api = new ForgeAPI(); + export { ForgeMakeResult, ImportOptions, diff --git a/packages/maker/base/src/Maker.ts b/packages/maker/base/src/Maker.ts index 07487e955a..82aa198513 100644 --- a/packages/maker/base/src/Maker.ts +++ b/packages/maker/base/src/Maker.ts @@ -5,29 +5,41 @@ import fs from 'fs-extra'; import path from 'path'; export interface MakerOptions { - /* The directory containing the packaged Electron application */ + /** + * The directory containing the packaged Electron application + */ dir: string; - /* + /** * The directory you should put all your artifacts in (potentially in sub folders) * NOTE: this directory is not guarunteed to already exist */ makeDir: string - /* The resolved human friendly name of the project */ + /** + * The resolved human friendly name of the project + */ appName: string; - /* The target platform you should make for */ + /** + * The target platform you should make for + */ targetPlatform: ForgePlatform; - /* The target architecture you should make for */ + /** + * The target architecture you should make for + */ targetArch: ForgeArch; - /* Fully resolved forge configuration, you shouldn't really need this */ + /** + * Fully resolved forge configuration, you shouldn't really need this + */ forgeConfig: ForgeConfig; - /* The applications package.json file */ + /** + * The applications package.json file + */ packageJSON: any; } export default abstract class Maker { public abstract name: string; public abstract defaultPlatforms: ForgePlatform[]; - __isElectronForgeMaker?: boolean; + __isElectronForgeMaker!: true; constructor(public config: C = {} as C, protected _platforms?: ForgePlatform[]) { Object.defineProperty(this, '__isElectronForgeMaker', { diff --git a/packages/maker/deb/src/Config.ts b/packages/maker/deb/src/Config.ts index 43e3e2b617..ad539521df 100644 --- a/packages/maker/deb/src/Config.ts +++ b/packages/maker/deb/src/Config.ts @@ -1,125 +1,127 @@ -export interface MakerDebConfig { - options?: { - /** - * Name of the package (e.g. atom), used in the Package field of the control - * specification. - * - * Package names [...] must consist only of lower case letters (a-z), digits - * (0-9), plus (+) and minus (-) signs, and periods (.). They must be at - * least two characters long and must start with an alphanumeric character. - */ - name?: string; - /** - * Name of the application (e.g. Atom), used in the Name field of the desktop specification. - */ - productName?: string; - /** - * Generic name of the application (e.g. Text Editor), used in the GenericName field of the desktop specification. - */ - genericName?: string; - /** - * Short description of the application, used in the Description field of the control specification. - */ - description?: string; - /** - * Long description of the application, used in the Description field of the control specification. - */ - productDescription?: string; - /** - * Version number of the package, used in the Version field of the control specification. - */ - version?: string; - /** - * Revision number of the package, used in the Version field of the control specification. - */ - revision?: string; - /** - * Application area into which the package has been classified. - * - * Possible sections. Generated on https://packages.debian.org/unstable/ with: - * - * $$('#content dt a').map(n => {const ss = n.href.split('/'); return `'${ss[ss.length - 2]}'`; }).sort().join(' | ') - */ - section?: 'admin' | 'cli-mono' | 'comm' | 'database' | 'debian-installer' | 'debug' | 'devel' | 'doc' | 'editors' | 'education' | 'electronics' | 'embedded' | 'fonts' | 'games' | 'gnome' | 'gnu-r' | 'gnustep' | 'graphics' | 'hamradio' | 'haskell' | 'httpd' | 'interpreters' | 'introspection' | 'java' | 'javascript' | 'kde' | 'kernel' | 'libdevel' | 'libs' | 'lisp' | 'localization' | 'mail' | 'math' | 'metapackages' | 'misc' | 'net' | 'news' | 'ocaml' | 'oldlibs' | 'otherosfs' | 'perl' | 'php' | 'python' | 'ruby' | 'rust' | 'science' | 'shells' | 'sound' | 'tasks' | 'tex' | 'text' | 'utils' | 'vcs' | 'video' | 'virtual' | 'web' | 'x11' | 'xfce' | 'zope'; - /** - * How important is it to have the package installed. - * - * You can read more: https://www.debian.org/doc/debian-policy/#priorities - */ - priority?: 'required' | 'important' | 'standard' | 'optional'; - /** - * Estimate of the total amount of disk space required to install the named package, - * used in the Installed-Size field of the control specification. - */ - size?: number; - /** - * Relationships to other packages, used in the Depends field of the control specification. - */ - depends?: string[]; - /** - * Relationships to other packages, used in the Recommends field of the control specification. - */ - recommends?: string[]; - /** - * Relationships to other packages, used in the Suggests field of the control specification. - */ - suggests?: string[]; - /** - * Relationships to other packages, used in the Enhances field of the control specification. - */ - enhances?: string[]; - /** - * Relationships to other packages, used in the Pre-Depends field of the control specification. - */ - preDepends?: string[]; - /** - * Maintainer of the package, used in the Maintainer field of the control specification. - */ - maintainer?: string; - /** - * URL of the homepage for the package, used in the Homepage field of the control specification. - */ - homepage?: string; - /** - * Relative path to the executable that will act as binary for the application, used in the Exec field of the desktop specification. - * - * Defaults to options.name - */ - bin?: string; - /** - * Path to a single image that will act as icon for the application: - */ - icon?: string; - /** - * Categories in which the application should be shown in a menu, used in the Categories field of the desktop specification. - * - * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: - * - * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` - */ - categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; - /** - * MIME types the application is able to open, used in the MimeType field of the desktop specification. - */ - mimeType?: string[]; - /** - * You can use these to quieten lintian. - */ - lintianOverrides?: string[]; - /** - * Path to package maintainer scripts with their corresponding name, used in the installation procedure: - * - * Read More: https://www.debian.org/doc/debian-policy/#package-maintainer-scripts-and-installation-procedure - */ - scripts?: { - preinst?: string; - postinst?: string; - prerm?: string; - postrm?: string; - } - /** - * The absolute path to a custom template for the generated FreeDesktop.org desktop entry file. - */ - desktopTemplate?: string; +export interface MakerDebConfigOptions { + /** + * Name of the package (e.g. atom), used in the Package field of the control + * specification. + * + * Package names [...] must consist only of lower case letters (a-z), digits + * (0-9), plus (+) and minus (-) signs, and periods (.). They must be at + * least two characters long and must start with an alphanumeric character. + */ + name?: string; + /** + * Name of the application (e.g. Atom), used in the Name field of the desktop specification. + */ + productName?: string; + /** + * Generic name of the application (e.g. Text Editor), used in the GenericName field of the desktop specification. + */ + genericName?: string; + /** + * Short description of the application, used in the Description field of the control specification. + */ + description?: string; + /** + * Long description of the application, used in the Description field of the control specification. + */ + productDescription?: string; + /** + * Version number of the package, used in the Version field of the control specification. + */ + version?: string; + /** + * Revision number of the package, used in the Version field of the control specification. + */ + revision?: string; + /** + * Application area into which the package has been classified. + * + * Possible sections. Generated on https://packages.debian.org/unstable/ with: + * + * $$('#content dt a').map(n => {const ss = n.href.split('/'); return `'${ss[ss.length - 2]}'`; }).sort().join(' | ') + */ + section?: 'admin' | 'cli-mono' | 'comm' | 'database' | 'debian-installer' | 'debug' | 'devel' | 'doc' | 'editors' | 'education' | 'electronics' | 'embedded' | 'fonts' | 'games' | 'gnome' | 'gnu-r' | 'gnustep' | 'graphics' | 'hamradio' | 'haskell' | 'httpd' | 'interpreters' | 'introspection' | 'java' | 'javascript' | 'kde' | 'kernel' | 'libdevel' | 'libs' | 'lisp' | 'localization' | 'mail' | 'math' | 'metapackages' | 'misc' | 'net' | 'news' | 'ocaml' | 'oldlibs' | 'otherosfs' | 'perl' | 'php' | 'python' | 'ruby' | 'rust' | 'science' | 'shells' | 'sound' | 'tasks' | 'tex' | 'text' | 'utils' | 'vcs' | 'video' | 'virtual' | 'web' | 'x11' | 'xfce' | 'zope'; + /** + * How important is it to have the package installed. + * + * You can read more: https://www.debian.org/doc/debian-policy/#priorities + */ + priority?: 'required' | 'important' | 'standard' | 'optional'; + /** + * Estimate of the total amount of disk space required to install the named package, + * used in the Installed-Size field of the control specification. + */ + size?: number; + /** + * Relationships to other packages, used in the Depends field of the control specification. + */ + depends?: string[]; + /** + * Relationships to other packages, used in the Recommends field of the control specification. + */ + recommends?: string[]; + /** + * Relationships to other packages, used in the Suggests field of the control specification. + */ + suggests?: string[]; + /** + * Relationships to other packages, used in the Enhances field of the control specification. + */ + enhances?: string[]; + /** + * Relationships to other packages, used in the Pre-Depends field of the control specification. + */ + preDepends?: string[]; + /** + * Maintainer of the package, used in the Maintainer field of the control specification. + */ + maintainer?: string; + /** + * URL of the homepage for the package, used in the Homepage field of the control specification. + */ + homepage?: string; + /** + * Relative path to the executable that will act as binary for the application, used in the Exec field of the desktop specification. + * + * Defaults to options.name + */ + bin?: string; + /** + * Path to a single image that will act as icon for the application: + */ + icon?: string; + /** + * Categories in which the application should be shown in a menu, used in the Categories field of the desktop specification. + * + * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: + * + * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` + */ + categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; + /** + * MIME types the application is able to open, used in the MimeType field of the desktop specification. + */ + mimeType?: string[]; + /** + * You can use these to quieten lintian. + */ + lintianOverrides?: string[]; + /** + * Path to package maintainer scripts with their corresponding name, used in the installation procedure: + * + * Read More: https://www.debian.org/doc/debian-policy/#package-maintainer-scripts-and-installation-procedure + */ + scripts?: { + preinst?: string; + postinst?: string; + prerm?: string; + postrm?: string; } + /** + * The absolute path to a custom template for the generated FreeDesktop.org desktop entry file. + */ + desktopTemplate?: string; +} + +export interface MakerDebConfig { + options?: MakerDebConfigOptions; } \ No newline at end of file diff --git a/packages/maker/dmg/src/Config.ts b/packages/maker/dmg/src/Config.ts index 455a0ae193..b340fe979d 100644 --- a/packages/maker/dmg/src/Config.ts +++ b/packages/maker/dmg/src/Config.ts @@ -25,6 +25,8 @@ export interface MakerDMGConfig { 'icon-size'?: number; /** * Disk image format + * + * Default: UDZO */ format?: 'UDRW' | 'UDRO' | 'UDCO' | 'UDZO' | 'UDBZ' | 'ULFO'; } \ No newline at end of file diff --git a/packages/maker/flatpak/src/Config.ts b/packages/maker/flatpak/src/Config.ts index 5e688cbe8d..25bb312b21 100644 --- a/packages/maker/flatpak/src/Config.ts +++ b/packages/maker/flatpak/src/Config.ts @@ -1,104 +1,106 @@ +export interface MakerFlatpakOptionsConfig { + /** + * App id of the flatpak, used in the id field of a flatpak-builder manifest. + * + * Default: io.atom.electron + */ + id?: string; + /** + * Name of the application (e.g. Atom), used in the Name field of the desktop specification. + */ + productName?: string; + /** + * Generic name of the application (e.g. Text Editor), used in the GenericName field of the desktop specification. + */ + genericName?: string; + /** + * Short description of the application, used in the Comment field of the desktop specification. + */ + description?: string; + /** + * Release branch of the flatpak, used in the branch field of a flatpak-builder manifest. + * + * Default: master + */ + branch?: string; + /** + * Base app to use when building the flatpak, used in the base field of a flatpak-builder manifest. + * + * Default: io.atom.electron.BaseApp + */ + base?: string; + /** + * Base app version, used in the base-version field of a flatpak-builder manifest. + * + * Default: master + */ + baseVersion?: string; + /** + * Url of a flatpakref to use to auto install the base application. + */ + baseFlatpakref?: string; + /** + * Runtime id, used in the runtime field of a flatpak-builder manifest. + * + * Default: org.freedesktop.Platform + */ + runtime?: string; + /** + * Runtime version, used in the runtime-version field of a flatpak-builder manifest. + * + * Default: 1.4 + */ + runtimeVersion?: string; + /** + * Sdk id, used in the sdk field of a flatpak-builder manifest. + * + * Default: org.freedesktop.Sdk + */ + sdk?: string; + /** + * Arguments to use when call flatpak build-finish, use in the finish-args field of a flatpak-builder manifest. + */ + finishArgs?: string[]; + /** + * Files to copy directly into the app. Should be a list of [source, dest] tuples. + * Source should be a relative/absolute path to a file/directory to copy + * into the flatpak, and dest should be the path inside the app install + * prefix (e.g. /share/applications/) + * + * Application assets and code will be fully handled by electron-packager, + * but this is a useful way to install things such as appstream metadata + * for an app, or dbus configuration files. + */ + files: Array<[string, string]>; + /** + * This option can be used to build extra software modules into the flatpak + * application sandbox. Most electron applications will not need this, but + * if you are using native node modules that require certain libraries on + * the system, this may be necessary. + */ + modules?: any[]; + /** + * Relative path to the executable that will act as binary for the application, used in the Exec field of the desktop specification. + */ + bin?: string; + /** + * Path to a single image that will act as icon for the application: + */ + icon?: string; + /** + * Categories in which the application should be shown in a menu, used in the Categories field of the desktop specification. + * + * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: + * + * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` + */ + categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; + /** + * MIME types the application is able to open, used in the MimeType field of the desktop specification. + */ + mimeType?: string[]; +} + export interface MakerFlatpakConfig { - options?: { - /** - * App id of the flatpak, used in the id field of a flatpak-builder manifest. - * - * Default: io.atom.electron - */ - id?: string; - /** - * Name of the application (e.g. Atom), used in the Name field of the desktop specification. - */ - productName?: string; - /** - * Generic name of the application (e.g. Text Editor), used in the GenericName field of the desktop specification. - */ - genericName?: string; - /** - * Short description of the application, used in the Comment field of the desktop specification. - */ - description?: string; - /** - * Release branch of the flatpak, used in the branch field of a flatpak-builder manifest. - * - * Default: master - */ - branch?: string; - /** - * Base app to use when building the flatpak, used in the base field of a flatpak-builder manifest. - * - * Default: io.atom.electron.BaseApp - */ - base?: string; - /** - * Base app version, used in the base-version field of a flatpak-builder manifest. - * - * Default: master - */ - baseVersion?: string; - /** - * Url of a flatpakref to use to auto install the base application. - */ - baseFlatpakref?: string; - /** - * Runtime id, used in the runtime field of a flatpak-builder manifest. - * - * Default: org.freedesktop.Platform - */ - runtime?: string; - /** - * Runtime version, used in the runtime-version field of a flatpak-builder manifest. - * - * Default: 1.4 - */ - runtimeVersion?: string; - /** - * Sdk id, used in the sdk field of a flatpak-builder manifest. - * - * Default: org.freedesktop.Sdk - */ - sdk?: string; - /** - * Arguments to use when call flatpak build-finish, use in the finish-args field of a flatpak-builder manifest. - */ - finishArgs?: string[]; - /** - * Files to copy directly into the app. Should be a list of [source, dest] tuples. - * Source should be a relative/absolute path to a file/directory to copy - * into the flatpak, and dest should be the path inside the app install - * prefix (e.g. /share/applications/) - * - * Application assets and code will be fully handled by electron-packager, - * but this is a useful way to install things such as appstream metadata - * for an app, or dbus configuration files. - */ - files: Array<[string, string]>; - /** - * This option can be used to build extra software modules into the flatpak - * application sandbox. Most electron applications will not need this, but - * if you are using native node modules that require certain libraries on - * the system, this may be necessary. - */ - modules?: any[]; - /** - * Relative path to the executable that will act as binary for the application, used in the Exec field of the desktop specification. - */ - bin?: string; - /** - * Path to a single image that will act as icon for the application: - */ - icon?: string; - /** - * Categories in which the application should be shown in a menu, used in the Categories field of the desktop specification. - * - * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: - * - * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` - */ - categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; - /** - * MIME types the application is able to open, used in the MimeType field of the desktop specification. - */ - mimeType?: string[]; - } + options?: MakerFlatpakOptionsConfig; } \ No newline at end of file diff --git a/packages/maker/rpm/src/Config.ts b/packages/maker/rpm/src/Config.ts index e2b11b8c9f..11013676bd 100644 --- a/packages/maker/rpm/src/Config.ts +++ b/packages/maker/rpm/src/Config.ts @@ -1,79 +1,81 @@ +export interface MakerRpmConfigOptions { + /** + * Name of the package (e.g. atom), used in the Package field of the control + * specification. + */ + name?: string; + /** + * Name of the application (e.g. Atom), used in the Name field of the desktop specification. + */ + productName?: string; + /** + * Generic name of the application (e.g. Text Editor), used in the GenericName field of the desktop specification. + */ + genericName?: string; + /** + * Short description of the application, used in the Summary field of the spec file. + */ + description?: string; + /** + * Long description of the application, used in the %description tag of the spec file. + */ + productDescription?: string; + /** + * Version number of the package, used in the Version field of the spec file. + */ + version?: string; + /** + * Revision number of the package, used in the Release field of the spec file. + */ + revision?: string; + /** + * License of the package, used in the License field of the spec file. + */ + license?: string; + /** + * Group of the package, used in the Group field of the spec file. + */ + group?: string; + /** + * Packages that are required when the program starts, used in the Requires field of the spec file. + */ + requires?: string[]; + /** + * URL of the homepage for the package, used in the Homepage field of the control specification. + */ + homepage?: string; + /** + * Package compression level, from 0 to 9. + */ + compressionLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9; + /** + * Relative path to the executable that will act as binary for the application, used in the Exec field of the desktop specification. + * + * Defaults to options.name + */ + bin?: string; + /** + * Command-line arguments to pass to the executable. Will be added to the Exec field of the desktop specification. + */ + execArguments?: string[]; + /** + * Path to a single image that will act as icon for the application: + */ + icon?: string; + /** + * Categories in which the application should be shown in a menu, used in the Categories field of the desktop specification. + * + * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: + * + * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` + */ + categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; + /** + * MIME types the application is able to open, used in the MimeType field of the desktop specification. + */ + mimeType?: string[]; +} + export interface MakerRpmConfig { - options?: { - /** - * Name of the package (e.g. atom), used in the Package field of the control - * specification. - */ - name?: string; - /** - * Name of the application (e.g. Atom), used in the Name field of the desktop specification. - */ - productName?: string; - /** - * Generic name of the application (e.g. Text Editor), used in the GenericName field of the desktop specification. - */ - genericName?: string; - /** - * Short description of the application, used in the Summary field of the spec file. - */ - description?: string; - /** - * Long description of the application, used in the %description tag of the spec file. - */ - productDescription?: string; - /** - * Version number of the package, used in the Version field of the spec file. - */ - version?: string; - /** - * Revision number of the package, used in the Release field of the spec file. - */ - revision?: string; - /** - * License of the package, used in the License field of the spec file. - */ - license?: string; - /** - * Group of the package, used in the Group field of the spec file. - */ - group?: string; - /** - * Packages that are required when the program starts, used in the Requires field of the spec file. - */ - requires?: string[]; - /** - * URL of the homepage for the package, used in the Homepage field of the control specification. - */ - homepage?: string; - /** - * Package compression level, from 0 to 9. - */ - compressionLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9; - /** - * Relative path to the executable that will act as binary for the application, used in the Exec field of the desktop specification. - * - * Defaults to options.name - */ - bin?: string; - /** - * Command-line arguments to pass to the executable. Will be added to the Exec field of the desktop specification. - */ - execArguments?: string[]; - /** - * Path to a single image that will act as icon for the application: - */ - icon?: string; - /** - * Categories in which the application should be shown in a menu, used in the Categories field of the desktop specification. - * - * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: - * - * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` - */ - categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; - /** - * MIME types the application is able to open, used in the MimeType field of the desktop specification. - */ - mimeType?: string[]; - } + options?: MakerRpmConfigOptions; } diff --git a/packages/maker/squirrel/src/Config.ts b/packages/maker/squirrel/src/Config.ts new file mode 100644 index 0000000000..44939a2568 --- /dev/null +++ b/packages/maker/squirrel/src/Config.ts @@ -0,0 +1,102 @@ +export interface MakerSquirrelConfig { + /** + * The local path to a `.gif` file to display during install. + */ + loadingGif?: string; + /** + * The authors value for the nuget package metadata. + * + * Defaults to the `author` field from your app's package.json file when unspecified. + */ + authors?: string; + /** + * The owners value for the nuget package metadata. + * + * Defaults to the `authors` field when unspecified. + */ + owners?: string; + /** + * The copyright value for the nuget package metadata. + * + * Defaults to a generated copyright with `authors` or `owners`. + */ + copyright?: string; + /** + * The name of your app's main `.exe` file. + * + * This uses the `name` field in your app's package.json file with an added `.exe` extension when unspecified. + */ + exe?: string; + /** + * The description value for the nuget package metadata. + * + * Defaults to the `description` field from your app's package.json file when unspecified. + */ + description?: string; + /** + * The version value for the nuget package metadata. + * + * Defaults to the `version` field from your app's package.json file when unspecified. + */ + version?: string; + /** + * The title value for the nuget package metadata. + * + * Defaults to the `productName` field and then the `name` field from your app's package.json file when unspecified. + */ + title?: string; + /** + * Windows Application Model ID (appId). + * + * Defaults to the name field in your app's package.json file. + */ + name?: string; + /** + * The path to an Authenticode Code Signing Certificate + */ + certificateFile?: string; + /** + * The password to decrypt the certificate given in `certificateFile` + */ + certificatePassword?: string; + /** + * Params to pass to signtool. + * + * Overrides `certificateFile` and `certificatePassword`. + */ + signWithParams?: string; + /** + * A URL to an ICO file to use as the application icon (displayed in Control Panel > Programs and Features). + * + * Defaults to the Atom icon. + */ + iconUrl?: string; + /** + * The ICO file to use as the icon for the generated Setup.exe + */ + setupIcon?: string; + /** + * The name to use for the generated Setup.exe file + */ + setupExe?: string; + /** + * The name to use for the generated Setup.msi file + */ + setupMsi?: string; + /** + * Should Squirrel.Windows create an MSI installer? + */ + noMsi?: boolean; + /** + * Should Squirrel.Windows delta packages? (disable only if necessary, they are a Good Thing) + */ + noDelta?: boolean; + /** + * A URL to your existing updates. If given, these will be downloaded to create delta updates + */ + remoteReleases?: string; + /** + * Authentication token for remote updates + */ + remoteToken?: string; +} \ No newline at end of file diff --git a/packages/maker/squirrel/src/MakerSquirrel.ts b/packages/maker/squirrel/src/MakerSquirrel.ts index 10bb07202b..fabc98c813 100644 --- a/packages/maker/squirrel/src/MakerSquirrel.ts +++ b/packages/maker/squirrel/src/MakerSquirrel.ts @@ -5,12 +5,9 @@ import { createWindowsInstaller, Options as ElectronWinstallerOptions } from 'el import fs from 'fs-extra'; import path from 'path'; -// Hacks to fix make appDirectory optional -export type Optional = { - [K in keyof T]?: T[K]; -} +import { MakerSquirrelConfig } from './Config'; -export default class MakerSquirrel extends MakerBase> { +export default class MakerSquirrel extends MakerBase { name = 'squirrel'; defaultPlatforms: ForgePlatform[] = ['win32']; @@ -28,7 +25,7 @@ export default class MakerSquirrel extends MakerBase { +import { MakerWixConfig } from './Config'; + +export default class MakerWix extends MakerBase { name = 'wix'; defaultPlatforms: ForgePlatform[] = ['win32']; diff --git a/packages/publisher/base/src/Publisher.ts b/packages/publisher/base/src/Publisher.ts index d37076bdac..e67d73e383 100644 --- a/packages/publisher/base/src/Publisher.ts +++ b/packages/publisher/base/src/Publisher.ts @@ -22,7 +22,7 @@ export interface PublisherOptions { export default abstract class Publisher { public abstract name: string; public defaultPlatforms?: ForgePlatform[]; - __isElectronForgePublisher?: boolean; + __isElectronForgePublisher!: true; constructor(public config: C, protected _platforms?: ForgePlatform[]) { this.config = config; diff --git a/packages/publisher/electron-release-server/src/Config.ts b/packages/publisher/electron-release-server/src/Config.ts index e5062e68b0..ba50a34a9e 100644 --- a/packages/publisher/electron-release-server/src/Config.ts +++ b/packages/publisher/electron-release-server/src/Config.ts @@ -1,6 +1,26 @@ export interface PublisherERSConfig { + /** + * The base URL of your instance of ERS. + * + * E.g. https://my-update.server.com + */ baseUrl: string; + /** + * The username you use to sign in to ERS + */ username: string; + /** + * The password you use to sign in to ERS + */ password: string; + /** + * The release channel you want to send artifacts to, normally something like + * "stable", "beta" or "alpha". + * + * If left unspecified we will try to infer the channel from your version + * field in your package.json. + * + * Default: stable + */ channel?: string; } \ No newline at end of file diff --git a/packages/publisher/github/src/Config.ts b/packages/publisher/github/src/Config.ts index 3d18371e60..98eee67c2a 100644 --- a/packages/publisher/github/src/Config.ts +++ b/packages/publisher/github/src/Config.ts @@ -1,12 +1,42 @@ import { Options } from '@octokit/rest'; -export interface PublisherGithubConfig { - repository: { - name: string; - owner: string; - draft?: boolean; - } +export interface GitHubRepository { + /** + * The name of your repository + */ + name: string; + /** + * The owner of your repository, this is either your username or the name of + * the organization that owns the repository. + */ + owner: string; +} + +export interface PublisherGitHubConfig { + /** + * Details that identify your repository (name and owner) + */ + repository: GitHubRepository; + /** + * An authorization token with permission to upload releases to this + * repository. + * + * You can set the GITHUB_TOKEN environment variable if you don't want to hard + * code this into your config. + */ authToken?: string; + /** + * This options object is directly passed to @octokit/rest so you can + * customize any of the options that module uses. This is particularly + * helpful for publishing to GitHub Enterprise servers. + */ octokitOptions?: Options; + /** + * Whether or not this release should be tagged as a prerelease + */ prerelease?: boolean; + /** + * Whether or not this release should be tagged as a draft + */ + draft?: boolean; } \ No newline at end of file diff --git a/packages/publisher/github/src/PublisherGithub.ts b/packages/publisher/github/src/PublisherGithub.ts index c62a6a3e3d..5edd5efdc3 100644 --- a/packages/publisher/github/src/PublisherGithub.ts +++ b/packages/publisher/github/src/PublisherGithub.ts @@ -6,7 +6,7 @@ import mime from 'mime-types'; import path from 'path'; import GitHub from './util/github'; -import { PublisherGithubConfig } from './Config'; +import { PublisherGitHubConfig } from './Config'; import { ForgeMakeResult } from '@electron-forge/shared-types'; interface GitHubRelease { @@ -17,7 +17,7 @@ interface GitHubRelease { upload_url: string; } -export default class PublisherGithub extends PublisherBase { +export default class PublisherGithub extends PublisherBase { name = 'github'; async publish({ makeResults }: PublisherOptions) { @@ -64,7 +64,7 @@ export default class PublisherGithub extends PublisherBase string; } \ No newline at end of file diff --git a/packages/publisher/s3/src/PublisherS3.ts b/packages/publisher/s3/src/PublisherS3.ts index fde48d82c5..a5eaeb4f8b 100644 --- a/packages/publisher/s3/src/PublisherS3.ts +++ b/packages/publisher/s3/src/PublisherS3.ts @@ -43,8 +43,8 @@ export default class PublisherS3 extends PublisherBase { } const s3Client = new AWS.S3({ - accessKeyId: config.accessKeyId, - secretAccessKey: config.secretAccessKey, + accessKeyId: config.accessKeyId || process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: config.secretAccessKey || process.env.AWS_SECRET_ACCESS_KEY, }); if (!s3Client.config.credentials || !config.bucket) { diff --git a/packages/utils/types/index.d.ts b/packages/utils/types/index.d.ts deleted file mode 100644 index 48f367b358..0000000000 --- a/packages/utils/types/index.d.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { ChildProcess } from "child_process"; -import { Options } from "electron-packager"; -import { RebuildOptions } from "electron-rebuild/lib/src/rebuild"; - -declare module '@electron-forge/shared-types' { - export type ForgePlatform = 'darwin' | 'mas' | 'win32' | 'linux'; - export type ForgeArch = 'ia32' | 'x64' | 'armv7l' | 'arm'; - export type ForgeHookFn = (forgeConfig: ForgeConfig, ...args: any[]) => Promise; - export interface IForgePluginInterface { - triggerHook(hookName: string, hookArgs: any[]): Promise; - overrideStartLogic(opts: any): Promise; - } - export interface ForgeConfig { - /** - * A string to uniquely identify artifacts of this build, will be appended - * to the out dir to generate a nested directory. E.g. out/current-timestamp - * - * If a function is provided it must syncronously return the buildIdentifier - */ - buildIdentifier?: string | (() => string); - hooks?: { - [hookName: string]: ForgeHookFn; - }; - /** - * @generated - */ - pluginInterface: IForgePluginInterface; - /** - * An array of forge plugins or a tuple consisting of [pluginName, pluginOptions] - */ - plugins: (IForgePlugin | [string, any])[]; - electronRebuildConfig: RebuildOptions; - packagerConfig: Options; - makers: (IForgeResolvableMaker | IForgeMaker)[]; - publishers: (IForgeResolvablePublisher | IForgePublisher | string)[]; - } - export interface ForgeMakeResult { - /** - * An array of paths to artifacts generated for this make run - */ - artifacts: Array; - /** - * The state of the package.json file when the make happened - */ - packageJSON: any; - /** - * The platform this make run was for - */ - platform: ForgePlatform; - /** - * The arch this make run was for - */ - arch: ForgeArch; - } - - export interface IForgePlugin { - __isElectronForgePlugin: boolean; - name: string; - - init(dir: string, forgeConfig: ForgeConfig): void; - getHook?(hookName: string): ForgeHookFn | null; - // FIXME: MarshallOfSound - Having any here is depressing - startLogic?(opts: any): Promise; - } - - export interface IForgeResolvableMaker { - name: string; - platforms: ForgePlatform[] | null; - config: any; - } - - export interface IForgeMaker { - __isElectronForgeMaker: boolean; - platforms?: undefined; - } - - export interface IForgeResolvablePublisher { - name: string; - platforms?: ForgePlatform[] | null; - config?: any; - } - - export interface IForgePublisher { - __isElectronForgePublisher: boolean; - platforms?: undefined; - } -} diff --git a/packages/utils/types/src/index.ts b/packages/utils/types/src/index.ts index 9fddf47b64..3df958942a 100644 --- a/packages/utils/types/src/index.ts +++ b/packages/utils/types/src/index.ts @@ -1,3 +1,87 @@ -export type Foo = 'bar'; +import { ChildProcess } from "child_process"; +import { Options } from "electron-packager"; +import { RebuildOptions } from "electron-rebuild/lib/src/rebuild"; -throw new Error('Lol you can\'t do that...'); +// declare module '@electron-forge/shared-types' { + export type ForgePlatform = 'darwin' | 'mas' | 'win32' | 'linux'; + export type ForgeArch = 'ia32' | 'x64' | 'armv7l' | 'arm'; + export type ForgeHookFn = (forgeConfig: ForgeConfig, ...args: any[]) => Promise; + export interface IForgePluginInterface { + triggerHook(hookName: string, hookArgs: any[]): Promise; + overrideStartLogic(opts: any): Promise; + } + export interface ForgeConfig { + /** + * A string to uniquely identify artifacts of this build, will be appended + * to the out dir to generate a nested directory. E.g. out/current-timestamp + * + * If a function is provided it must syncronously return the buildIdentifier + */ + buildIdentifier?: string | (() => string); + hooks?: { + [hookName: string]: ForgeHookFn; + }; + /** + * @generated + */ + pluginInterface: IForgePluginInterface; + /** + * An array of forge plugins or a tuple consisting of [pluginName, pluginOptions] + */ + plugins: (IForgePlugin | [string, any])[]; + electronRebuildConfig: RebuildOptions; + packagerConfig: Options; + makers: (IForgeResolvableMaker | IForgeMaker)[]; + publishers: (IForgeResolvablePublisher | IForgePublisher | string)[]; + } + export interface ForgeMakeResult { + /** + * An array of paths to artifacts generated for this make run + */ + artifacts: Array; + /** + * The state of the package.json file when the make happened + */ + packageJSON: any; + /** + * The platform this make run was for + */ + platform: ForgePlatform; + /** + * The arch this make run was for + */ + arch: ForgeArch; + } + + export interface IForgePlugin { + __isElectronForgePlugin: boolean; + name: string; + + init(dir: string, forgeConfig: ForgeConfig): void; + getHook?(hookName: string): ForgeHookFn | null; + /* FIXME: MarshallOfSound - Having any here is depressing */ + startLogic?(opts: any): Promise; + } + + export interface IForgeResolvableMaker { + name: string; + platforms: ForgePlatform[] | null; + config: any; + } + + export interface IForgeMaker { + __isElectronForgeMaker: boolean; + platforms?: undefined; + } + + export interface IForgeResolvablePublisher { + name: string; + platforms?: ForgePlatform[] | null; + config?: any; + } + + export interface IForgePublisher { + __isElectronForgePublisher: boolean; + platforms?: undefined; + } +// } diff --git a/tools/copy-now.ts b/tools/copy-now.ts new file mode 100644 index 0000000000..c0f57f099f --- /dev/null +++ b/tools/copy-now.ts @@ -0,0 +1,9 @@ +import fs from 'fs-extra'; +import path from 'path'; + +const BASE_DIR = path.resolve(__dirname, '..'); +const DOCS_DIR = path.resolve(BASE_DIR, 'docs'); + +(async () => { + await fs.copy(path.resolve(BASE_DIR, '.now.json'), path.resolve(DOCS_DIR, 'now.json')); +})() \ No newline at end of file diff --git a/tools/copy-shared-types.ts b/tools/copy-shared-types.ts new file mode 100644 index 0000000000..6ce198f46c --- /dev/null +++ b/tools/copy-shared-types.ts @@ -0,0 +1,10 @@ +import fs from 'fs-extra'; +import path from 'path'; + +const BASE_DIR = path.resolve(__dirname, '..'); +const SHARED_TYPES_DIR = path.resolve(BASE_DIR, 'packages', 'utils', 'types'); + +(async () => { + const content = await fs.readFile(path.resolve(SHARED_TYPES_DIR, 'src', 'index.ts'), 'utf8'); + await fs.writeFile(path.resolve(SHARED_TYPES_DIR, 'index.d.ts'), content.replace(/\/\/ /g, '')); +})() \ No newline at end of file diff --git a/tools/position-docs.ts b/tools/position-docs.ts new file mode 100644 index 0000000000..9530db59bb --- /dev/null +++ b/tools/position-docs.ts @@ -0,0 +1,45 @@ +import * as fs from 'fs-extra'; +import Glob from 'glob'; +import * as path from 'path'; + +const DOCS_PATH = path.resolve(__dirname, '..', 'docs'); +const BASE_DIR = path.resolve(__dirname, '..'); +const PACKAGES_DIR = path.resolve(BASE_DIR, 'packages'); + +(async () => { + const packageDirs = []; + + for (const subDir of await fs.readdir(PACKAGES_DIR)) { + for (const packageDir of await fs.readdir(path.resolve(PACKAGES_DIR, subDir))) { + packageDirs.push(path.resolve(PACKAGES_DIR, subDir, packageDir)); + } + } + + let copiedAssets = false; + await fs.remove(path.resolve(DOCS_PATH, 'assets')); + await fs.remove(path.resolve(DOCS_PATH)); + for (const dir of packageDirs) { + const subPath = path.posix.join(path.basename(path.dirname(dir)), path.basename(dir)); + const docPath = path.resolve(DOCS_PATH, subPath); + if (!copiedAssets) { + await fs.copy(path.resolve(dir, 'doc', 'assets'), path.resolve(DOCS_PATH, 'assets')); + copiedAssets = true; + } + await fs.copy(path.resolve(dir, 'doc'), docPath); + await fs.remove(path.resolve(docPath, 'assets')); + + // Rewrite assets path to allow better cross-dep caching + // otherwise each module will have it's own unique JS file :( + const htmlFiles = await new Promise(resolve => Glob(path.resolve(docPath, '**', '*.html'), (e, l) => resolve(l))); + for (const htmlFile of htmlFiles) { + const content = await fs.readFile(htmlFile, 'utf8'); + const relative = path.relative(path.resolve(DOCS_PATH, subPath), path.dirname(htmlFile)); + await fs.writeFile(htmlFile, content + .replace(/=\"[^"]*assets\//gi, '="/assets/') + .replace(/( { + return `${m1}/${path.posix.join(subPath, relative, m2)}"`; + }) + ); + } + } +})(); diff --git a/yarn.lock b/yarn.lock index 049a8fefd7..3c2bc1dab1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -622,13 +622,19 @@ dependencies: "@types/node" "*" +"@types/fs-extra@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.1.tgz#cd856fbbdd6af2c11f26f8928fd8644c9e9616c9" + dependencies: + "@types/node" "*" + "@types/fs-extra@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.2.tgz#235a7e2b56452cc0a6a4809b53e1d1eaffff9c96" dependencies: "@types/node" "*" -"@types/glob@^5.0.35": +"@types/glob@*", "@types/glob@^5.0.35": version "5.0.35" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a" dependencies: @@ -636,6 +642,14 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/handlebars@4.0.36": + version "4.0.36" + resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.36.tgz#ff57c77fa1ab6713bb446534ddc4d979707a3a79" + +"@types/highlight.js@9.12.2": + version "9.12.2" + resolved "https://registry.yarnpkg.com/@types/highlight.js/-/highlight.js-9.12.2.tgz#6ee7cd395effe5ec80b515d3ff1699068cd0cd1d" + "@types/inquirer@^0.0.41": version "0.0.41" resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-0.0.41.tgz#0c33027dcd0b0dde234e22afa454f2c75d8b30d2" @@ -659,15 +673,23 @@ version "4.14.107" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.107.tgz#b2d2ae3958bfb8ff828495cbe12214af9e4d035e" +"@types/lodash@4.14.104": + version "4.14.104" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.104.tgz#53ee2357fa2e6e68379341d92eb2ecea4b11bb80" + "@types/log-symbols@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/log-symbols/-/log-symbols-2.0.0.tgz#7919e2ec3c8d13879bfdcab310dd7a3f7fc9466d" +"@types/marked@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@types/marked/-/marked-0.3.0.tgz#583c223dd33385a1dda01aaf77b0cd0411c4b524" + "@types/mime-types@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.0.tgz#9ca52cda363f699c69466c2a6ccdaad913ea7a73" -"@types/minimatch@*": +"@types/minimatch@*", "@types/minimatch@3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" @@ -799,6 +821,13 @@ version "5.5.0" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" +"@types/shelljs@0.7.8": + version "0.7.8" + resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.8.tgz#4b4d6ee7926e58d7bca448a50ba442fd9f6715bd" + dependencies: + "@types/glob" "*" + "@types/node" "*" + "@types/sinon@^4.3.1": version "4.3.1" resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-4.3.1.tgz#32458f9b166cd44c23844eee4937814276f35199" @@ -809,25 +838,14 @@ dependencies: "@types/node" "*" -JSONStream@~1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - abab@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" -abbrev@1, abbrev@~1.1.0: +abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" -abbrev@~1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - acorn-globals@^1.0.4: version "1.0.9" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" @@ -858,12 +876,6 @@ agent-base@4, agent-base@^4.1.0: dependencies: es6-promisify "^5.0.0" -agentkeepalive@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.4.0.tgz#92487926ec1a93100a89a8a46a6b2d82513543ce" - dependencies: - humanize-ms "^1.2.1" - ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" @@ -914,7 +926,7 @@ ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" -ansi-regex@^3.0.0, ansi-regex@~3.0.0: +ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" @@ -934,18 +946,6 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi@^0.3.0, ansi@~0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" - -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" - -ansistyles@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" - anymatch@^1.3.0: version "1.3.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" @@ -982,14 +982,10 @@ append-transform@^0.4.0: dependencies: default-require-extensions "^1.0.0" -aproba@^1.0.3, aproba@^1.1.1: +aproba@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" -aproba@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" - archiver@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.11.0.tgz#98177da7a6c0192b7f2798f30cd6eab8abd76690" @@ -1003,7 +999,7 @@ archiver@^0.11.0: tar-stream "~0.4.0" zip-stream "~0.4.0" -archy@^1.0.0, archy@~1.0.0: +archy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" @@ -1068,10 +1064,6 @@ arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - asar@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/asar/-/asar-0.11.0.tgz#b926e792c315f8c048c43371e325b09c97a76464" @@ -1155,17 +1147,11 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async-some@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/async-some/-/async-some-1.0.2.tgz#4d8a81620d5958791b5b98f802d3207776e95509" - dependencies: - dezalgo "^1.0.2" - async@^1.4.0, async@^1.4.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.0, async@^2.0.1, async@^2.1.5: +async@^2.0.0, async@^2.1.5: version "2.6.0" resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: @@ -1368,10 +1354,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bash-color@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/bash-color/-/bash-color-0.0.4.tgz#e9be8ce33540cada4881768c59bd63865736e913" - bcrypt-pbkdf@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" @@ -1399,25 +1381,13 @@ bl@^0.9.0, bl@~0.9.0: dependencies: readable-stream "~1.0.26" -bl@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" - dependencies: - readable-stream "^2.0.5" - -bl@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" - dependencies: - readable-stream "~2.0.5" - -block-stream@*, block-stream@0.0.9: +block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: inherits "~2.0.0" -bluebird@^3.0.6, bluebird@^3.1.1, bluebird@^3.3.4, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.0: +bluebird@^3.0.6, bluebird@^3.1.1, bluebird@^3.3.4, bluebird@^3.5.0: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -1449,7 +1419,7 @@ boom@5.x.x: dependencies: hoek "4.x.x" -boxen@^1.0.0, boxen@^1.2.1: +boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" dependencies: @@ -1523,10 +1493,6 @@ buffer-from@^0.1.1: dependencies: is-array-buffer-x "^1.0.13" -buffer-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - buffer@4.9.1: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" @@ -1543,68 +1509,6 @@ builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -builtins@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-0.0.7.tgz#355219cd6cf18dbe7c01cc7fd2dce765cfdc549a" - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - -cacache@^10.0.0: - version "10.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" - dependencies: - bluebird "^3.5.1" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^2.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^5.2.4" - unique-filename "^1.1.0" - y18n "^4.0.0" - -cacache@^9.2.9: - version "9.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.3.0.tgz#9cd58f2dd0b8c8cacf685b7067b416d6d3cf9db1" - dependencies: - bluebird "^3.5.0" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^1.3.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.1" - ssri "^4.1.6" - unique-filename "^1.1.0" - y18n "^3.2.1" - -cacache@~9.2.9: - version "9.2.9" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.2.9.tgz#f9d7ffe039851ec94c28290662afa4dd4bb9e8dd" - dependencies: - bluebird "^3.5.0" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^1.3.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.1" - ssri "^4.1.6" - unique-filename "^1.1.0" - y18n "^3.2.1" - cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -1637,10 +1541,6 @@ caching-transform@^1.0.0: mkdirp "^0.5.1" write-file-atomic "^1.1.4" -call-limit@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.0.tgz#6fd61b03f3da42a2cd0ec2b60f02bd0e71991fea" - caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" @@ -1682,10 +1582,6 @@ capture-stack-trace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1758,10 +1654,6 @@ chalk@^2.3.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -char-spinner@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/char-spinner/-/char-spinner-1.0.1.tgz#e6ea67bd247e107112983b7ab0479ed362800081" - chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -1803,10 +1695,6 @@ cheerio@0.22.0: lodash.reject "^4.4.0" lodash.some "^4.4.0" -chmodr@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chmodr/-/chmodr-1.0.2.tgz#04662b932d0f02ec66deaa2b0ea42811968e3eb9" - chokidar@^1.6.1: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1840,10 +1728,6 @@ chokidar@^2.0.2: optionalDependencies: fsevents "^1.0.0" -chownr@^1.0.1, chownr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" - chromium-pickle-js@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.1.0.tgz#1d48b107d82126a2f3e211c2ea25f803ba551b21" @@ -1921,13 +1805,6 @@ clone@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" -cmd-shim@~2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" - dependencies: - graceful-fs "^4.1.2" - mkdirp "~0.5.0" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -1984,13 +1861,6 @@ colors@~0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" -columnify@~1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" - dependencies: - strip-ansi "^3.0.0" - wcwidth "^1.0.0" - combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" @@ -2067,21 +1937,6 @@ concat-stream@1.6.0, concat-stream@^1.4.7, concat-stream@^1.5.2: readable-stream "^2.2.2" typedarray "^0.0.6" -concat-stream@^1.5.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -config-chain@~1.1.10, config-chain@~1.1.11: - version "1.1.11" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - configstore@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" @@ -2109,17 +1964,6 @@ convert-source-map@^1.1.0, convert-source-map@^1.3.0: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" @@ -2275,10 +2119,6 @@ cycle@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - cz-conventional-changelog@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-1.2.0.tgz#2bca04964c8919b23f3fd6a89ef5e6008b31b3f8" @@ -2329,10 +2169,6 @@ debug@3.1.0, debug@^3.0.0, debug@^3.0.1, debug@^3.1.0: dependencies: ms "2.0.0" -debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -2447,21 +2283,10 @@ detect-indent@^3.0.1: minimist "^1.1.0" repeating "^1.1.0" -detect-indent@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - detect-libc@^1.0.2, detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -dezalgo@^1.0.0, dezalgo@^1.0.1, dezalgo@^1.0.2, dezalgo@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - dependencies: - asap "^2.0.0" - wrappy "1" - diff@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" @@ -2546,22 +2371,13 @@ duplexer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" -duplexify@^3.4.2, duplexify@^3.5.3: - version "3.5.4" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.4.tgz#4bb46c1796eabebeec4ca9a2e66b808cb7a3d8b4" - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: jsbn "~0.1.0" -editor@1.0.0, editor@~1.0.0: +editor@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" @@ -2758,13 +2574,7 @@ electron-wix-msi@^1.3.0: lodash "^4.17.4" uuid "^3.1.0" -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.0.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" dependencies: @@ -2782,16 +2592,6 @@ env-paths@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" -err-code@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - -"errno@>=0.1.1 <0.2.0-0": - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - dependencies: - prr "~1.0.1" - error-ex@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" @@ -3423,13 +3223,6 @@ flora-colossus@^1.0.0: debug "^3.1.0" fs-extra "^4.0.0" -flush-write-stream@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.2.tgz#c81b90d8746766f1a609a46809946c45dd8ae417" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" - fmix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fmix/-/fmix-0.1.0.tgz#c7bbf124dec42c9d191cfb947d0a9778dd986c0c" @@ -3477,14 +3270,6 @@ form-data@~0.1.0: combined-stream "~0.0.4" mime "~1.2.11" -form-data@~1.0.0-rc4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" - dependencies: - async "^2.0.1" - combined-stream "^1.0.5" - mime-types "^2.1.11" - form-data@~2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" @@ -3499,20 +3284,6 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -from2@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-1.3.0.tgz#88413baaa5f9a597cfde9221d86986cd3c061dfd" - dependencies: - inherits "~2.0.1" - readable-stream "~1.1.10" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" @@ -3539,14 +3310,6 @@ fs-extra@1.0.0, fs-extra@^1.0.0: jsonfile "^2.1.0" klaw "^1.0.0" -fs-extra@3.0.1, fs-extra@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^3.0.0" - universalify "^0.1.0" - fs-extra@^0.30.0: version "0.30.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -3564,6 +3327,14 @@ fs-extra@^2.0.0, fs-extra@^2.1.2: graceful-fs "^4.1.2" jsonfile "^2.1.0" +fs-extra@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + fs-extra@^4.0.0, fs-extra@^4.0.1, fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -3590,23 +3361,6 @@ fs-temp@^1.0.0: dependencies: random-path "^0.1.0" -fs-vacuum@~1.2.10, fs-vacuum@~1.2.9: - version "1.2.10" - resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" - dependencies: - graceful-fs "^4.1.2" - path-is-inside "^1.0.1" - rimraf "^2.5.2" - -fs-write-stream-atomic@^1.0.8, fs-write-stream-atomic@~1.0.10, fs-write-stream-atomic@~1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - fs-xattr@^0.1.14: version "0.1.17" resolved "https://registry.yarnpkg.com/fs-xattr/-/fs-xattr-0.1.17.tgz#ee943483c6fe9704a8f0e1476e8145a9886f8b0f" @@ -3625,7 +3379,7 @@ fsevents@^1.0.0: nan "^2.3.0" node-pre-gyp "^0.6.39" -fstream-ignore@^1.0.0, fstream-ignore@^1.0.5: +fstream-ignore@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" dependencies: @@ -3633,21 +3387,7 @@ fstream-ignore@^1.0.0, fstream-ignore@^1.0.5: inherits "2" minimatch "^3.0.0" -fstream-npm@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.1.1.tgz#6b9175db6239a83d8209e232426c494dbb29690c" - dependencies: - fstream-ignore "^1.0.0" - inherits "2" - -fstream-npm@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.2.1.tgz#08c4a452f789dcbac4c89a4563c902b2c862fd5b" - dependencies: - fstream-ignore "^1.0.0" - inherits "2" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@~1.0.10, fstream@~1.0.11: +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: @@ -3672,30 +3412,6 @@ gar@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/gar/-/gar-1.0.2.tgz#5b7ecbbde1d3a1a8037cccc49971274250ff865b" -gauge@~1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" - dependencies: - ansi "^0.3.0" - has-unicode "^2.0.0" - lodash.pad "^4.1.0" - lodash.padend "^4.1.0" - lodash.padstart "^4.1.0" - -gauge@~2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-color "^0.1.7" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -3727,10 +3443,6 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" -genfun@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/genfun/-/genfun-4.0.1.tgz#ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1" - get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -3779,34 +3491,10 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -gitbook-cli@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/gitbook-cli/-/gitbook-cli-2.3.2.tgz#5e893582e1f743f6fa920c3c3eb36b62ea4a31a0" - dependencies: - bash-color "0.0.4" - commander "2.11.0" - fs-extra "3.0.1" - lodash "4.17.4" - npm "5.1.0" - npmi "1.0.1" - optimist "0.6.1" - q "1.5.0" - semver "5.3.0" - tmp "0.0.31" - user-home "2.0.0" - github-url-from-git@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" -github-url-from-git@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.4.0.tgz#285e6b520819001bde128674704379e4ff03e0de" - -github-url-from-username-repo@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz#7dd79330d2abe69c10c2cef79714c97215791dfa" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -3842,7 +3530,7 @@ glob@7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@~7.1.2: +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -3870,17 +3558,6 @@ glob@~3.2.6: inherits "2" minimatch "0.3" -glob@~7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -3956,7 +3633,7 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~4.1.11, graceful-fs@~4.1.6: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -3970,7 +3647,7 @@ growl@1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" -handlebars@^4.0.3: +handlebars@^4.0.3, handlebars@^4.0.6: version "4.0.11" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" dependencies: @@ -3988,15 +3665,6 @@ har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - har-validator@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" @@ -4017,10 +3685,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-color@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -4051,7 +3715,7 @@ has-to-string-tag-x@^1.4.1: dependencies: has-symbol-support-x "^1.4.1" -has-unicode@^2.0.0, has-unicode@~2.0.1: +has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -4119,6 +3783,10 @@ he@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" +highlight.js@^9.0.0: + version "9.12.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e" + hoek@0.9.x: version "0.9.1" resolved "https://registry.yarnpkg.com/hoek/-/hoek-0.9.1.tgz#3d322462badf07716ea7eb85baf88079cddce505" @@ -4141,14 +3809,10 @@ homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" -hosted-git-info@^2.1.4, hosted-git-info@^2.1.5, hosted-git-info@^2.4.2, hosted-git-info@~2.5.0: +hosted-git-info@^2.1.4: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" -hosted-git-info@~2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" - htmlparser2@^3.9.1: version "3.9.2" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" @@ -4170,11 +3834,7 @@ htmlparser2@~3.8.1: entities "1.0" readable-stream "1.1" -http-cache-semantics@^3.8.0: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - -http-proxy-agent@^2.0.0, http-proxy-agent@^2.1.0: +http-proxy-agent@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" dependencies: @@ -4205,13 +3865,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-proxy-agent@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.0.tgz#7fbba856be8cd677986f42ebd3664f6317257887" - dependencies: - agent-base "^4.1.0" - debug "^3.1.0" - https-proxy-agent@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" @@ -4219,12 +3872,6 @@ https-proxy-agent@^2.2.0: agent-base "^4.1.0" debug "^3.1.0" -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - dependencies: - ms "^2.0.0" - ice-cap@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/ice-cap/-/ice-cap-0.0.4.tgz#8a6d31ab4cac8d4b56de4fa946df3352561b6e18" @@ -4232,7 +3879,7 @@ ice-cap@0.0.4: cheerio "0.20.0" color-logger "0.0.3" -iconv-lite@^0.4.17, iconv-lite@~0.4.13: +iconv-lite@^0.4.17: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" @@ -4240,10 +3887,6 @@ ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" -iferr@^0.1.5, iferr@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - ignore-by-default@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" @@ -4278,7 +3921,7 @@ infinity-x@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/infinity-x/-/infinity-x-1.0.0.tgz#cea2d75181d820961b0f72d78e7c4e06fdd55a07" -inflight@^1.0.4, inflight@~1.0.4, inflight@~1.0.6: +inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" dependencies: @@ -4289,36 +3932,10 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -ini@^1.3.4, ini@~1.3.0, ini@~1.3.4: +ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -init-package-json@~1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.1.tgz#cd873a167796befb99612b28762a0b6393fd8f6a" - dependencies: - glob "^7.1.1" - npm-package-arg "^4.0.0 || ^5.0.0" - promzard "^0.3.0" - read "~1.0.1" - read-package-json "1 || 2" - semver "2.x || 3.x || 4 || 5" - validate-npm-package-license "^3.0.1" - validate-npm-package-name "^3.0.0" - -init-package-json@~1.9.4: - version "1.9.6" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.9.6.tgz#789fc2b74466a4952b9ea77c0575bc78ebd60a61" - dependencies: - glob "^7.1.1" - npm-package-arg "^4.0.0 || ^5.0.0" - promzard "^0.3.0" - read "~1.0.1" - read-package-json "1 || 2" - semver "2.x || 3.x || 4 || 5" - validate-npm-package-license "^3.0.1" - validate-npm-package-name "^3.0.0" - inquirer@1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" @@ -4407,10 +4024,6 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ip@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -4594,7 +4207,7 @@ is-my-ip-valid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4, is-my-json-valid@^2.13.1: +is-my-json-valid@^2.10.0, is-my-json-valid@^2.13.1: version "2.17.2" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" dependencies: @@ -4870,10 +4483,6 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" -json-parse-better-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" - json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" @@ -4918,10 +4527,6 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" @@ -4987,10 +4592,6 @@ lazy-cache@^2.0.2: dependencies: set-getter "^0.1.0" -lazy-property@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147" - lazystream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-0.1.0.tgz#1b25d63c772a4c20f0a5ed0a9d77f484b6e16920" @@ -5040,29 +4641,10 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -lockfile@~1.0.1, lockfile@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.3.tgz#2638fc39a0331e9cac1a04b71799931c9c50df79" - -lodash._baseuniq@~4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" - dependencies: - lodash._createset "~4.0.0" - lodash._root "~3.0.0" - -lodash._createset@~4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" - lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" -lodash._root@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -5075,10 +4657,6 @@ lodash.bind@^4.1.4: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" -lodash.clonedeep@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" @@ -5135,18 +4713,6 @@ lodash.merge@^4.4.0, lodash.merge@^4.6.0: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" -lodash.pad@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" - -lodash.padend@^4.1.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" - -lodash.padstart@^4.1.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" - lodash.pick@^4.2.1: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" @@ -5184,30 +4750,18 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "~3.0.0" -lodash.union@~4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - -lodash.uniq@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - -lodash.without@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" - lodash@4.17.2: version "4.17.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42" -lodash@4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - lodash@^4.0.0, lodash@^4.1.0, lodash@^4.13.0, lodash@^4.14.0, lodash@^4.16.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" +lodash@^4.17.5: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + lodash@~2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" @@ -5253,20 +4807,13 @@ lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" -lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@~4.1.1: +lru-cache@^4.0.0, lru-cache@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: pseudomap "^1.0.2" yallist "^2.1.2" -lru-cache@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" - dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" - macos-alias@~0.2.5: version "0.2.11" resolved "https://registry.yarnpkg.com/macos-alias/-/macos-alias-0.2.11.tgz#feeea6c13ba119814a43fc43c470b31e59ef718a" @@ -5283,22 +4830,6 @@ make-error@^1.1.1: version "1.3.4" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" -make-fetch-happen@^2.4.13: - version "2.6.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38" - dependencies: - agentkeepalive "^3.3.0" - cacache "^10.0.0" - http-cache-semantics "^3.8.0" - http-proxy-agent "^2.0.0" - https-proxy-agent "^2.1.0" - lru-cache "^4.1.1" - mississippi "^1.2.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^3.0.1" - ssri "^5.0.0" - map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -5321,6 +4852,10 @@ marked@0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" +marked@^0.3.17: + version "0.3.19" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" + math-clamp-x@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/math-clamp-x/-/math-clamp-x-1.2.0.tgz#8b537be0645bbba7ee73ee16091e7d6018c5edcf" @@ -5423,16 +4958,6 @@ mime-db@~1.30.0: version "1.30.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - -mime-types@^2.1.11: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - dependencies: - mime-db "~1.33.0" - mime-types@^2.1.12, mime-types@^2.1.17, mime-types@~2.1.17, mime-types@~2.1.7: version "2.1.17" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" @@ -5458,7 +4983,7 @@ minimatch@0.3: lru-cache "2" sigmund "~1.0.0" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.3: +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -5476,36 +5001,6 @@ minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" -mississippi@^1.2.0, mississippi@^1.3.0, mississippi@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e" - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^1.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mississippi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^2.0.1" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" @@ -5519,7 +5014,7 @@ mkdirp@0.5.0: dependencies: minimist "0.0.8" -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -5556,25 +5051,10 @@ module-not-found-error@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0" -move-concurrently@^1.0.1, move-concurrently@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -ms@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - multiline@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/multiline/-/multiline-1.0.2.tgz#69b1f25ff074d2828904f244ddd06b7d96ef6c93" @@ -5597,7 +5077,7 @@ mute-stream@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" -mute-stream@0.0.7, mute-stream@~0.0.4: +mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -5659,14 +5139,6 @@ node-abi@^2.0.0: dependencies: semver "^5.4.1" -node-fetch-npm@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" - dependencies: - encoding "^0.1.11" - json-parse-better-errors "^1.0.0" - safe-buffer "^5.1.1" - node-fetch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.0.0.tgz#982bba43ecd4f2922a29cc186a6bbb0bb73fcba6" @@ -5675,7 +5147,7 @@ node-fetch@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" -node-gyp@^3.4.0, node-gyp@^3.6.0, node-gyp@~3.6.0, node-gyp@~3.6.2: +node-gyp@^3.4.0, node-gyp@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" dependencies: @@ -5713,7 +5185,7 @@ node-pre-gyp@^0.6.39: tar "^2.2.1" tar-pack "^3.4.0" -node-uuid@~1.4.0, node-uuid@~1.4.7: +node-uuid@~1.4.0: version "1.4.8" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" @@ -5738,13 +5210,13 @@ nodemon@^1.11.0: undefsafe "^2.0.1" update-notifier "^2.3.0" -"nopt@2 || 3", nopt@^3.0.1, nopt@~3.0.6: +"nopt@2 || 3", nopt@^3.0.1: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: abbrev "1" -nopt@^4.0.1, nopt@~4.0.1: +nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" dependencies: @@ -5757,11 +5229,7 @@ nopt@~1.0.10: dependencies: abbrev "1" -normalize-git-url@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-git-url/-/normalize-git-url-3.0.2.tgz#8e5f14be0bdaedb73e07200310aa416c27350fc4" - -normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0, "normalize-package-data@~1.0.1 || ^2.0.0", normalize-package-data@~2.4.0: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" dependencies: @@ -5770,15 +5238,6 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@~2.3.5: - version "2.3.8" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -5793,86 +5252,6 @@ normalize-space-x@^3.0.0: trim-x "^3.0.0" white-space-x "^3.0.0" -npm-cache-filename@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" - -npm-install-checks@~1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-1.0.7.tgz#6d91aeda0ac96801f1ed7aadee116a6c0a086a57" - dependencies: - npmlog "0.1 || 1 || 2" - semver "^2.3.0 || 3.x || 4 || 5" - -npm-install-checks@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.0.tgz#d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7" - dependencies: - semver "^2.3.0 || 3.x || 4 || 5" - -"npm-package-arg@^3.0.0 || ^4.0.0", npm-package-arg@^4.1.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-4.2.1.tgz#593303fdea85f7c422775f17f9eb7670f680e3ec" - dependencies: - hosted-git-info "^2.1.5" - semver "^5.1.0" - -"npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0", "npm-package-arg@^4.0.0 || ^5.0.0", npm-package-arg@^5.1.2, npm-package-arg@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37" - dependencies: - hosted-git-info "^2.4.2" - osenv "^0.1.4" - semver "^5.1.0" - validate-npm-package-name "^3.0.0" - -npm-package-arg@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-4.1.1.tgz#86d9dca985b4c5e5d59772dfd5de6919998a495a" - dependencies: - hosted-git-info "^2.1.4" - semver "4 || 5" - -npm-pick-manifest@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz#a5ee6510c1fe7221c0bc0414e70924c14045f7e8" - dependencies: - npm-package-arg "^5.1.2" - semver "^5.3.0" - -npm-registry-client@~7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-7.2.1.tgz#c792266b088cc313f8525e7e35248626c723db75" - dependencies: - concat-stream "^1.5.2" - graceful-fs "^4.1.6" - normalize-package-data "~1.0.1 || ^2.0.0" - npm-package-arg "^3.0.0 || ^4.0.0" - once "^1.3.3" - request "^2.74.0" - retry "^0.10.0" - semver "2 >=2.2.1 || 3.x || 4 || 5" - slide "^1.1.3" - optionalDependencies: - npmlog "~2.0.0 || ~3.1.0" - -npm-registry-client@~8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-8.4.0.tgz#d52b901685647fc62a4c03eafecb6ceaa5018d4c" - dependencies: - concat-stream "^1.5.2" - graceful-fs "^4.1.6" - normalize-package-data "~1.0.1 || ^2.0.0" - npm-package-arg "^3.0.0 || ^4.0.0 || ^5.0.0" - once "^1.3.3" - request "^2.74.0" - retry "^0.10.0" - semver "2 >=2.2.1 || 3.x || 4 || 5" - slide "^1.1.3" - ssri "^4.1.2" - optionalDependencies: - npmlog "2 || ^3.1.0 || ^4.0.0" - npm-run-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" @@ -5885,187 +5264,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-user-validate@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-0.1.5.tgz#52465d50c2d20294a57125b996baedbf56c5004b" - -npm-user-validate@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.0.tgz#8ceca0f5cea04d4e93519ef72d0557a75122e951" - -npm@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-5.1.0.tgz#cf8201e044018e9c89532041c90094541982b2c0" - dependencies: - JSONStream "~1.3.1" - abbrev "~1.1.0" - ansi-regex "~3.0.0" - ansicolors "~0.3.2" - ansistyles "~0.1.3" - aproba "~1.1.2" - archy "~1.0.0" - bluebird "~3.5.0" - cacache "~9.2.9" - call-limit "~1.1.0" - chownr "~1.0.1" - cmd-shim "~2.0.2" - columnify "~1.5.4" - config-chain "~1.1.11" - detect-indent "~5.0.0" - dezalgo "~1.0.3" - editor "~1.0.0" - fs-vacuum "~1.2.10" - fs-write-stream-atomic "~1.0.10" - fstream "~1.0.11" - fstream-npm "~1.2.1" - glob "~7.1.2" - graceful-fs "~4.1.11" - has-unicode "~2.0.1" - hosted-git-info "~2.5.0" - iferr "~0.1.5" - inflight "~1.0.6" - inherits "~2.0.3" - ini "~1.3.4" - init-package-json "~1.10.1" - lazy-property "~1.0.0" - lockfile "~1.0.3" - lodash._baseuniq "~4.6.0" - lodash.clonedeep "~4.5.0" - lodash.union "~4.6.0" - lodash.uniq "~4.5.0" - lodash.without "~4.4.0" - lru-cache "~4.1.1" - mississippi "~1.3.0" - mkdirp "~0.5.1" - move-concurrently "~1.0.1" - node-gyp "~3.6.2" - nopt "~4.0.1" - normalize-package-data "~2.4.0" - npm-cache-filename "~1.0.2" - npm-install-checks "~3.0.0" - npm-package-arg "~5.1.2" - npm-registry-client "~8.4.0" - npm-user-validate "~1.0.0" - npmlog "~4.1.2" - once "~1.4.0" - opener "~1.4.3" - osenv "~0.1.4" - pacote "~2.7.38" - path-is-inside "~1.0.2" - promise-inflight "~1.0.1" - read "~1.0.7" - read-cmd-shim "~1.0.1" - read-installed "~4.0.3" - read-package-json "~2.0.9" - read-package-tree "~5.1.6" - readable-stream "~2.3.2" - request "~2.81.0" - retry "~0.10.1" - rimraf "~2.6.1" - safe-buffer "~5.1.1" - semver "~5.3.0" - sha "~2.0.1" - slide "~1.1.6" - sorted-object "~2.0.1" - sorted-union-stream "~2.1.3" - ssri "~4.1.6" - strip-ansi "~4.0.0" - tar "~2.2.1" - text-table "~0.2.0" - uid-number "0.0.6" - umask "~1.1.0" - unique-filename "~1.1.0" - unpipe "~1.0.0" - update-notifier "~2.2.0" - uuid "~3.1.0" - validate-npm-package-name "~3.0.0" - which "~1.2.14" - worker-farm "~1.3.1" - wrappy "~1.0.2" - write-file-atomic "~2.1.0" - -npm@^2.1.12: - version "2.15.12" - resolved "https://registry.yarnpkg.com/npm/-/npm-2.15.12.tgz#df7c3ed5a277c3f9d4b5d819b05311d10a200ae6" - dependencies: - abbrev "~1.0.9" - ansi "~0.3.1" - ansicolors "~0.3.2" - ansistyles "~0.1.3" - archy "~1.0.0" - async-some "~1.0.2" - block-stream "0.0.9" - char-spinner "~1.0.1" - chmodr "~1.0.2" - chownr "~1.0.1" - cmd-shim "~2.0.2" - columnify "~1.5.4" - config-chain "~1.1.10" - dezalgo "~1.0.3" - editor "~1.0.0" - fs-vacuum "~1.2.9" - fs-write-stream-atomic "~1.0.8" - fstream "~1.0.10" - fstream-npm "~1.1.1" - github-url-from-git "~1.4.0" - github-url-from-username-repo "~1.0.2" - glob "~7.0.6" - graceful-fs "~4.1.6" - hosted-git-info "~2.1.5" - inflight "~1.0.4" - inherits "~2.0.3" - ini "~1.3.4" - init-package-json "~1.9.4" - lockfile "~1.0.1" - lru-cache "~4.0.1" - minimatch "~3.0.3" - mkdirp "~0.5.1" - node-gyp "~3.6.0" - nopt "~3.0.6" - normalize-git-url "~3.0.2" - normalize-package-data "~2.3.5" - npm-cache-filename "~1.0.2" - npm-install-checks "~1.0.7" - npm-package-arg "~4.1.0" - npm-registry-client "~7.2.1" - npm-user-validate "~0.1.5" - npmlog "~2.0.4" - once "~1.4.0" - opener "~1.4.1" - osenv "~0.1.3" - path-is-inside "~1.0.0" - read "~1.0.7" - read-installed "~4.0.3" - read-package-json "~2.0.4" - readable-stream "~2.1.5" - realize-package-specifier "~3.0.1" - request "~2.74.0" - retry "~0.10.0" - rimraf "~2.5.4" - semver "~5.1.0" - sha "~2.0.1" - slide "~1.1.6" - sorted-object "~2.0.0" - spdx-license-ids "~1.2.2" - strip-ansi "~3.0.1" - tar "~2.2.1" - text-table "~0.2.0" - uid-number "0.0.6" - umask "~1.1.0" - validate-npm-package-license "~3.0.1" - validate-npm-package-name "~2.2.2" - which "~1.2.11" - wrappy "~1.0.2" - write-file-atomic "~1.1.4" - -npmi@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npmi/-/npmi-1.0.1.tgz#15d769273547545e6809dcf0ce18aed48b0290e2" - dependencies: - npm "^2.1.12" - semver "^4.1.0" - -"npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.2, npmlog@~4.1.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: @@ -6074,23 +5273,6 @@ npmi@1.0.1: gauge "~2.7.3" set-blocking "~2.0.0" -"npmlog@0.1 || 1 || 2", npmlog@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" - dependencies: - ansi "~0.3.1" - are-we-there-yet "~1.1.2" - gauge "~1.2.5" - -"npmlog@~2.0.0 || ~3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.6.0" - set-blocking "~2.0.0" - nth-check@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" @@ -6207,7 +5389,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, once@~1.4.0: +once@^1.3.0, once@^1.3.3, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -6223,17 +5405,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -opener@~1.4.1, opener@~1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" - opn@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225" dependencies: is-wsl "^1.1.0" -optimist@0.6.1, optimist@^0.6.1: +optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: @@ -6297,7 +5475,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@0, osenv@^0.1.4, osenv@~0.1.3, osenv@~0.1.4: +osenv@0, osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" dependencies: @@ -6341,46 +5519,12 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" -pacote@~2.7.38: - version "2.7.38" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-2.7.38.tgz#5091f8774298c26c3eca24606037f1bb73db74c1" - dependencies: - bluebird "^3.5.0" - cacache "^9.2.9" - glob "^7.1.2" - lru-cache "^4.1.1" - make-fetch-happen "^2.4.13" - minimatch "^3.0.4" - mississippi "^1.2.0" - normalize-package-data "^2.4.0" - npm-package-arg "^5.1.2" - npm-pick-manifest "^1.0.4" - osenv "^0.1.4" - promise-inflight "^1.0.1" - promise-retry "^1.1.1" - protoduck "^4.0.0" - safe-buffer "^5.1.1" - semver "^5.3.0" - ssri "^4.1.6" - tar-fs "^1.15.3" - tar-stream "^1.5.4" - unique-filename "^1.1.0" - which "^1.2.12" - pad-right@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774" dependencies: repeat-string "^1.5.2" -parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - dependencies: - cyclist "~0.2.2" - inherits "^2.0.3" - readable-stream "^2.1.5" - parse-author@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f" @@ -6447,7 +5591,7 @@ path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1, path-is-inside@~1.0.0, path-is-inside@~1.0.2: +path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" @@ -6594,10 +5738,6 @@ private@^0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" @@ -6613,16 +5753,9 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" -promise-inflight@^1.0.1, promise-inflight@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - -promise-retry@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - dependencies: - err-code "^1.0.0" - retry "^0.10.0" +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" promise@~1.3.0: version "1.3.0" @@ -6630,12 +5763,6 @@ promise@~1.3.0: dependencies: is-promise "~1" -promzard@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - dependencies: - read "1" - property-is-enumerable-x@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/property-is-enumerable-x/-/property-is-enumerable-x-1.1.0.tgz#7ca48917476cd0914b37809bfd05776a0d942f6f" @@ -6643,16 +5770,6 @@ property-is-enumerable-x@^1.1.0: to-object-x "^1.4.1" to-property-key-x "^2.0.1" -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - -protoduck@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-4.0.0.tgz#fe4874d8c7913366cfd9ead12453a22cd3657f8e" - dependencies: - genfun "^4.0.1" - proxyquire@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/proxyquire/-/proxyquire-2.0.1.tgz#958d732be13d21d374cc2256645a5ff97c76a669" @@ -6661,17 +5778,13 @@ proxyquire@^2.0.1: module-not-found-error "^1.0.0" resolve "~1.5.0" -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - ps-tree@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" dependencies: event-stream "~3.3.0" -pseudomap@^1.0.1, pseudomap@^1.0.2: +pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -6681,28 +5794,6 @@ pstree.remy@^1.1.0: dependencies: ps-tree "^1.1.0" -pump@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^2.0.0, pump@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb" - dependencies: - duplexify "^3.5.3" - inherits "^2.0.3" - pump "^2.0.0" - punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" @@ -6711,10 +5802,6 @@ punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -q@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" - q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -6723,10 +5810,6 @@ qs@~1.2.0: version "1.2.2" resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88" -qs@~6.2.0: - version "6.2.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" - qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -6770,46 +5853,6 @@ rcedit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/rcedit/-/rcedit-1.0.0.tgz#43309ecbc8814f3582fca6b751748cfad66a16a2" -read-cmd-shim@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" - dependencies: - graceful-fs "^4.1.2" - -read-installed@~4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" - dependencies: - debuglog "^1.0.1" - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - semver "2 || 3 || 4 || 5" - slide "~1.1.3" - util-extend "^1.0.1" - optionalDependencies: - graceful-fs "^4.1.2" - -"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@~2.0.4, read-package-json@~2.0.9: - version "2.0.12" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.12.tgz#68ea45f98b3741cb6e10ae3bbd42a605026a6951" - dependencies: - glob "^7.1.1" - json-parse-better-errors "^1.0.0" - normalize-package-data "^2.0.0" - slash "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" - -read-package-tree@~5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.1.6.tgz#4f03e83d0486856fb60d97c94882841c2a7b1b7a" - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - once "^1.3.0" - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -6840,24 +5883,6 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -read@1, read@~1.0.1, read@~1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - dependencies: - mute-stream "~0.0.4" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@~2.3.2: - version "2.3.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - readable-stream@1.1: version "1.1.13" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" @@ -6867,7 +5892,7 @@ readable-stream@1.1: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^1.0.27-1, readable-stream@^1.1.8, readable-stream@~1.1.10, readable-stream@~1.1.9: +readable-stream@^1.0.27-1, readable-stream@^1.1.8, readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: @@ -6897,38 +5922,6 @@ readable-stream@~1.0.2, readable-stream@~1.0.24, readable-stream@~1.0.26: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdir-scoped-modules@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -6946,13 +5939,6 @@ readline2@^1.0.1: is-fullwidth-code-point "^1.0.0" mute-stream "0.0.5" -realize-package-specifier@~3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/realize-package-specifier/-/realize-package-specifier-3.0.3.tgz#d0def882952b8de3f67eba5e91199661271f41f4" - dependencies: - dezalgo "^1.0.1" - npm-package-arg "^4.1.1" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -7063,7 +6049,7 @@ replace-comments-x@^2.0.0: require-coercible-to-string-x "^1.0.0" to-string-x "^1.4.2" -request@2, request@^2.45.0, request@^2.55.0, request@^2.74.0, request@^2.79.0: +request@2, request@^2.45.0, request@^2.55.0, request@^2.79.0: version "2.83.0" resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" dependencies: @@ -7111,7 +6097,7 @@ request@2.42.0: stringstream "~0.0.4" tough-cookie ">=0.12.0" -request@2.81.0, request@~2.81.0: +request@2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -7138,32 +6124,6 @@ request@2.81.0, request@~2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@~2.74.0: - version "2.74.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - bl "~1.1.2" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~1.0.0-rc4" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - node-uuid "~1.4.7" - oauth-sign "~0.8.1" - qs "~6.2.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - require-coercible-to-string-x@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/require-coercible-to-string-x/-/require-coercible-to-string-x-1.0.0.tgz#367b3e9ca67e00324c411b0b498453a74cd5569e" @@ -7250,10 +6210,6 @@ resumer@~0.0.0: dependencies: through "~2.3.4" -retry@^0.10.0, retry@~0.10.0, retry@~0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -7264,7 +6220,7 @@ right-pad@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@~2.6.1: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: @@ -7274,12 +6230,6 @@ rimraf@~2.2.6, rimraf@~2.2.8: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" -rimraf@~2.5.4: - version "2.5.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" - dependencies: - glob "^7.0.5" - run-async@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" @@ -7292,12 +6242,6 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - dependencies: - aproba "^1.1.1" - rx-lite-aggregates@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" @@ -7336,7 +6280,7 @@ s3@^4.4.0: rimraf "~2.2.8" streamsink "~1.2.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -7368,25 +6312,17 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" -semver@5.3.0, semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -semver@^4.1.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - semver@~2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/semver/-/semver-2.2.1.tgz#7941182b3ffcc580bff1c17942acdf7951c0d213" -semver@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -7420,13 +6356,6 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" -sha@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/sha/-/sha-2.0.1.tgz#6030822fbd2c9823949f8f72ed6411ee5cf25aae" - dependencies: - graceful-fs "^4.1.2" - readable-stream "^2.0.2" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -7453,6 +6382,14 @@ shelljs@^0.7.5: interpret "^1.0.0" rechoir "^0.6.2" +shelljs@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.1.tgz#729e038c413a2254c4078b95ed46e0397154a9f1" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" @@ -7487,14 +6424,10 @@ slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" -slide@^1.1.3, slide@^1.1.5, slide@~1.1.3, slide@~1.1.6: +slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" -smart-buffer@^1.0.13: - version "1.1.15" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -7540,31 +6473,6 @@ sntp@2.x.x: dependencies: hoek "4.x.x" -socks-proxy-agent@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" - dependencies: - agent-base "^4.1.0" - socks "^1.1.10" - -socks@^1.1.10: - version "1.1.10" - resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" - dependencies: - ip "^1.1.4" - smart-buffer "^1.0.13" - -sorted-object@~2.0.0, sorted-object@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" - -sorted-union-stream@~2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz#c7794c7e077880052ff71a8d4a2dbb4a9a638ac7" - dependencies: - from2 "^1.3.0" - stream-iterate "^1.1.0" - source-map-resolve@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" @@ -7631,42 +6539,20 @@ spawn-wrap@^1.4.2: signal-exit "^3.0.2" which "^1.3.0" -spdx-correct@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - spdx-correct@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" dependencies: spdx-license-ids "^1.0.2" -spdx-exceptions@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - spdx-expression-parse@~1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" -spdx-license-ids@^1.0.2, spdx-license-ids@~1.2.2: +spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -spdx-license-ids@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" - speedometer@~0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d" @@ -7707,18 +6593,6 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -ssri@^4.1.2, ssri@^4.1.6, ssri@~4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-4.1.6.tgz#0cb49b6ac84457e7bdd466cb730c3cb623e9a25b" - dependencies: - safe-buffer "^5.1.0" - -ssri@^5.0.0, ssri@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.4.tgz#9985e14041e65fc397af96542be35724ac11da52" - dependencies: - safe-buffer "^5.1.1" - stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -7740,24 +6614,6 @@ stream-combiner@~0.0.2, stream-combiner@~0.0.4: dependencies: duplexer "~0.1.1" -stream-each@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-iterate@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz#2bd7c77296c1702a46488b8ad41f79865eecd4e1" - dependencies: - readable-stream "^2.1.5" - stream-shift "^1.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - streamsink@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/streamsink/-/streamsink-1.2.0.tgz#efafee9f1e22d3591ed7de3dcaa95c3f5e79f73c" @@ -7791,13 +6647,13 @@ stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" -strip-ansi@^3.0.0, strip-ansi@^3.0.1, strip-ansi@~3.0.1: +strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: ansi-regex "^2.0.0" -strip-ansi@^4.0.0, strip-ansi@~4.0.0: +strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" dependencies: @@ -7901,15 +6757,6 @@ tape@2.3.0: stream-combiner "~0.0.2" through "~2.3.4" -tar-fs@^1.15.3: - version "1.16.0" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.0.tgz#e877a25acbcc51d8c790da1c57c9cf439817b896" - dependencies: - chownr "^1.0.1" - mkdirp "^0.5.1" - pump "^1.0.0" - tar-stream "^1.1.2" - tar-pack@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" @@ -7923,15 +6770,6 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" -tar-stream@^1.1.2, tar-stream@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55" - dependencies: - bl "^1.0.0" - end-of-stream "^1.0.0" - readable-stream "^2.0.0" - xtend "^4.0.0" - tar-stream@~0.4.0: version "0.4.7" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-0.4.7.tgz#1f1d2ce9ebc7b42765243ca0e8f1b7bfda0aadcd" @@ -7941,7 +6779,7 @@ tar-stream@~0.4.0: readable-stream "^1.0.27-1" xtend "^4.0.0" -tar@^2.0.0, tar@^2.2.1, tar@~2.2.1: +tar@^2.0.0, tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -7984,13 +6822,6 @@ throttleit@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - through2@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f" @@ -7998,7 +6829,7 @@ through2@~0.2.3: readable-stream "~1.1.9" xtend "~2.1.1" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -8025,12 +6856,6 @@ tmp@0.0.29, tmp@^0.0.29: dependencies: os-tmpdir "~1.0.1" -tmp@0.0.31: - version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" - dependencies: - os-tmpdir "~1.0.1" - tmp@0.0.33, tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -8226,7 +7051,7 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel-agent@~0.4.0, tunnel-agent@~0.4.1: +tunnel-agent@~0.4.0: version "0.4.3" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" @@ -8248,6 +7073,36 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +typedoc-default-themes@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz#6dc2433e78ed8bea8e887a3acde2f31785bd6227" + +typedoc@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.11.1.tgz#9f033887fd2218c769e1045feb88a1efed9f12c9" + dependencies: + "@types/fs-extra" "5.0.1" + "@types/handlebars" "4.0.36" + "@types/highlight.js" "9.12.2" + "@types/lodash" "4.14.104" + "@types/marked" "0.3.0" + "@types/minimatch" "3.0.3" + "@types/shelljs" "0.7.8" + fs-extra "^5.0.0" + handlebars "^4.0.6" + highlight.js "^9.0.0" + lodash "^4.17.5" + marked "^0.3.17" + minimatch "^3.0.0" + progress "^2.0.0" + shelljs "^0.8.1" + typedoc-default-themes "^0.5.0" + typescript "2.7.2" + +typescript@2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" + typescript@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.1.tgz#6160e4f8f195d5ba81d4876f9c0cc1fbc0820624" @@ -8265,14 +7120,10 @@ uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" -uid-number@0.0.6, uid-number@^0.0.6: +uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -umask@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" - undefsafe@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76" @@ -8307,18 +7158,6 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^0.4.3" -unique-filename@^1.1.0, unique-filename@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" - dependencies: - imurmurhash "^0.1.4" - unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -8333,10 +7172,6 @@ unorm@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.4.1.tgz#364200d5f13646ca8bcd44490271335614792300" -unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -8371,19 +7206,6 @@ update-notifier@^2.3.0: semver-diff "^2.0.0" xdg-basedir "^3.0.0" -update-notifier@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" - dependencies: - boxen "^1.0.0" - chalk "^1.0.0" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" @@ -8419,16 +7241,16 @@ use@^2.0.0: isobject "^3.0.0" lazy-cache "^2.0.2" -user-home@2.0.0, user-home@^2.0.0: +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +user-home@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" dependencies: os-homedir "^1.0.0" -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - username@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/username/-/username-3.0.0.tgz#b3dba982a72b4ce59d52f159fa1aeba266af5fc8" @@ -8444,11 +7266,7 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util-extend@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" - -uuid@3.1.0, uuid@~3.1.0: +uuid@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" @@ -8463,25 +7281,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -validate-npm-package-license@~3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^3.0.0, validate-npm-package-name@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - dependencies: - builtins "^1.0.3" - -validate-npm-package-name@~2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz#f65695b22f7324442019a3c7fa39a6e7fd299085" - dependencies: - builtins "0.0.7" - validate.io-undefined@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/validate.io-undefined/-/validate.io-undefined-1.0.3.tgz#7e27fcbb315b841e78243431897671929e20b7f4" @@ -8494,7 +7293,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -wcwidth@^1.0.0, wcwidth@^1.0.1: +wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" dependencies: @@ -8524,12 +7323,6 @@ which@1, which@^1.2.12, which@^1.2.14, which@^1.2.8, which@^1.2.9, which@^1.3.0: dependencies: isexe "^2.0.0" -which@~1.2.11, which@~1.2.14: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - dependencies: - isexe "^2.0.0" - white-space-x@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/white-space-x/-/white-space-x-3.0.0.tgz#c8e31ed4fecf4f3feebe6532e6046008a666a3e1" @@ -8582,13 +7375,6 @@ wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" -worker-farm@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff" - dependencies: - errno ">=0.1.1 <0.2.0-0" - xtend ">=4.0.0 <4.1.0-0" - wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -8596,7 +7382,7 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" -wrappy@1, wrappy@~1.0.2: +wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -8620,22 +7406,6 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.1.4.tgz#b1f52dc2e8dc0e3cb04d187a25f758a38a90ca3b" - dependencies: - graceful-fs "^4.1.2" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write-file-atomic@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" @@ -8681,7 +7451,7 @@ xmldom@0.1.x: version "0.1.27" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: +xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -8695,11 +7465,7 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - -yallist@^2.0.0, yallist@^2.1.2: +yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"