summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2018-06-22 14:23:42 +0200
committerGitHub <noreply@github.com>2018-06-22 14:23:42 +0200
commit86354a29a40fb97e334f951428239ab8e171e2dd (patch)
tree2f0d8cc2680aa4ccbaf865b427976b3f810b6920
parentef9dc2464e10510bdcc4be9eae431e3dcf7f7999 (diff)
Delete go implementation (#276)
The go prototype will remain at https://github.com/ry/deno/tree/golang
-rw-r--r--.gitignore8
-rw-r--r--.travis.yml3
-rw-r--r--Makefile83
-rw-r--r--README.md79
-rw-r--r--cmd/main.go13
-rw-r--r--console.ts124
-rw-r--r--deno.d.ts14
-rw-r--r--deno.ts6
-rw-r--r--deno2/README.md68
-rw-r--r--[l---------]deno2/msg.proto103
-rwxr-xr-xdeno2/tools/build.py67
-rw-r--r--deno_dir.go111
-rw-r--r--deno_dir_test.go46
-rw-r--r--dispatch.go126
-rw-r--r--dispatch.ts73
-rw-r--r--echo.go11
-rw-r--r--fetch.go72
-rw-r--r--fetch.ts146
-rw-r--r--globals.ts32
-rw-r--r--integration_test.go139
-rw-r--r--main.go141
-rw-r--r--main.ts54
-rw-r--r--msg.proto102
-rw-r--r--os.go195
-rw-r--r--os.ts65
-rw-r--r--os_test.go87
-rw-r--r--package.json25
-rw-r--r--runtime.ts339
-rw-r--r--testdata/001_hello.js1
-rw-r--r--testdata/001_hello.js.out1
-rw-r--r--testdata/002_hello.ts1
-rw-r--r--testdata/002_hello.ts.out1
-rw-r--r--testdata/003_relative_import.ts3
-rw-r--r--testdata/003_relative_import.ts.out1
-rw-r--r--testdata/004_set_timeout.ts11
-rw-r--r--testdata/004_set_timeout.ts.out2
-rw-r--r--testdata/005_more_imports.ts11
-rw-r--r--testdata/005_more_imports.ts.out1
-rw-r--r--testdata/006_url_imports.ts3
-rw-r--r--testdata/006_url_imports.ts.out3
-rw-r--r--testdata/008_stack_trace.ts7
-rw-r--r--testdata/009_pub_sub.ts18
-rw-r--r--testdata/009_pub_sub.ts.out3
-rw-r--r--testdata/010_set_interval.ts7
-rw-r--r--testdata/010_set_interval.ts.out2
-rw-r--r--testdata/012_async.ts11
-rw-r--r--testdata/012_async.ts.out3
-rw-r--r--testdata/async_error.ts9
-rw-r--r--testdata/async_error.ts.out10
-rw-r--r--testdata/error.ts9
-rw-r--r--testdata/error.ts.out10
-rw-r--r--testdata/import_typescript.ts3
-rw-r--r--testdata/import_typescript.ts.out1
-rw-r--r--testdata/subdir/mod1.ts17
-rw-r--r--testdata/subdir/print_hello.ts3
-rw-r--r--testdata/subdir/subdir2/mod2.ts9
-rw-r--r--testing/testing.ts96
-rw-r--r--testing/util.ts60
-rw-r--r--testing/util_test.ts32
-rw-r--r--tests.ts126
-rw-r--r--text-encoding.d.ts6
-rw-r--r--timers.go79
-rw-r--r--timers.ts89
-rw-r--r--tsconfig.json25
-rw-r--r--tslint.json67
-rw-r--r--types.ts10
-rw-r--r--url.js671
-rw-r--r--util.go106
-rw-r--r--util.ts53
-rw-r--r--util_test.go62
-rw-r--r--v8_source_maps.ts273
-rw-r--r--v8worker2.d.ts8
-rw-r--r--yarn.lock3846
73 files changed, 114 insertions, 7988 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 0c09b13cd..000000000
--- a/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-node_modules/
-.cache/
-dist/
-deno
-assets.go
-msg.pb.go
-/msg.pb.js
-/msg.pb.d.ts
diff --git a/.travis.yml b/.travis.yml
index 2743289b4..0f9b33e67 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -44,7 +44,8 @@ install:
- gn args $BUILD_PATH --list
- ccache -s
# Travis hangs without -j2 argument to ninja.
- - ninja -j2 -C $BUILD_PATH mock_runtime_test deno deno_rs
+ - ninja -j2 -C $BUILD_PATH mock_runtime_test deno
+ - ninja -j2 -C $BUILD_PATH deno_rs
script:
- $BUILD_PATH/mock_runtime_test
- $BUILD_PATH/deno foo bar
diff --git a/Makefile b/Makefile
deleted file mode 100644
index d01d4bf13..000000000
--- a/Makefile
+++ /dev/null
@@ -1,83 +0,0 @@
-TS_FILES = \
- console.ts \
- deno.d.ts \
- deno.ts \
- dispatch.ts \
- fetch.ts \
- globals.ts \
- main.ts \
- msg.pb.d.ts \
- msg.pb.js \
- os.ts \
- runtime.ts \
- text-encoding.d.ts \
- timers.ts \
- tsconfig.json \
- types.ts \
- url.js \
- util.ts \
- v8_source_maps.ts \
- v8worker2.d.ts
-
-GO_FILES = \
- cmd/main.go \
- assets.go \
- deno_dir.go \
- deno_dir_test.go \
- dispatch.go \
- echo.go \
- fetch.go \
- main.go \
- msg.pb.go \
- os.go \
- os_test.go \
- timers.go \
- util.go \
- util_test.go \
- integration_test.go
-
-
-deno: msg.pb.go $(GO_FILES)
- go build -o deno ./cmd
-
-assets.go: dist/main.js
- cp node_modules/typescript/lib/*d.ts dist/
- cp deno.d.ts dist/
- go-bindata -pkg deno -o assets.go dist/
-
-msg.pb.go: msg.proto
- protoc --go_out=. msg.proto
-
-msg.pb.js: msg.proto node_modules
- ./node_modules/.bin/pbjs -t static-module -w commonjs -o msg.pb.js msg.proto
-
-msg.pb.d.ts: msg.pb.js node_modules
- ./node_modules/.bin/pbts -o msg.pb.d.ts msg.pb.js
-
-dist/main.js: $(TS_FILES) node_modules
- ./node_modules/.bin/tsc --noEmit # Only for type checking.
- ./node_modules/.bin/parcel build --out-dir=dist/ --log-level=1 --no-minify main.ts
-
-node_modules:
- yarn
-
-clean:
- -rm -f deno assets.go msg.pb.go msg.pb.js msg.pb.d.ts
- -rm -rf dist/
-
-distclean: clean
- -rm -rf node_modules/
-
-lint: node_modules
- yarn lint
- go vet
-
-fmt: node_modules
- yarn fmt
- go fmt
- clang-format msg.proto -i
-
-test: deno
- go test -v
-
-.PHONY: test lint clean distclean
diff --git a/README.md b/README.md
index ccf377e3b..f56f15c1f 100644
--- a/README.md
+++ b/README.md
@@ -72,79 +72,20 @@ includes submitting trivial PRs (like improving README build instructions).
## Compile instructions
-I will release binaries at some point, but for now you have to build it
-yourself.
+First install the javascript deps.
-You will need [Go](https://golang.org) with `$GOPATH` defined and
-`$GOPATH/bin` in your `$PATH`.
+ cd deno2
-You will also need [yarn](https://yarnpkg.com/lang/en/docs/install/) installed.
+ cd js; yarn install
-You need Protobuf 3. On Linux this might work:
+ gn gen out/Debug --args='cc_wrapper="ccache" is_debug=true '
-``` bash
-cd ~
-wget https://github.com/google/protobuf/releases/download/v3.1.0/protoc-3.1.0-linux-x86_64.zip
-unzip protoc-3.1.0-linux-x86_64.zip
-export PATH=$HOME/bin:$PATH
-```
+Then build with ninja:
-On macOS, using [HomeBrew](https://brew.sh/):
+ ninja -C out/Debug/ deno
-``` bash
-brew install protobuf
-```
-
-Then you need [protoc-gen-go](https://github.com/golang/protobuf/tree/master/protoc-gen-go) and [go-bindata](https://github.com/jteeuwen/go-bindata):
-
-``` bash
-go get -u github.com/golang/protobuf/protoc-gen-go
-go get -u github.com/jteeuwen/go-bindata/...
-```
-
-You need to get and build [v8worker2](https://github.com/ry/v8worker2). __The package will not build with `go
-get` and will log out an error ⚠__
-```bash
-# pkg-config --cflags v8.pc
-Failed to open 'v8.pc': No such file or directory
-No package 'v8.pc' found
-pkg-config: exit status 1
-```
-
-__which can be ignored__. It takes about 30 minutes to build:
-
-``` bash
-go get -u github.com/ry/v8worker2
-cd $GOPATH/src/github.com/ry/v8worker2
-./build.py --use_ccache
-```
-Maybe also run `git submodule update --init` in the `v8worker2/` dir.
-
-Finally, you can get `deno` and its other Go deps.
-
-``` bash
-go get -u github.com/ry/deno/...
-```
-
-Now you can build deno and run it:
-
-``` bash
-cd $GOPATH/src/github.com/ry/deno
-
-make # Wait for redacted
-
-./deno testdata/001_hello.js # Output: Hello World
-```
-
-## `make` commands
-
-``` bash
-make deno # Builds the deno executable.
-
-make test # Runs the tests.
-
-make fmt # Formats the code.
-
-make clean # Cleans the build.
-```
+Other useful commands:
+ gn args out/Debug/ --list # List build args
+ gn args out/Debug/ # Modify args in $EDITOR
+ gn desc out/Debug/ :deno
diff --git a/cmd/main.go b/cmd/main.go
deleted file mode 100644
index 585cd1259..000000000
--- a/cmd/main.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package main
-
-import (
- "github.com/ry/deno"
-)
-
-func main() {
- deno.Init()
- deno.Eval("deno_main.js", "denoMain()")
- deno.Loop()
-}
diff --git a/console.ts b/console.ts
deleted file mode 100644
index af92c8871..000000000
--- a/console.ts
+++ /dev/null
@@ -1,124 +0,0 @@
-const print = V8Worker2.print;
-
-// tslint:disable-next-line:no-any
-type ConsoleContext = Set<any>;
-
-// tslint:disable-next-line:no-any
-function getClassInstanceName(instance: any): string {
- if (typeof instance !== "object") {
- return "";
- }
- if (instance && instance.__proto__ && instance.__proto__.constructor) {
- return instance.__proto__.constructor.name; // could be "Object" or "Array"
- }
- return "";
-}
-
-// tslint:disable-next-line:no-any
-function stringify(ctx: ConsoleContext, value: any): string {
- switch (typeof value) {
- case "string":
- return value;
- case "number":
- case "boolean":
- case "undefined":
- case "symbol":
- return String(value);
- case "function":
- if (value.name && value.name !== "anonymous") {
- // from MDN spec
- return `[Function: ${value.name}]`;
- }
- return "[Function]";
- case "object":
- if (value === null) {
- return "null";
- }
-
- if (ctx.has(value)) {
- return "[Circular]";
- }
-
- ctx.add(value);
- const entries: string[] = [];
-
- if (Array.isArray(value)) {
- for (const el of value) {
- entries.push(stringify(ctx, el));
- }
-
- ctx.delete(value);
-
- if (entries.length === 0) {
- return "[]";
- }
- return `[ ${entries.join(", ")} ]`;
- } else {
- let baseString = "";
-
- const className = getClassInstanceName(value);
- let shouldShowClassName = false;
- if (className && className !== "Object" && className !== "anonymous") {
- shouldShowClassName = true;
- }
-
- for (const key of Object.keys(value)) {
- entries.push(`${key}: ${stringify(ctx, value[key])}`);
- }
-
- ctx.delete(value);
-
- if (entries.length === 0) {
- baseString = "{}";
- } else {
- baseString = `{ ${entries.join(", ")} }`;
- }
-
- if (shouldShowClassName) {
- baseString = `${className} ${baseString}`;
- }
-
- return baseString;
- }
- default:
- return "[Not Implemented]";
- }
-}
-
-// tslint:disable-next-line:no-any
-function stringifyArgs(args: any[]): string {
- const out: string[] = [];
- for (const a of args) {
- if (typeof a === "string") {
- out.push(a);
- } else {
- // tslint:disable-next-line:no-any
- out.push(stringify(new Set<any>(), a));
- }
- }
- return out.join(" ");
-}
-
-export class Console {
- // tslint:disable-next-line:no-any
- log(...args: any[]): void {
- print(stringifyArgs(args));
- }
-
- debug = this.log;
- info = this.log;
-
- // tslint:disable-next-line:no-any
- warn(...args: any[]): void {
- print(`ERROR: ${stringifyArgs(args)}`);
- }
-
- error = this.warn;
-
- // tslint:disable-next-line:no-any
- assert(condition: boolean, ...args: any[]): void {
- if (!condition) {
- throw new Error(`Assertion failed: ${stringifyArgs(args)}`);
- }
- }
-}
diff --git a/deno.d.ts b/deno.d.ts
deleted file mode 100644
index f88a13741..000000000
--- a/deno.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-declare module "deno" {
- type MessageCallback = (msg: Uint8Array) => void;
- function sub(channel: string, cb: MessageCallback): void;
- function pub(channel: string, payload: Uint8Array): null | ArrayBuffer;
-
- function readFileSync(filename: string): Uint8Array;
- function writeFileSync(
- filename: string,
- data: Uint8Array,
- perm: number
- ): void;
-}
diff --git a/deno.ts b/deno.ts
deleted file mode 100644
index 595d87709..000000000
--- a/deno.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-// Public deno module.
-// TODO get rid of deno.d.ts
-export { pub, sub } from "./dispatch";
-export { readFileSync, writeFileSync } from "./os";
diff --git a/deno2/README.md b/deno2/README.md
deleted file mode 100644
index 2b05da52f..000000000
--- a/deno2/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Deno Prototype 2
-
-## Status
-
-This code is a rewrite of the privileged parts of Deno. It will soon become
-the root of the project.
-
-There are several goals:
-
-* Use the gn build system for fast builds, sane configuration, and easy
- linking into Chrome.
-
-* Use V8 snapshots to improve startup time.
-
-* Remove Golang. Although it has been working nicely, I am concerned the
- double GC will become a problem sometime down the road.
-
-* Distribute a C++ library called libdeno, containing the snapshotted
- typescript runtime.
-
-* Test the message passing and other functionality at that layer before
- involving higher level languages.
-
-The contenders for building the privileged part of Deno are Rust and C++.
-Thanks to Chrome and gn, using C++ to link into high level libraries is not
-untenable. However, there's a lot of interest in Rust in the JS community and
-it seems like a reasonable choice. TBD.
-
-There are many people exploring the project, so care will be taken to keep the
-original code functional while this is developed. However, once it's ready
-the code in this deno2/ directory will be moved to the root.
-
-
-## Prerequisites
-
-Get Depot Tools and make sure it's in your path.
-http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
-
-For linux you need these prereqs:
-
- sudo apt-get install libgtk-3-dev pkg-config ccache
-
-
-## Build
-
-First install the javascript deps.
-
- cd js; yarn install
-
-TODO(ry) Remove the above step by a deps submodule.
-
-Wrapper around the gclient/gn/ninja for end users. Try this first:
-
- ./tools/build.py --use_ccache --debug
-
-If that doesn't work, or you need more control, try calling gn manually:
-
- gn gen out/Debug --args='cc_wrapper="ccache" is_debug=true '
-
-Then build with ninja:
-
- ninja -C out/Debug/ deno
-
-
-Other useful commands:
-
- gn args out/Debug/ --list # List build args
- gn args out/Debug/ # Modify args in $EDITOR
diff --git a/deno2/msg.proto b/deno2/msg.proto
index e0ce41a3a..6c4d1f9e1 120000..100644
--- a/deno2/msg.proto
+++ b/deno2/msg.proto
@@ -1 +1,102 @@
-../msg.proto \ No newline at end of file
+// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
+// All rights reserved. MIT License.
+syntax = "proto3";
+package deno;
+option go_package = "deno";
+
+message BaseMsg {
+ string channel = 1;
+ bytes payload = 2;
+}
+
+message Msg {
+ enum Command {
+ ERROR = 0;
+ START = 1;
+ CODE_FETCH = 2;
+ CODE_FETCH_RES = 3;
+ CODE_CACHE = 4;
+ EXIT = 5;
+ TIMER_START = 6;
+ TIMER_READY = 7;
+ TIMER_CLEAR = 8;
+ FETCH_REQ = 9;
+ FETCH_RES = 10;
+ READ_FILE_SYNC = 11;
+ READ_FILE_SYNC_RES = 12;
+ WRITE_FILE_SYNC = 13;
+ }
+ Command command = 1;
+
+ // We avoid creating a message for each command (and use oneof or any types)
+ // In order to reduce code in the size of the generated javascript
+ // "msg.pb.js". It seems that each new message adds 20k and we want to
+ // potentially add many hundreds of commands. Therefore we just prefix command
+ // arguments by their name.
+
+ // ERROR
+ string error = 2;
+
+ // START
+ string start_cwd = 10;
+ repeated string start_argv = 11;
+ bool start_debug_flag = 12;
+ string start_main_js = 13; // The contents of dist/main.js
+ string start_main_map = 14; // The contents of dist/main.map
+
+ // CODE_FETCH
+ string code_fetch_module_specifier = 20;
+ string code_fetch_containing_file = 21;
+
+ // CODE_FETCH_RES
+ // If it's a non-http module, moduleName and filename will be the same.
+ // For http modules, moduleName is its resolved http URL, and filename
+ // is the location of the locally downloaded source code.
+ string code_fetch_res_module_name = 30;
+ string code_fetch_res_filename = 31;
+ string code_fetch_res_source_code = 32;
+ string code_fetch_res_output_code = 33; // Non-empty only if cached.
+
+ // CODE_CACHE
+ string code_cache_filename = 41;
+ string code_cache_source_code = 42;
+ string code_cache_output_code = 43;
+
+ // EXIT
+ int32 exit_code = 50;
+
+ // TIMER_START
+ int32 timer_start_id = 60;
+ bool timer_start_interval = 61;
+ int32 timer_start_delay = 62; // In milliseconds.
+
+ // TIMER_READY
+ int32 timer_ready_id = 70;
+ bool timer_ready_done = 71;
+
+ // TIMER_CLEAR
+ int32 timer_clear_id = 80;
+
+ // FETCH_REQ
+ int32 fetch_req_id = 90;
+ string fetch_req_url = 91;
+ // repeated string fetch_req_header_line = 91
+
+ // FETCH_RES
+ int32 fetch_res_id = 100;
+ int32 fetch_res_status = 101;
+ repeated string fetch_res_header_line = 102;
+ bytes fetch_res_body = 103;
+
+ // READ_FILE_SYNC
+ string read_file_sync_filename = 110;
+
+ // READ_FILE_SYNC_RES
+ bytes read_file_sync_data = 120;
+
+ // WRITE_FILE_SYNC
+ string write_file_sync_filename = 130;
+ bytes write_file_sync_data = 131;
+ uint32 write_file_sync_perm = 132;
+ // write_file_sync_perm specified by https://godoc.org/os#FileMode
+}
diff --git a/deno2/tools/build.py b/deno2/tools/build.py
deleted file mode 100755
index 25f30f4f8..000000000
--- a/deno2/tools/build.py
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-# Get Depot Tools and make sure it's in your path.
-# http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
-# Use .gclient to modify the deps.
-import os
-import sys
-import subprocess
-import argparse
-
-TARGET = "deno"
-
-parser = argparse.ArgumentParser(description="build.py")
-parser.add_argument('--debug', dest='debug', action='store_true')
-parser.add_argument('--use_ccache', dest='use_ccache', action='store_true')
-parser.add_argument('--sync', dest='sync', action='store_true')
-parser.set_defaults(debug=False, use_ccache=False, sync=False)
-args = parser.parse_args()
-
-root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
-
-
-def main():
- os.chdir(root_path)
- buildName = "Debug" if args.debug else "Default"
- buildDir = os.path.join(root_path, "out", buildName)
- # Run sync if any of the dep dirs don't exist.
- # Or the user supplied the --sync flag.
- if args.sync or dirsMissing():
- run(["gclient", "sync", "--no-history"])
-
- # Run gn gen out/Default if out doesn't exist.
- if not os.path.exists(buildDir):
- gn_gen = ["gn", "gen", buildDir]
- gn_args = []
- if args.debug:
- gn_args.append("is_debug=true")
- if args.use_ccache:
- gn_args.append("cc_wrapper=\"ccache\"")
- if len(gn_args) > 0:
- gn_gen += ["--args=%s" % " ".join(gn_args)]
- run(gn_gen)
-
- # Always run ninja.
- run(["ninja", "-C", buildDir, TARGET])
-
-
-def run(args):
- print " ".join(args)
- env = os.environ.copy()
- subprocess.check_call(args, env=env)
-
-
-def dirsMissing():
- dirsToLoad = [
- "v8",
- "third_party/protobuf",
- "tools/protoc_wrapper",
- "third_party/zlib",
- ]
- for d in dirsToLoad:
- if not os.path.exists(d):
- return True
- return False
-
-
-if '__main__' == __name__:
- main()
diff --git a/deno_dir.go b/deno_dir.go
deleted file mode 100644
index 1fac10831..000000000
--- a/deno_dir.go
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "crypto/md5"
- "encoding/hex"
- "flag"
- "io"
- "io/ioutil"
- "net/http"
- "os"
- "path"
- "runtime"
- "strings"
-)
-
-var flagCacheDir = flag.String("cachedir", "",
- "Where to cache compilation artifacts. Default: ~/.deno")
-
-var DenoDir string
-var CacheDir string
-var SrcDir string
-
-func SourceCodeHash(filename string, sourceCodeBuf []byte) string {
- h := md5.New()
- h.Write([]byte(filename))
- h.Write(sourceCodeBuf)
- return hex.EncodeToString(h.Sum(nil))
-}
-
-func CacheFileName(filename string, sourceCodeBuf []byte) string {
- cacheKey := SourceCodeHash(filename, sourceCodeBuf)
- return path.Join(CacheDir, cacheKey+".js")
-}
-
-// Fetches a remoteUrl but also caches it to the localFilename.
-func FetchRemoteSource(remoteUrl string, localFilename string) ([]byte, error) {
- logDebug("FetchRemoteSource %s %s", remoteUrl, localFilename)
- assert(strings.HasPrefix(localFilename, SrcDir),
- "Expected filename to start with SrcDir: "+localFilename)
- var sourceReader io.Reader
-
- file, err := os.Open(localFilename)
- if *flagReload || os.IsNotExist(err) {
- // Fetch from HTTP.
- println("Downloading", remoteUrl)
- res, err := http.Get(remoteUrl)
- if err != nil {
- return nil, err
- }
- defer res.Body.Close()
-
- err = os.MkdirAll(path.Dir(localFilename), 0700)
- if err != nil {
- return nil, err
- }
-
- // Write to local file. Need to reopen it for writing.
- file, err = os.OpenFile(localFilename, os.O_RDWR|os.O_CREATE, 0700)
- if err != nil {
- return nil, err
- }
- sourceReader = io.TeeReader(res.Body, file) // Fancy!
-
- } else if err != nil {
- return nil, err
- } else {
- sourceReader = file
- }
- defer file.Close()
- return ioutil.ReadAll(sourceReader)
-}
-
-func LoadOutputCodeCache(filename string, sourceCodeBuf []byte) (
- outputCode string, err error) {
- cacheFn := CacheFileName(filename, sourceCodeBuf)
- outputCodeBuf, err := ioutil.ReadFile(cacheFn)
- if os.IsNotExist(err) {
- // Ignore error if we can't find the cache file.
- err = nil
- } else if err == nil {
- outputCode = string(outputCodeBuf)
- }
- return outputCode, err
-}
-
-func UserHomeDir() string {
- if runtime.GOOS == "windows" {
- home := path.Join(os.Getenv("HOMEDRIVE"), os.Getenv("HOMEPATH"))
- if home == "" {
- home = os.Getenv("USERPROFILE")
- }
- return home
- }
- return os.Getenv("HOME")
-}
-
-func createDirs() {
- if *flagCacheDir == "" {
- DenoDir = path.Join(UserHomeDir(), ".deno")
- } else {
- DenoDir = *flagCacheDir
- }
- CacheDir = path.Join(DenoDir, "cache")
- err := os.MkdirAll(CacheDir, 0700)
- check(err)
- SrcDir = path.Join(DenoDir, "src")
- err = os.MkdirAll(SrcDir, 0700)
- check(err)
-}
diff --git a/deno_dir_test.go b/deno_dir_test.go
deleted file mode 100644
index 2c1bfb1e2..000000000
--- a/deno_dir_test.go
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "io/ioutil"
- "testing"
-)
-
-func SetCacheDirForTest(prefix string) {
- dir, err := ioutil.TempDir("", prefix)
- check(err)
- CacheDir = dir
-}
-
-func TestLoadOutputCodeCache(t *testing.T) {
- SetCacheDirForTest("TestLoadOutputCodeCache")
-
- filename := "Hello.ts"
- sourceCodeBuf := []byte("1+2")
-
- cacheFn := CacheFileName(filename, sourceCodeBuf)
-
- outputCode, err := LoadOutputCodeCache(filename, sourceCodeBuf)
- if err != nil {
- t.Fatalf(err.Error())
- }
- if outputCode != "" {
- t.Fatalf("Expected empty outputCode but got <<%s>>", outputCode)
- }
-
- // Now let's write to the cache file
- err = ioutil.WriteFile(cacheFn, []byte("blah"), 0700)
- if err != nil {
- t.Fatalf(err.Error())
- }
-
- // Try it again.
- outputCode, err = LoadOutputCodeCache(filename, sourceCodeBuf)
- if err != nil {
- t.Fatalf(err.Error())
- }
- if outputCode != "blah" {
- t.Fatalf("Bad outputCode but got <<%s>>", outputCode)
- }
-}
diff --git a/dispatch.go b/dispatch.go
deleted file mode 100644
index 373d30666..000000000
--- a/dispatch.go
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "github.com/golang/protobuf/proto"
- "sync"
-)
-
-var resChan = make(chan *BaseMsg, 10)
-var doneChan = make(chan bool)
-var wg sync.WaitGroup
-
-var stats struct {
- v8workerSend int
- v8workerRespond int
- v8workerRecv int
- v8workerBytesSent int
- v8workerBytesRecv int
-}
-
-var channels = make(map[string][]Subscriber)
-
-type Subscriber func(payload []byte) []byte
-
-func recv(buf []byte) (response []byte) {
- stats.v8workerRecv++
- stats.v8workerBytesRecv += len(buf)
-
- msg := &BaseMsg{}
- check(proto.Unmarshal(buf, msg))
- assert(len(msg.Payload) > 0, "BaseMsg has empty payload.")
- subscribers, ok := channels[msg.Channel]
- if !ok {
- panic("No subscribers for channel " + msg.Channel)
- }
- for i := 0; i < len(subscribers); i++ {
- s := subscribers[i]
- r := s(msg.Payload)
- if r != nil {
- response = r
- }
- }
- if response != nil {
- stats.v8workerRespond++
- stats.v8workerBytesSent += len(response)
- }
- return response
-}
-
-func Sub(channel string, cb Subscriber) {
- subscribers, ok := channels[channel]
- if !ok {
- subscribers = make([]Subscriber, 0)
- }
- subscribers = append(subscribers, cb)
- channels[channel] = subscribers
-}
-
-func Pub(channel string, payload []byte) {
- wg.Add(1)
- resChan <- &BaseMsg{
- Channel: channel,
- Payload: payload,
- }
-}
-
-func PubMsg(channel string, msg *Msg) {
- payload, err := proto.Marshal(msg)
- check(err)
- Pub(channel, payload)
-}
-
-func DispatchLoop() {
- wg.Add(1)
- first := true
-
- // In a goroutine, we wait on for all goroutines to complete (for example
- // timers). We use this to signal to the main thread to exit.
- // wg.Add(1) basically translates to uv_ref, if this was Node.
- // wg.Done() basically translates to uv_unref
- go func() {
- wg.Wait()
- doneChan <- true
- }()
-
- for {
- select {
- case msg := <-resChan:
- out, err := proto.Marshal(msg)
- check(err)
- err = worker.SendBytes(out)
- stats.v8workerSend++
- stats.v8workerBytesSent += len(out)
- exitOnError(err)
- wg.Done() // Corresponds to the wg.Add(1) in Pub().
- case <-doneChan:
- // All goroutines have completed. Now we can exit main().
- checkChanEmpty()
- return
- }
-
- // We don't want to exit until we've received at least one message.
- // This is so the program doesn't exit after sending the "start"
- // message.
- if first {
- wg.Done()
- }
- first = false
- }
-}
-
-func checkChanEmpty() {
- // We've received a done event. As a sanity check, make sure that resChan is
- // empty.
- select {
- case _, ok := <-resChan:
- if ok {
- panic("Read a message from resChan after doneChan closed.")
- } else {
- panic("resChan closed. Unexpected.")
- }
- default:
- // No value ready, moving on.
- }
-}
diff --git a/dispatch.ts b/dispatch.ts
deleted file mode 100644
index a83e5a0e5..000000000
--- a/dispatch.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-import { typedArrayToArrayBuffer } from "./util";
-import { _global } from "./globals";
-import { deno as pb } from "./msg.pb";
-
-export type MessageCallback = (msg: Uint8Array) => void;
-//type MessageStructCallback = (msg: pb.IMsg) => void;
-
-const send = V8Worker2.send;
-const channels = new Map<string, MessageCallback[]>();
-
-export function sub(channel: string, cb: MessageCallback): void {
- let subscribers = channels.get(channel);
- if (!subscribers) {
- subscribers = [];
- channels.set(channel, subscribers);
- }
- subscribers.push(cb);
-}
-
-/*
-export function subMsg(channel: string, cb: MessageStructCallback): void {
- sub(channel, (payload: Uint8Array) => {
- const msg = pb.Msg.decode(payload);
- if (msg.error != null) {
- f.onError(new Error(msg.error));
- } else {
- cb(msg);
- }
- });
-}
- */
-
-export function pub(channel: string, payload: Uint8Array): null | ArrayBuffer {
- const msg = pb.BaseMsg.fromObject({ channel, payload });
- const ui8 = pb.BaseMsg.encode(msg).finish();
- const ab = typedArrayToArrayBuffer(ui8);
- return send(ab);
-}
-
-// Internal version of "pub".
-// TODO add internal version of "sub"
-export function pubInternal(channel: string, obj: pb.IMsg): null | pb.Msg {
- const msg = pb.Msg.fromObject(obj);
- const ui8 = pb.Msg.encode(msg).finish();
- const resBuf = pub(channel, ui8);
- if (resBuf != null && resBuf.byteLength > 0) {
- const res = pb.Msg.decode(new Uint8Array(resBuf));
- if (res != null && res.error != null && res.error.length > 0) {
- throw Error(res.error);
- }
- return res;
- } else {
- return null;
- }
-}
-
-V8Worker2.recv((ab: ArrayBuffer) => {
- const msg = pb.BaseMsg.decode(new Uint8Array(ab));
- const subscribers = channels.get(msg.channel);
- if (subscribers == null) {
- throw Error(`No subscribers for channel "${msg.channel}".`);
- }
-
- for (const subscriber of subscribers) {
- subscriber(msg.payload);
- }
-});
-
-// Delete the V8Worker2 from the global object, so that no one else can receive
-// messages.
-_global["V8Worker2"] = null;
diff --git a/echo.go b/echo.go
deleted file mode 100644
index 29ec11138..000000000
--- a/echo.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-// For testing
-func InitEcho() {
- Sub("echo", func(buf []byte) []byte {
- Pub("echo", buf)
- return nil
- })
-}
diff --git a/fetch.go b/fetch.go
deleted file mode 100644
index 3b9cb5746..000000000
--- a/fetch.go
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "github.com/golang/protobuf/proto"
- "io/ioutil"
- "net/http"
-)
-
-func InitFetch() {
- Sub("fetch", func(buf []byte) []byte {
- msg := &Msg{}
- check(proto.Unmarshal(buf, msg))
- switch msg.Command {
- case Msg_FETCH_REQ:
- return Fetch(
- msg.FetchReqId,
- msg.FetchReqUrl)
- default:
- panic("[fetch] Unexpected message " + string(buf))
- }
- })
-}
-
-func Fetch(id int32, targetUrl string) []byte {
- logDebug("Fetch %d %s", id, targetUrl)
- async(func() {
- resMsg := &Msg{
- Command: Msg_FETCH_RES,
- FetchResId: id,
- }
-
- if !Perms.Net {
- resMsg.Error = "Network access denied."
- PubMsg("fetch", resMsg)
- return
- }
-
- resp, err := http.Get(targetUrl)
- if err != nil {
- resMsg.Error = err.Error()
- PubMsg("fetch", resMsg)
- return
- }
- if resp == nil {
- resMsg.Error = "resp is nil "
- PubMsg("fetch", resMsg)
- return
- }
-
- resMsg.FetchResStatus = int32(resp.StatusCode)
- logDebug("fetch success %d %s", resMsg.FetchResStatus, targetUrl)
- PubMsg("fetch", resMsg)
-
- // Now we read the body and send another message0
-
- defer resp.Body.Close()
- body, err := ioutil.ReadAll(resp.Body)
- if resp == nil {
- resMsg.Error = "resp is nil "
- PubMsg("fetch", resMsg)
- return
- }
-
- resMsg.FetchResBody = body
- PubMsg("fetch", resMsg)
-
- // TODO streaming.
- })
- return nil
-}
diff --git a/fetch.ts b/fetch.ts
deleted file mode 100644
index c59d41bf5..000000000
--- a/fetch.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-import {
- assert,
- log,
- createResolvable,
- Resolvable,
- typedArrayToArrayBuffer
-} from "./util";
-import { pubInternal, sub } from "./dispatch";
-import { deno as pb } from "./msg.pb";
-
-export function initFetch() {
- sub("fetch", (payload: Uint8Array) => {
- const msg = pb.Msg.decode(payload);
- assert(msg.command === pb.Msg.Command.FETCH_RES);
- const id = msg.fetchResId;
- const f = fetchRequests.get(id);
- assert(f != null, `Couldn't find FetchRequest id ${id}`);
-
- f.onMsg(msg);
- });
-}
-
-const fetchRequests = new Map<number, FetchRequest>();
-
-class FetchResponse implements Response {
- readonly url: string;
- body: null;
- bodyUsed = false; // TODO
- status: number;
- statusText = "FIXME"; // TODO
- readonly type = "basic"; // TODO
- redirected = false; // TODO
- headers: null; // TODO
- //private bodyChunks: Uint8Array[] = [];
- private first = true;
-
- constructor(readonly req: FetchRequest) {
- this.url = req.url;
- }
-
- bodyWaiter: Resolvable<ArrayBuffer>;
- arrayBuffer(): Promise<ArrayBuffer> {
- this.bodyWaiter = createResolvable();
- return this.bodyWaiter;
- }
-
- blob(): Promise<Blob> {
- throw Error("not implemented");
- }
-
- formData(): Promise<FormData> {
- throw Error("not implemented");
- }
-
- async json(): Promise<object> {
- const text = await this.text();
- return JSON.parse(text);
- }
-
- async text(): Promise<string> {
- const ab = await this.arrayBuffer();
- const decoder = new TextDecoder("utf-8");
- return decoder.decode(ab);
- }
-
- get ok(): boolean {
- return 200 <= this.status && this.status < 300;
- }
-
- clone(): Response {
- throw Error("not implemented");
- }
-
- onHeader: (res: Response) => void;
- onError: (error: Error) => void;
-
- onMsg(msg: pb.Msg) {
- if (msg.error !== null && msg.error !== "") {
- //throw new Error(msg.error)
- this.onError(new Error(msg.error));
- return;
- }
-
- if (this.first) {
- this.first = false;
- this.status = msg.fetchResStatus;
- this.onHeader(this);
- } else {
- // Body message. Assuming it all comes in one message now.
- const ab = typedArrayToArrayBuffer(msg.fetchResBody);
- this.bodyWaiter.resolve(ab);
- }
- }
-}
-
-let nextFetchId = 0;
-//TODO implements Request
-class FetchRequest {
- private readonly id: number;
- response: FetchResponse;
- constructor(readonly url: string) {
- this.id = nextFetchId++;
- fetchRequests.set(this.id, this);
- this.response = new FetchResponse(this);
- }
-
- onMsg(msg: pb.Msg) {
- this.response.onMsg(msg);
- }
-
- destroy() {
- fetchRequests.delete(this.id);
- }
-
- start() {
- log("dispatch FETCH_REQ", this.id, this.url);
- const res = pubInternal("fetch", {
- command: pb.Msg.Command.FETCH_REQ,
- fetchReqId: this.id,
- fetchReqUrl: this.url
- });
- assert(res == null);
- }
-}
-
-export function fetch(
- input?: Request | string,
- init?: RequestInit
-): Promise<Response> {
- const fetchReq = new FetchRequest(input as string);
- const response = fetchReq.response;
- return new Promise((resolve, reject) => {
- // tslint:disable-next-line:no-any
- response.onHeader = (response: any) => {
- log("onHeader");
- resolve(response);
- };
- response.onError = (error: Error) => {
- log("onError", error);
- reject(error);
- };
- fetchReq.start();
- });
-}
diff --git a/globals.ts b/globals.ts
deleted file mode 100644
index cca72d172..000000000
--- a/globals.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-import * as timer from "./timers";
-
-// If you use the eval function indirectly, by invoking it via a reference
-// other than eval, as of ECMAScript 5 it works in the global scope rather than
-// the local scope. This means, for instance, that function declarations create
-// global functions, and that the code being evaluated doesn't have access to
-// local variables within the scope where it's being called.
-export const globalEval = eval;
-
-// A reference to the global object.
-// TODO The underscore is because it's conflicting with @types/node.
-export const _global = globalEval("this");
-
-_global["window"] = _global; // Create a window object.
-import "./url";
-
-_global["setTimeout"] = timer.setTimeout;
-_global["setInterval"] = timer.setInterval;
-_global["clearTimeout"] = timer.clearTimer;
-_global["clearInterval"] = timer.clearTimer;
-
-import { Console } from "./console";
-_global["console"] = new Console();
-
-import { fetch } from "./fetch";
-_global["fetch"] = fetch;
-
-import { TextEncoder, TextDecoder } from "text-encoding";
-_global["TextEncoder"] = TextEncoder;
-_global["TextDecoder"] = TextDecoder;
diff --git a/integration_test.go b/integration_test.go
deleted file mode 100644
index 2d1cbdbea..000000000
--- a/integration_test.go
+++ /dev/null
@@ -1,139 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "bytes"
- "io/ioutil"
- "net"
- "net/http"
- "os"
- "os/exec"
- "path"
- "strings"
- "testing"
-)
-
-var denoFn string
-
-// Some tests require an HTTP server. We start one here.
-// Note that "localhost:4545" is hardcoded into the tests at the moment,
-// so if the server runs on a different port, it will fail.
-func startServer() {
- l, err := net.Listen("tcp", ":4545")
- check(err)
- rootHandler := http.FileServer(http.Dir("."))
- go func() {
- err := http.Serve(l, rootHandler)
- check(err)
- }()
-}
-
-func listTestFiles() []string {
- files, err := ioutil.ReadDir("testdata")
- check(err)
- out := make([]string, 0)
- for _, file := range files {
- fn := file.Name()
- if strings.HasSuffix(fn, ".out") {
- out = append(out, fn)
- }
- }
- return out
-}
-
-func checkOutput(t *testing.T, outFile string, shouldSucceed bool) {
- outFile = path.Join("testdata", outFile)
- jsFile := strings.TrimSuffix(outFile, ".out")
-
- expected, err := ioutil.ReadFile(outFile)
- if err != nil {
- t.Fatal(err.Error())
- }
-
- actual, _, err := deno(jsFile)
- if shouldSucceed && err != nil {
- t.Fatalf("Expected success %s", err.Error())
- } else if !shouldSucceed && err == nil {
- t.Fatalf("Expected failure but got success")
- }
- if !patternMatch(string(expected), string(actual)) {
- t.Fatalf(`Actual output does not match expected.
------Actual-------------------
-%s-----Expected-----------------
-%s------------------------------`, string(actual), string(expected))
- }
-}
-
-func deno(inputFn string) (actual []byte, cachedir string, err error) {
- cachedir, err = ioutil.TempDir("", "TestIntegration")
- check(err)
-
- cmd := exec.Command(denoFn, "--cachedir="+cachedir, inputFn)
- var out bytes.Buffer
- cmd.Stdout = &out
- cmd.Stderr = &out
- err = cmd.Run()
- actual = out.Bytes()
- return
-}
-
-func integrationTestSetup() {
- if denoFn == "" {
- startServer()
- cwd, err := os.Getwd()
- check(err)
- denoFn = path.Join(cwd, "deno")
- }
-}
-
-func TestIntegrationFiles(t *testing.T) {
- integrationTestSetup()
- outFiles := listTestFiles()
- for _, outFile := range outFiles {
- t.Run(outFile, func(t *testing.T) {
- shouldSucceed := strings.Index(outFile, "error") < 0
- checkOutput(t, outFile, shouldSucceed)
- })
- }
-}
-
-func TestIntegrationUrlArgs(t *testing.T) {
- integrationTestSetup()
-
- // Using good port 4545
- _, cachedir, err := deno("http://localhost:4545/testdata/001_hello.js")
- if err != nil {
- t.Fatalf("Expected success. %s", err.Error())
- }
- cacheFn := path.Join(cachedir, "src/localhost:4545/testdata/001_hello.js")
- println("good cacheFn", cacheFn)
- if !exists(cacheFn) {
- t.Fatalf("Expected 200 at '%s'", cacheFn)
- }
- // TODO check output
-
- // Using bad port 4546 instead of 4545.
- _, cachedir, err = deno("http://localhost:4546/testdata/001_hello.js")
- if err == nil {
- t.Fatalf("Expected 404. %s", err.Error())
- }
- // Check that cache dir is empty.
- cacheFn = path.Join(cachedir, "src/localhost:4546/testdata/001_hello.js")
- println("bad cacheFn", cacheFn)
- if exists(cacheFn) {
- t.Fatalf("Expected 404 at '%s'", cacheFn)
- }
-}
-
-func TestTestsTs(t *testing.T) {
- integrationTestSetup()
- // TODO Need unit test for each of the permissions.
- cmd := exec.Command(denoFn, "--allow-net", "--allow-write", "tests.ts")
- cmd.Stdout = os.Stdout
- cmd.Stderr = os.Stderr
- err := cmd.Run()
- if err != nil {
- t.Fatal(err.Error())
- }
-}
diff --git a/main.go b/main.go
deleted file mode 100644
index c9923bd77..000000000
--- a/main.go
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "flag"
- "fmt"
- "os"
- "path"
- "runtime/pprof"
-
- "github.com/ry/v8worker2"
-)
-
-var flagReload = flag.Bool("reload", false, "Reload cached remote source code.")
-var flagV8Options = flag.Bool("v8-options", false, "Print V8 command line options.")
-var flagDebug = flag.Bool("debug", false, "Enable debug output.")
-var flagCPUProf = flag.String("cpuprof", "", "Write golang cpu profile to file.")
-var flagMemProf = flag.String("memprof", "", "Write golang memory profile to file.")
-
-var flagAllowRead = flag.Bool("allow-read", true,
- "Allow program to read file system.")
-var flagAllowWrite = flag.Bool("allow-write", false,
- "Allow program to write to the fs.")
-var flagAllowNet = flag.Bool("allow-net", false,
- "Allow program to make network connection.")
-
-var memProfile *os.File
-
-var Perms struct {
- FsRead bool
- FsWrite bool
- Net bool
-}
-
-func setPerms() {
- Perms.FsRead = *flagAllowRead
- Perms.FsWrite = *flagAllowWrite
- Perms.Net = *flagAllowNet
-}
-
-func stringAsset(filename string) string {
- data, err := Asset(path.Join("dist", filename))
- check(err)
- return string(data)
-}
-
-func FlagsParse() []string {
- flag.Parse()
- args := flag.Args()
- setPerms()
- if *flagV8Options {
- args = append(args, "--help")
- }
- // Adding this causes testdata/007_stack_trace.ts to fail without a
- // stacktrace.
- // args = append(args, "--abort-on-uncaught-exception")
- args = v8worker2.SetFlags(args)
-
- return args
-}
-
-// There is a single global worker for this process.
-// This file should be the only part of deno that directly access it, so that
-// all interaction with V8 can go through a single point.
-var worker *v8worker2.Worker
-var workerArgs []string
-var main_js string
-var main_map string
-
-func Init() {
- workerArgs = FlagsParse()
-
- if len(workerArgs) == 0 {
- fmt.Fprintf(os.Stderr, "Usage: %s file.ts\n", os.Args[0])
- flag.PrintDefaults()
- os.Exit(1)
- }
-
- // Maybe start Golang profilers.
- // Use --prof for profiling JS.
- StartProfiling()
-
- createDirs()
- InitOS()
- InitEcho()
- InitTimers()
- InitFetch()
-
- worker = v8worker2.New(recv)
-
- main_js = stringAsset("main.js")
- err := worker.Load("/main.js", main_js)
- exitOnError(err)
- main_map = stringAsset("main.map")
-}
-
-func StartProfiling() {
- if *flagCPUProf != "" {
- cpuProfile, err := os.Create(*flagCPUProf)
- check(err)
- check(pprof.StartCPUProfile(cpuProfile))
- }
- if *flagMemProf != "" {
- var err error
- memProfile, err = os.Create(*flagMemProf)
- check(err)
- check(pprof.WriteHeapProfile(memProfile))
- }
-}
-
-func stopProfiling() {
- if *flagCPUProf != "" {
- pprof.StopCPUProfile()
- }
- if *flagMemProf != "" {
- check(memProfile.Close())
- }
-}
-
-// It's up to library users to call
-// deno.Eval("deno_main.js", "denoMain()")
-func Eval(filename string, code string) {
- err := worker.Load(filename, code)
- exitOnError(err)
-}
-
-func Loop() {
- cwd, err := os.Getwd()
- check(err)
- PubMsg("start", &Msg{
- Command: Msg_START,
- StartCwd: cwd,
- StartArgv: workerArgs,
- StartDebugFlag: *flagDebug,
- StartMainJs: main_js,
- StartMainMap: main_map,
- })
- DispatchLoop()
- stopProfiling()
-}
diff --git a/main.ts b/main.ts
deleted file mode 100644
index f72d69cc1..000000000
--- a/main.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-// This allows us to have async/await in our code. It must be loaded first.
-import "babel-polyfill";
-
-import * as dispatch from "./dispatch";
-import { deno as pb } from "./msg.pb";
-
-import * as runtime from "./runtime";
-import * as util from "./util";
-
-import { initTimers } from "./timers";
-import { initFetch } from "./fetch";
-
-// To control internal logging output
-// Set with the -debug command-line flag.
-export let debug = false;
-let startCalled = false;
-
-// denoMain is needed to allow hooks into the system.
-// Also eventual snapshot support needs it.
-// tslint:disable-next-line:no-any
-(window as any)["denoMain"] = () => {
- // tslint:disable-next-line:no-any
- delete (window as any)["denoMain"];
-
- initTimers();
- initFetch();
-
- dispatch.sub("start", (payload: Uint8Array) => {
- if (startCalled) {
- throw Error("start message received more than once!");
- }
- startCalled = true;
-
- const msg = pb.Msg.decode(payload);
- const {
- startCwd: cwd,
- startArgv: argv,
- startDebugFlag: debugFlag,
- startMainJs: mainJs,
- startMainMap: mainMap
- } = msg;
-
- debug = debugFlag;
- util.log("start", { cwd, argv, debugFlag });
-
- runtime.setup(mainJs, mainMap);
-
- const inputFn = argv[0];
- const mod = runtime.resolveModule(inputFn, `${cwd}/`);
- mod.compileAndRun();
- });
-};
diff --git a/msg.proto b/msg.proto
deleted file mode 100644
index 6c4d1f9e1..000000000
--- a/msg.proto
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-syntax = "proto3";
-package deno;
-option go_package = "deno";
-
-message BaseMsg {
- string channel = 1;
- bytes payload = 2;
-}
-
-message Msg {
- enum Command {
- ERROR = 0;
- START = 1;
- CODE_FETCH = 2;
- CODE_FETCH_RES = 3;
- CODE_CACHE = 4;
- EXIT = 5;
- TIMER_START = 6;
- TIMER_READY = 7;
- TIMER_CLEAR = 8;
- FETCH_REQ = 9;
- FETCH_RES = 10;
- READ_FILE_SYNC = 11;
- READ_FILE_SYNC_RES = 12;
- WRITE_FILE_SYNC = 13;
- }
- Command command = 1;
-
- // We avoid creating a message for each command (and use oneof or any types)
- // In order to reduce code in the size of the generated javascript
- // "msg.pb.js". It seems that each new message adds 20k and we want to
- // potentially add many hundreds of commands. Therefore we just prefix command
- // arguments by their name.
-
- // ERROR
- string error = 2;
-
- // START
- string start_cwd = 10;
- repeated string start_argv = 11;
- bool start_debug_flag = 12;
- string start_main_js = 13; // The contents of dist/main.js
- string start_main_map = 14; // The contents of dist/main.map
-
- // CODE_FETCH
- string code_fetch_module_specifier = 20;
- string code_fetch_containing_file = 21;
-
- // CODE_FETCH_RES
- // If it's a non-http module, moduleName and filename will be the same.
- // For http modules, moduleName is its resolved http URL, and filename
- // is the location of the locally downloaded source code.
- string code_fetch_res_module_name = 30;
- string code_fetch_res_filename = 31;
- string code_fetch_res_source_code = 32;
- string code_fetch_res_output_code = 33; // Non-empty only if cached.
-
- // CODE_CACHE
- string code_cache_filename = 41;
- string code_cache_source_code = 42;
- string code_cache_output_code = 43;
-
- // EXIT
- int32 exit_code = 50;
-
- // TIMER_START
- int32 timer_start_id = 60;
- bool timer_start_interval = 61;
- int32 timer_start_delay = 62; // In milliseconds.
-
- // TIMER_READY
- int32 timer_ready_id = 70;
- bool timer_ready_done = 71;
-
- // TIMER_CLEAR
- int32 timer_clear_id = 80;
-
- // FETCH_REQ
- int32 fetch_req_id = 90;
- string fetch_req_url = 91;
- // repeated string fetch_req_header_line = 91
-
- // FETCH_RES
- int32 fetch_res_id = 100;
- int32 fetch_res_status = 101;
- repeated string fetch_res_header_line = 102;
- bytes fetch_res_body = 103;
-
- // READ_FILE_SYNC
- string read_file_sync_filename = 110;
-
- // READ_FILE_SYNC_RES
- bytes read_file_sync_data = 120;
-
- // WRITE_FILE_SYNC
- string write_file_sync_filename = 130;
- bytes write_file_sync_data = 131;
- uint32 write_file_sync_perm = 132;
- // write_file_sync_perm specified by https://godoc.org/os#FileMode
-}
diff --git a/os.go b/os.go
deleted file mode 100644
index 5cbb0f5ec..000000000
--- a/os.go
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "github.com/golang/protobuf/proto"
- "github.com/spf13/afero"
- "io/ioutil"
- "net/url"
- "os"
- "path"
- "strings"
-)
-
-const assetPrefix string = "/$asset$/"
-
-var fs afero.Fs
-
-func InitOS() {
- if Perms.FsWrite {
- assert(Perms.FsRead, "Write access requires read access.")
- fs = afero.NewOsFs()
- } else if Perms.FsRead {
- fs = afero.NewReadOnlyFs(afero.NewOsFs())
- } else {
- panic("Not implemented.")
- }
-
- Sub("os", func(buf []byte) []byte {
- msg := &Msg{}
- check(proto.Unmarshal(buf, msg))
- switch msg.Command {
- case Msg_CODE_FETCH:
- return HandleCodeFetch(
- msg.CodeFetchModuleSpecifier,
- msg.CodeFetchContainingFile)
- case Msg_CODE_CACHE:
- return HandleCodeCache(
- msg.CodeCacheFilename,
- msg.CodeCacheSourceCode,
- msg.CodeCacheOutputCode)
- case Msg_EXIT:
- os.Exit(int(msg.ExitCode))
- case Msg_READ_FILE_SYNC:
- return ReadFileSync(msg.ReadFileSyncFilename)
- case Msg_WRITE_FILE_SYNC:
- return WriteFileSync(msg.WriteFileSyncFilename, msg.WriteFileSyncData,
- msg.WriteFileSyncPerm)
- default:
- panic("[os] Unexpected message " + string(buf))
- }
- return nil
- })
-}
-
-func SrcFileToUrl(filename string) string {
- assert(len(SrcDir) > 0, "SrcDir shouldn't be empty")
- if strings.HasPrefix(filename, SrcDir) {
- rest := strings.TrimPrefix(filename, SrcDir)
- if rest[0] == '/' {
- rest = rest[1:]
- }
-
- return "http://" + rest
- } else {
- return filename
- }
-}
-
-func ResolveModule(moduleSpecifier string, containingFile string) (
- moduleName string, filename string, err error) {
-
- logDebug("os.go ResolveModule moduleSpecifier %s containingFile %s",
- moduleSpecifier, containingFile)
-
- containingFile = SrcFileToUrl(containingFile)
- moduleSpecifier = SrcFileToUrl(moduleSpecifier)
-
- logDebug("os.go ResolveModule after moduleSpecifier %s containingFile %s",
- moduleSpecifier, containingFile)
-
- moduleUrl, err := url.Parse(moduleSpecifier)
- if err != nil {
- return
- }
- baseUrl, err := url.Parse(containingFile)
- if err != nil {
- return
- }
- resolved := baseUrl.ResolveReference(moduleUrl)
- moduleName = resolved.String()
- if resolved.IsAbs() {
- filename = path.Join(SrcDir, resolved.Host, resolved.Path)
- } else {
- filename = resolved.Path
- }
- return
-}
-
-func HandleCodeFetch(moduleSpecifier string, containingFile string) (out []byte) {
- assert(moduleSpecifier != "", "moduleSpecifier shouldn't be empty")
- res := &Msg{}
- var sourceCodeBuf []byte
- var err error
-
- defer func() {
- if err != nil {
- res.Error = err.Error()
- }
- out, err = proto.Marshal(res)
- check(err)
- }()
-
- moduleName, filename, err := ResolveModule(moduleSpecifier, containingFile)
- if err != nil {
- return
- }
-
- logDebug("CodeFetch moduleName %s moduleSpecifier %s containingFile %s filename %s",
- moduleName, moduleSpecifier, containingFile, filename)
-
- if isRemote(moduleName) {
- sourceCodeBuf, err = FetchRemoteSource(moduleName, filename)
- } else if strings.HasPrefix(moduleName, assetPrefix) {
- f := strings.TrimPrefix(moduleName, assetPrefix)
- sourceCodeBuf, err = Asset(path.Join("dist", f))
- if err != nil {
- logDebug("%s Asset doesn't exist. Return without error", moduleName)
- err = nil
- }
- } else {
- assert(moduleName == filename,
- "if a module isn't remote, it should have the same filename")
- sourceCodeBuf, err = ioutil.ReadFile(moduleName)
- }
- if err != nil {
- return
- }
-
- outputCode, err := LoadOutputCodeCache(filename, sourceCodeBuf)
- if err != nil {
- return
- }
-
- var sourceCode = string(sourceCodeBuf)
- res = &Msg{
- Command: Msg_CODE_FETCH_RES,
- CodeFetchResModuleName: moduleName,
- CodeFetchResFilename: filename,
- CodeFetchResSourceCode: sourceCode,
- CodeFetchResOutputCode: outputCode,
- }
- return
-}
-
-func HandleCodeCache(filename string, sourceCode string,
- outputCode string) []byte {
-
- fn := CacheFileName(filename, []byte(sourceCode))
- outputCodeBuf := []byte(outputCode)
- err := ioutil.WriteFile(fn, outputCodeBuf, 0600)
- res := &Msg{}
- if err != nil {
- res.Error = err.Error()
- }
- out, err := proto.Marshal(res)
- check(err)
- return out
-}
-
-func ReadFileSync(filename string) []byte {
- data, err := afero.ReadFile(fs, filename)
- res := &Msg{
- Command: Msg_READ_FILE_SYNC_RES,
- }
- if err != nil {
- res.Error = err.Error()
- } else {
- res.ReadFileSyncData = data
- }
- out, err := proto.Marshal(res)
- check(err)
- return out
-}
-
-func WriteFileSync(filename string, data []byte, perm uint32) []byte {
- err := afero.WriteFile(fs, filename, data, os.FileMode(perm))
- res := &Msg{}
- if err != nil {
- res.Error = err.Error()
- }
- out, err := proto.Marshal(res)
- check(err)
- return out
-}
diff --git a/os.ts b/os.ts
deleted file mode 100644
index a51c6ec5d..000000000
--- a/os.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-import { ModuleInfo } from "./types";
-import { pubInternal } from "./dispatch";
-import { deno as pb } from "./msg.pb";
-import { assert } from "./util";
-
-export function exit(exitCode = 0): void {
- pubInternal("os", {
- command: pb.Msg.Command.EXIT,
- exitCode
- });
-}
-
-export function codeFetch(
- moduleSpecifier: string,
- containingFile: string
-): ModuleInfo {
- const res = pubInternal("os", {
- command: pb.Msg.Command.CODE_FETCH,
- codeFetchModuleSpecifier: moduleSpecifier,
- codeFetchContainingFile: containingFile
- });
- assert(res.command === pb.Msg.Command.CODE_FETCH_RES);
- return {
- moduleName: res.codeFetchResModuleName,
- filename: res.codeFetchResFilename,
- sourceCode: res.codeFetchResSourceCode,
- outputCode: res.codeFetchResOutputCode
- };
-}
-
-export function codeCache(
- filename: string,
- sourceCode: string,
- outputCode: string
-): void {
- pubInternal("os", {
- command: pb.Msg.Command.CODE_CACHE,
- codeCacheFilename: filename,
- codeCacheSourceCode: sourceCode,
- codeCacheOutputCode: outputCode
- });
-}
-
-export function readFileSync(filename: string): Uint8Array {
- const res = pubInternal("os", {
- command: pb.Msg.Command.READ_FILE_SYNC,
- readFileSyncFilename: filename
- });
- return res.readFileSyncData;
-}
-
-export function writeFileSync(
- filename: string,
- data: Uint8Array,
- perm: number
-): void {
- pubInternal("os", {
- command: pb.Msg.Command.WRITE_FILE_SYNC,
- writeFileSyncFilename: filename,
- writeFileSyncData: data,
- writeFileSyncPerm: perm
- });
-}
diff --git a/os_test.go b/os_test.go
deleted file mode 100644
index d1ffd3e29..000000000
--- a/os_test.go
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "path"
- "testing"
-)
-
-func AssertEqual(t *testing.T, actual string, expected string) {
- if actual != expected {
- t.Fatalf("not equal <<%s>> <<%s>>", actual, expected)
- }
-}
-
-func TestResolveModule1(t *testing.T) {
- createDirs()
- moduleName, filename, err := ResolveModule(
- "http://localhost:4545/testdata/subdir/print_hello.ts",
- "/Users/rld/go/src/github.com/ry/deno/testdata/006_url_imports.ts")
- if err != nil {
- t.Fatalf(err.Error())
- }
- AssertEqual(t, moduleName,
- "http://localhost:4545/testdata/subdir/print_hello.ts")
- AssertEqual(t, filename,
- path.Join(SrcDir, "localhost:4545/testdata/subdir/print_hello.ts"))
-}
-
-func TestResolveModule2(t *testing.T) {
- createDirs()
- moduleName, filename, err := ResolveModule(
- "./subdir/print_hello.ts",
- "/Users/rld/go/src/github.com/ry/deno/testdata/006_url_imports.ts")
- if err != nil {
- t.Fatalf(err.Error())
- }
- AssertEqual(t, moduleName,
- "/Users/rld/go/src/github.com/ry/deno/testdata/subdir/print_hello.ts")
- AssertEqual(t, filename,
- "/Users/rld/go/src/github.com/ry/deno/testdata/subdir/print_hello.ts")
-}
-
-func TestResolveModule3(t *testing.T) {
- createDirs()
- // In the case where the containingFile is a directory (indicated with a
- // trailing slash)
- moduleName, filename, err := ResolveModule(
- "testdata/001_hello.js",
- "/Users/rld/go/src/github.com/ry/deno/")
- if err != nil {
- t.Fatalf(err.Error())
- }
- AssertEqual(t, moduleName,
- "/Users/rld/go/src/github.com/ry/deno/testdata/001_hello.js")
- AssertEqual(t, filename,
- "/Users/rld/go/src/github.com/ry/deno/testdata/001_hello.js")
-}
-
-func TestResolveModule4(t *testing.T) {
- createDirs()
- // Files in SrcDir should resolve to URLs.
- moduleName, filename, err := ResolveModule(
- path.Join(SrcDir, "unpkg.com/liltest@0.0.5/index.ts"),
- ".")
- if err != nil {
- t.Fatalf(err.Error())
- }
- AssertEqual(t, moduleName,
- "http://unpkg.com/liltest@0.0.5/index.ts")
- AssertEqual(t, filename,
- path.Join(SrcDir, "unpkg.com/liltest@0.0.5/index.ts"))
-}
-
-func TestResolveModuleExtensionsAintSpecial(t *testing.T) {
- createDirs()
- moduleName, filename, err := ResolveModule(
- "./util",
- path.Join(SrcDir, "unpkg.com/liltest@0.0.5/index.ts"))
- if err != nil {
- t.Fatalf(err.Error())
- }
- AssertEqual(t, moduleName,
- "http://unpkg.com/liltest@0.0.5/util")
- AssertEqual(t, filename,
- path.Join(SrcDir, "unpkg.com/liltest@0.0.5/util"))
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index 8da3f7406..000000000
--- a/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "deno",
- "scripts": {
- "lint": "tslint -p tsconfig.json -c tslint.json",
- "fmt": "prettier --write *.ts* *.js *.json"
- },
- "devDependencies": {
- "@types/base64-js": "^1.2.5",
- "@types/source-map-support": "^0.4.0",
- "babel-polyfill": "^6.26.0",
- "base64-js": "^1.3.0",
- "espree": "^3.5.3",
- "jsdoc": "^3.5.5",
- "parcel-bundler": "^1.8.1",
- "prettier": "^1.12.1",
- "protobufjs": "^6.8.6",
- "source-map": "0.6.0",
- "text-encoding": "^0.6.4",
- "tmp": "0.0.33",
- "tslint": "5.10.0",
- "typescript": "^2.8.3",
- "uglify-js": "^2.8.29"
- },
- "dependencies": {}
-}
diff --git a/runtime.ts b/runtime.ts
deleted file mode 100644
index 46538c80f..000000000
--- a/runtime.ts
+++ /dev/null
@@ -1,339 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-// Glossary
-// outputCode = generated javascript code
-// sourceCode = typescript code (or input javascript code)
-// moduleName = a resolved module name
-// fileName = an unresolved raw fileName.
-// for http modules , its the path to the locally downloaded
-// version.
-
-import * as ts from "typescript";
-import * as util from "./util";
-import { log } from "./util";
-import * as os from "./os";
-import * as sourceMaps from "./v8_source_maps";
-import { _global, globalEval } from "./globals";
-import * as deno from "./deno";
-
-const EOL = "\n";
-
-// tslint:disable-next-line:no-any
-export type AmdFactory = (...args: any[]) => undefined | object;
-export type AmdDefine = (deps: string[], factory: AmdFactory) => void;
-
-// Uncaught exceptions are sent to window.onerror by v8worker2.
-// https://git.io/vhOsf
-window.onerror = (message, source, lineno, colno, error) => {
- // TODO Currently there is a bug in v8_source_maps.ts that causes a segfault
- // if it is used within window.onerror. To workaround we uninstall the
- // Error.prepareStackTrace handler. Users will get unmapped stack traces on
- // uncaught exceptions until this issue is fixed.
- Error.prepareStackTrace = null;
- console.log(error.message, error.stack);
- os.exit(1);
-};
-
-export function setup(mainJs: string, mainMap: string): void {
- sourceMaps.install({
- installPrepareStackTrace: true,
- getGeneratedContents: (filename: string): string => {
- if (filename === "/main.js") {
- return mainJs;
- } else if (filename === "/main.map") {
- return mainMap;
- } else {
- const mod = FileModule.load(filename);
- if (!mod) {
- console.error("getGeneratedContents cannot find", filename);
- }
- return mod.outputCode;
- }
- }
- });
-}
-
-// This class represents a module. We call it FileModule to make it explicit
-// that each module represents a single file.
-// Access to FileModule instances should only be done thru the static method
-// FileModule.load(). FileModules are NOT executed upon first load, only when
-// compileAndRun is called.
-export class FileModule {
- scriptVersion: string;
- readonly exports = {};
-
- private static readonly map = new Map<string, FileModule>();
- constructor(
- readonly fileName: string,
- readonly sourceCode = "",
- public outputCode = ""
- ) {
- util.assert(
- !FileModule.map.has(fileName),
- `FileModule.map already has ${fileName}`
- );
- FileModule.map.set(fileName, this);
- if (outputCode !== "") {
- this.scriptVersion = "1";
- }
- }
-
- compileAndRun(): void {
- if (!this.outputCode) {
- // If there is no cached outputCode, then compile the code.
- util.assert(
- this.sourceCode != null && this.sourceCode.length > 0,
- `Have no source code from ${this.fileName}`
- );
- const compiler = Compiler.instance();
- this.outputCode = compiler.compile(this.fileName);
- os.codeCache(this.fileName, this.sourceCode, this.outputCode);
- }
- util.log("compileAndRun", this.sourceCode);
- execute(this.fileName, this.outputCode);
- }
-
- static load(fileName: string): FileModule {
- return this.map.get(fileName);
- }
-
- static getScriptsWithSourceCode(): string[] {
- const out = [];
- for (const fn of this.map.keys()) {
- const m = this.map.get(fn);
- if (m.sourceCode) {
- out.push(fn);
- }
- }
- return out;
- }
-}
-
-export function makeDefine(fileName: string): AmdDefine {
- const localDefine = (deps: string[], factory: AmdFactory): void => {
- const localRequire = (x: string) => {
- log("localRequire", x);
- };
- const currentModule = FileModule.load(fileName);
- const localExports = currentModule.exports;
- log("localDefine", fileName, deps, localExports);
- const args = deps.map(dep => {
- if (dep === "require") {
- return localRequire;
- } else if (dep === "exports") {
- return localExports;
- } else if (dep === "typescript") {
- return ts;
- } else if (dep === "deno") {
- return deno;
- } else {
- const resolved = resolveModuleName(dep, fileName);
- const depModule = FileModule.load(resolved);
- depModule.compileAndRun();
- return depModule.exports;
- }
- });
- factory(...args);
- };
- return localDefine;
-}
-
-export function resolveModule(
- moduleSpecifier: string,
- containingFile: string
-): null | FileModule {
- //util.log("resolveModule", { moduleSpecifier, containingFile });
- util.assert(moduleSpecifier != null && moduleSpecifier.length > 0);
- // We ask golang to sourceCodeFetch. It will load the sourceCode and if
- // there is any outputCode cached, it will return that as well.
- let fetchResponse;
- try {
- fetchResponse = os.codeFetch(moduleSpecifier, containingFile);
- } catch (e) {
- // TODO Only catch "no such file or directory" errors. Need error codes.
- return null;
- }
- const { filename, sourceCode, outputCode } = fetchResponse;
- if (sourceCode.length === 0) {
- return null;
- }
- util.log("resolveModule sourceCode length ", sourceCode.length);
- const m = FileModule.load(filename);
- if (m != null) {
- return m;
- } else {
- return new FileModule(filename, sourceCode, outputCode);
- }
-}
-
-function resolveModuleName(
- moduleSpecifier: string,
- containingFile: string
-): string | undefined {
- const mod = resolveModule(moduleSpecifier, containingFile);
- if (mod) {
- return mod.fileName;
- } else {
- return undefined;
- }
-}
-
-function execute(fileName: string, outputCode: string): void {
- util.assert(outputCode && outputCode.length > 0);
- _global["define"] = makeDefine(fileName);
- outputCode += `\n//# sourceURL=${fileName}`;
- globalEval(outputCode);
- _global["define"] = null;
-}
-
-// This is a singleton class. Use Compiler.instance() to access.
-class Compiler {
- options: ts.CompilerOptions = {
- allowJs: true,
- module: ts.ModuleKind.AMD,
- outDir: "$deno$",
- inlineSourceMap: true,
- lib: ["es2017"],
- inlineSources: true,
- target: ts.ScriptTarget.ES2017
- };
- /*
- allowJs: true,
- module: ts.ModuleKind.AMD,
- noEmit: false,
- outDir: '$deno$',
- */
- private service: ts.LanguageService;
-
- private constructor() {
- const host = new TypeScriptHost(this.options);
- this.service = ts.createLanguageService(host);
- }
-
- private static _instance: Compiler;
- static instance(): Compiler {
- return this._instance || (this._instance = new this());
- }
-
- compile(fileName: string): string {
- const output = this.service.getEmitOutput(fileName);
-
- // Get the relevant diagnostics - this is 3x faster than
- // `getPreEmitDiagnostics`.
- const diagnostics = this.service
- .getCompilerOptionsDiagnostics()
- .concat(this.service.getSyntacticDiagnostics(fileName))
- .concat(this.service.getSemanticDiagnostics(fileName));
- if (diagnostics.length > 0) {
- const errMsg = ts.formatDiagnosticsWithColorAndContext(
- diagnostics,
- formatDiagnosticsHost
- );
- console.log(errMsg);
- os.exit(1);
- }
-
- util.assert(!output.emitSkipped);
-
- const outputCode = output.outputFiles[0].text;
- // let sourceMapCode = output.outputFiles[0].text;
- return outputCode;
- }
-}
-
-// Create the compiler host for type checking.
-class TypeScriptHost implements ts.LanguageServiceHost {
- constructor(readonly options: ts.CompilerOptions) {}
-
- getScriptFileNames(): string[] {
- const keys = FileModule.getScriptsWithSourceCode();
- util.log("getScriptFileNames", keys);
- return keys;
- }
-
- getScriptVersion(fileName: string): string {
- util.log("getScriptVersion", fileName);
- const m = FileModule.load(fileName);
- return m.scriptVersion;
- }
-
- getScriptSnapshot(fileName: string): ts.IScriptSnapshot | undefined {
- util.log("getScriptSnapshot", fileName);
- const m = resolveModule(fileName, ".");
- if (m == null) {
- util.log("getScriptSnapshot", fileName, "NOT FOUND");
- return undefined;
- }
- //const m = resolveModule(fileName, ".");
- util.assert(m.sourceCode.length > 0);
- return ts.ScriptSnapshot.fromString(m.sourceCode);
- }
-
- fileExists(fileName: string): boolean {
- const m = resolveModule(fileName, ".");
- const exists = m != null;
- util.log("fileExist", fileName, exists);
- return exists;
- }
-
- readFile(path: string, encoding?: string): string | undefined {
- util.log("readFile", path);
- throw Error("not implemented");
- }
-
- getNewLine() {
- return EOL;
- }
-
- getCurrentDirectory() {
- util.log("getCurrentDirectory");
- return ".";
- }
-
- getCompilationSettings() {
- util.log("getCompilationSettings");
- return this.options;
- }
-
- getDefaultLibFileName(options: ts.CompilerOptions): string {
- const fn = ts.getDefaultLibFileName(options);
- util.log("getDefaultLibFileName", fn);
- const m = resolveModule(fn, "/$asset$/");
- return m.fileName;
- }
-
- resolveModuleNames(
- moduleNames: string[],
- containingFile: string,
- reusedNames?: string[]
- ): Array<ts.ResolvedModule | undefined> {
- //util.log("resolveModuleNames", { moduleNames, reusedNames });
- return moduleNames.map((name: string) => {
- let resolvedFileName;
- if (name === "deno") {
- resolvedFileName = resolveModuleName("deno.d.ts", "/$asset$/");
- } else if (name === "typescript") {
- resolvedFileName = resolveModuleName("typescript.d.ts", "/$asset$/");
- } else {
- resolvedFileName = resolveModuleName(name, containingFile);
- if (resolvedFileName == null) {
- return undefined;
- }
- }
- const isExternalLibraryImport = false;
- return { resolvedFileName, isExternalLibraryImport };
- });
- }
-}
-
-const formatDiagnosticsHost: ts.FormatDiagnosticsHost = {
- getCurrentDirectory(): string {
- return ".";
- },
- getCanonicalFileName(fileName: string): string {
- return fileName;
- },
- getNewLine(): string {
- return EOL;
- }
-};
diff --git a/testdata/001_hello.js b/testdata/001_hello.js
deleted file mode 100644
index accefceba..000000000
--- a/testdata/001_hello.js
+++ /dev/null
@@ -1 +0,0 @@
-console.log("Hello World");
diff --git a/testdata/001_hello.js.out b/testdata/001_hello.js.out
deleted file mode 100644
index 557db03de..000000000
--- a/testdata/001_hello.js.out
+++ /dev/null
@@ -1 +0,0 @@
-Hello World
diff --git a/testdata/002_hello.ts b/testdata/002_hello.ts
deleted file mode 100644
index accefceba..000000000
--- a/testdata/002_hello.ts
+++ /dev/null
@@ -1 +0,0 @@
-console.log("Hello World");
diff --git a/testdata/002_hello.ts.out b/testdata/002_hello.ts.out
deleted file mode 100644
index 557db03de..000000000
--- a/testdata/002_hello.ts.out
+++ /dev/null
@@ -1 +0,0 @@
-Hello World
diff --git a/testdata/003_relative_import.ts b/testdata/003_relative_import.ts
deleted file mode 100644
index 01d5d7faa..000000000
--- a/testdata/003_relative_import.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { printHello } from "./subdir/print_hello.ts";
-
-printHello();
diff --git a/testdata/003_relative_import.ts.out b/testdata/003_relative_import.ts.out
deleted file mode 100644
index e965047ad..000000000
--- a/testdata/003_relative_import.ts.out
+++ /dev/null
@@ -1 +0,0 @@
-Hello
diff --git a/testdata/004_set_timeout.ts b/testdata/004_set_timeout.ts
deleted file mode 100644
index 214b25086..000000000
--- a/testdata/004_set_timeout.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-setTimeout(() => {
- console.log("World");
-}, 10);
-
-console.log("Hello");
-
-const id = setTimeout(() => {
- console.log("Not printed");
-}, 10000);
-
-clearTimeout(id);
diff --git a/testdata/004_set_timeout.ts.out b/testdata/004_set_timeout.ts.out
deleted file mode 100644
index f9264f7fb..000000000
--- a/testdata/004_set_timeout.ts.out
+++ /dev/null
@@ -1,2 +0,0 @@
-Hello
-World
diff --git a/testdata/005_more_imports.ts b/testdata/005_more_imports.ts
deleted file mode 100644
index 52dd1df7b..000000000
--- a/testdata/005_more_imports.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { returnsHi, returnsFoo2, printHello3 } from "./subdir/mod1.ts";
-
-printHello3();
-
-if (returnsHi() !== "Hi") {
- throw Error("Unexpected");
-}
-
-if (returnsFoo2() !== "Foo") {
- throw Error("Unexpected");
-}
diff --git a/testdata/005_more_imports.ts.out b/testdata/005_more_imports.ts.out
deleted file mode 100644
index e965047ad..000000000
--- a/testdata/005_more_imports.ts.out
+++ /dev/null
@@ -1 +0,0 @@
-Hello
diff --git a/testdata/006_url_imports.ts b/testdata/006_url_imports.ts
deleted file mode 100644
index 57af683cf..000000000
--- a/testdata/006_url_imports.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { printHello } from "http://localhost:4545/testdata/subdir/print_hello.ts";
-printHello();
-console.log("success");
diff --git a/testdata/006_url_imports.ts.out b/testdata/006_url_imports.ts.out
deleted file mode 100644
index f745fe3cf..000000000
--- a/testdata/006_url_imports.ts.out
+++ /dev/null
@@ -1,3 +0,0 @@
-Downloading http://localhost:4545/testdata/subdir/print_hello.ts
-Hello
-success
diff --git a/testdata/008_stack_trace.ts b/testdata/008_stack_trace.ts
deleted file mode 100644
index 6aa0fcc3b..000000000
--- a/testdata/008_stack_trace.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { throwsError } from "./subdir/mod1.ts";
-
-function foo() {
- throwsError();
-}
-
-foo();
diff --git a/testdata/009_pub_sub.ts b/testdata/009_pub_sub.ts
deleted file mode 100644
index 3d33c820d..000000000
--- a/testdata/009_pub_sub.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import * as deno from "deno";
-
-deno.sub("echo", (ui8: Uint8Array) => {
- const str = String.fromCharCode.apply(null, ui8);
- console.log("Got message", str);
-});
-
-function str2ui8(str: string): Uint8Array {
- const ui8 = new Uint8Array(str.length);
- for (let i = 0; i < str.length; i++) {
- ui8[i] = str.charCodeAt(i);
- }
- return ui8;
-}
-
-console.log("Before deno.pub()");
-deno.pub("echo", str2ui8("hello"));
-console.log("After deno.pub()");
diff --git a/testdata/009_pub_sub.ts.out b/testdata/009_pub_sub.ts.out
deleted file mode 100644
index d5581cafb..000000000
--- a/testdata/009_pub_sub.ts.out
+++ /dev/null
@@ -1,3 +0,0 @@
-Before deno.pub()
-After deno.pub()
-Got message hello
diff --git a/testdata/010_set_interval.ts b/testdata/010_set_interval.ts
deleted file mode 100644
index e013d00bc..000000000
--- a/testdata/010_set_interval.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const id = setInterval(function() {
- console.log("test")
-}, 200);
-
-setTimeout(function() {
- clearInterval(id)
-}, 500)
diff --git a/testdata/010_set_interval.ts.out b/testdata/010_set_interval.ts.out
deleted file mode 100644
index dec2cbe1f..000000000
--- a/testdata/010_set_interval.ts.out
+++ /dev/null
@@ -1,2 +0,0 @@
-test
-test
diff --git a/testdata/012_async.ts b/testdata/012_async.ts
deleted file mode 100644
index 57ae355c2..000000000
--- a/testdata/012_async.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Check that we can use the async keyword.
-async function main() {
- await new Promise((resolve, reject) => {
- console.log("2");
- setTimeout(resolve, 100);
- });
- console.log("3");
-}
-
-console.log("1");
-main();
diff --git a/testdata/012_async.ts.out b/testdata/012_async.ts.out
deleted file mode 100644
index 01e79c32a..000000000
--- a/testdata/012_async.ts.out
+++ /dev/null
@@ -1,3 +0,0 @@
-1
-2
-3
diff --git a/testdata/async_error.ts b/testdata/async_error.ts
deleted file mode 100644
index 12dee11eb..000000000
--- a/testdata/async_error.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-
-console.log("hello");
-const foo = async () => {
- console.log("before error");
- throw Error("error");
-}
-
-foo();
-console.log("world");
diff --git a/testdata/async_error.ts.out b/testdata/async_error.ts.out
deleted file mode 100644
index 7b7dc9d19..000000000
--- a/testdata/async_error.ts.out
+++ /dev/null
@@ -1,10 +0,0 @@
-hello
-before error
-error Error: error
- at foo ([WILDCARD]testdata/async_error.ts:4:11)
- at eval ([WILDCARD]testdata/async_error.ts:6:1)
- at Object.eval [as globalEval] (<anonymous>)
- at execute (/main.js:[WILDCARD])
- at FileModule.compileAndRun (/main.js:[WILDCARD])
- at /main.js:[WILDCARD]
- at /main.js:[WILDCARD]
diff --git a/testdata/error.ts b/testdata/error.ts
deleted file mode 100644
index 624bc55da..000000000
--- a/testdata/error.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-function foo() {
- throw Error("bad");
-}
-
-function bar() {
- foo()
-}
-
-bar()
diff --git a/testdata/error.ts.out b/testdata/error.ts.out
deleted file mode 100644
index 952758df9..000000000
--- a/testdata/error.ts.out
+++ /dev/null
@@ -1,10 +0,0 @@
-/main.js:[WILDCARD]
- throw _iteratorError;
- ^
-Error: bad
- at foo ([WILDCARD]testdata/error.ts:2:9)
- at bar ([WILDCARD]testdata/error.ts:6:3)
- at eval ([WILDCARD]testdata/error.ts:9:1)
- at Object.eval [as globalEval] (<anonymous>)
- at execute (../runtime.ts:[WILDCARD])
- at FileModule.compileAndRun (../runtime.ts:[WILDCARD]
diff --git a/testdata/import_typescript.ts b/testdata/import_typescript.ts
deleted file mode 100644
index 0f161ceb0..000000000
--- a/testdata/import_typescript.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import * as ts from "typescript";
-
-console.log("typescript version", ts.version);
diff --git a/testdata/import_typescript.ts.out b/testdata/import_typescript.ts.out
deleted file mode 100644
index 0a142219b..000000000
--- a/testdata/import_typescript.ts.out
+++ /dev/null
@@ -1 +0,0 @@
-typescript version 2.8.3
diff --git a/testdata/subdir/mod1.ts b/testdata/subdir/mod1.ts
deleted file mode 100644
index 393535588..000000000
--- a/testdata/subdir/mod1.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { returnsFoo, printHello2 } from "./subdir2/mod2.ts";
-
-export function returnsHi(): string {
- return "Hi";
-}
-
-export function returnsFoo2(): string {
- return returnsFoo();
-}
-
-export function printHello3(): void {
- printHello2();
-}
-
-export function throwsError(): void {
- throw Error("exception from mod1");
-}
diff --git a/testdata/subdir/print_hello.ts b/testdata/subdir/print_hello.ts
deleted file mode 100644
index 7ecce5040..000000000
--- a/testdata/subdir/print_hello.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export function printHello(): void {
- console.log("Hello");
-}
diff --git a/testdata/subdir/subdir2/mod2.ts b/testdata/subdir/subdir2/mod2.ts
deleted file mode 100644
index c88d4708c..000000000
--- a/testdata/subdir/subdir2/mod2.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { printHello } from "../print_hello.ts";
-
-export function returnsFoo(): string {
- return "Foo";
-}
-
-export function printHello2(): void {
- printHello();
-}
diff --git a/testing/testing.ts b/testing/testing.ts
deleted file mode 100644
index 4d7cd9c6c..000000000
--- a/testing/testing.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-/*!
- Copyright 2018 Propel http://propel.site/. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-export { assert, assertEqual, equal } from "./util.ts";
-
-export type TestFunction = () => void | Promise<void>;
-
-export interface TestDefinition {
- fn: TestFunction;
- name: string;
-}
-
-export const exitOnFail = true;
-
-/* A subset of the tests can be ran by providing a filter expression.
- * In Node.js the filter is specified on the command line:
- *
- * ts-node test_node log # all tests with 'log' in the name
- * ts-node test_node ^util # tests starting with 'util'
- *
- * In the browser, the filter is specified as part of the url:
- *
- * http://localhost:9876/test.html#script=some/script.js&filter=log
- * http://localhost:9876/test.html#script=some/script.js&filter=^util
- */
-let filterExpr: string = null;
-
-const filterRegExp = filterExpr ? new RegExp(filterExpr, "i") : null;
-const tests: TestDefinition[] = [];
-
-export function test(t: TestDefinition | TestFunction): void {
- const fn: TestFunction = typeof t === "function" ? t : t.fn;
- const name: string = t.name;
-
- if (!name) {
- throw new Error("Test function may not be anonymous");
- }
- if (filter(name)) {
- tests.push({ fn, name });
- }
-}
-
-function filter(name: string): boolean {
- if (filterRegExp) {
- return filterRegExp.test(name);
- } else {
- return true;
- }
-}
-
-async function runTests() {
- let passed = 0;
- let failed = 0;
-
- for (let i = 0; i < tests.length; i++) {
- const { fn, name } = tests[i];
- console.log(`${i+1}/${tests.length} +${passed} -${failed}: ${name}`);
- try {
- await fn();
- passed++;
- } catch (e) {
- console.error("\nTest FAIL", name);
- console.error((e && e.stack) || e);
- failed++;
- if (exitOnFail) {
- break;
- }
- }
- }
-
- console.log(`\nDONE. Test passed: ${passed}, failed: ${failed}`);
-
- if (failed === 0) {
- // All good.
- } else {
- // Use setTimeout to avoid the error being ignored due to unhandled
- // promise rejections being swallowed.
- setTimeout(() => {
- throw new Error(`There were ${failed} test failures.`);
- }, 0);
- }
-}
-
-setTimeout(runTests, 0);
diff --git a/testing/util.ts b/testing/util.ts
deleted file mode 100644
index 509713005..000000000
--- a/testing/util.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-/*!
- Copyright 2018 Propel http://propel.site/. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
-// tslint:disable-next-line:no-any
-export function assertEqual(actual: any, expected: any, msg?: string) {
- if (!msg) { msg = `actual: ${actual} expected: ${expected}`; }
- if (!equal(actual, expected)) {
- console.error(
- "assertEqual failed. actual = ", actual, "expected =", expected);
- throw new Error(msg);
- }
-}
-
-export function assert(expr: boolean, msg = "") {
- if (!expr) {
- throw new Error(msg);
- }
-}
-
-// tslint:disable-next-line:no-any
-export function equal(c: any, d: any): boolean {
- const seen = new Map();
- return (function compare(a, b) {
- if (a === b) {
- return true;
- }
- if (typeof a === "number" && typeof b === "number" &&
- isNaN(a) && isNaN(b)) {
- return true;
- }
- if (a && typeof a === "object" && b && typeof b === "object") {
- if (seen.get(a) === b) {
- return true;
- }
- if (Object.keys(a).length !== Object.keys(b).length) {
- return false;
- }
- for (const key in { ...a, ...b }) {
- if (!compare(a[key], b[key])) {
- return false;
- }
- }
- seen.set(a, b);
- return true;
- }
- return false;
- })(c, d);
-}
diff --git a/testing/util_test.ts b/testing/util_test.ts
deleted file mode 100644
index 679ab5675..000000000
--- a/testing/util_test.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/*!
- Copyright 2018 Propel http://propel.site/. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
-import { test } from "./testing.ts";
-import { assert } from "./util.ts";
-import * as util from "./util.ts";
-
-test(async function util_equal() {
- assert(util.equal("world", "world"));
- assert(!util.equal("hello", "world"));
- assert(util.equal(5, 5));
- assert(!util.equal(5, 6));
- assert(util.equal(NaN, NaN));
- assert(util.equal({ hello: "world" }, { hello: "world" }));
- assert(!util.equal({ world: "hello" }, { hello: "world" }));
- assert(util.equal({ hello: "world", hi: { there: "everyone" } },
- { hello: "world", hi: { there: "everyone" } }));
- assert(!util.equal({ hello: "world", hi: { there: "everyone" } },
- { hello: "world", hi: { there: "everyone else" } }));
-});
diff --git a/tests.ts b/tests.ts
deleted file mode 100644
index 22bf77a6c..000000000
--- a/tests.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-// This test is executed as part of integration_test.go
-// But it can also be run manually:
-// ./deno tests.ts
-// There must also be a static file http server running on localhost:4545
-// serving the deno project directory. Try this:
-// http-server -p 4545 --cors .
-import { test, assert, assertEqual } from "./testing/testing.ts";
-import { readFileSync, writeFileSync } from "deno";
-
-test(async function tests_test() {
- assert(true);
-});
-
-test(async function tests_fetch() {
- const response = await fetch("http://localhost:4545/package.json");
- const json = await response.json();
- assertEqual(json.name, "deno");
-});
-
-test(function tests_console_assert() {
- console.assert(true);
-
- let hasThrown = false;
- try {
- console.assert(false);
- } catch {
- hasThrown = true;
- }
- assertEqual(hasThrown, true);
-});
-
-test(async function tests_readFileSync() {
- const data = readFileSync("package.json");
- if (!data.byteLength) {
- throw Error(
- `Expected positive value for data.byteLength ${data.byteLength}`
- );
- }
- const decoder = new TextDecoder("utf-8");
- const json = decoder.decode(data);
- const pkg = JSON.parse(json);
- assertEqual(pkg.name, "deno");
-});
-
-test(async function tests_writeFileSync() {
- const enc = new TextEncoder();
- const data = enc.encode("Hello");
- // TODO need ability to get tmp dir.
- const fn = "/tmp/test.txt";
- writeFileSync("/tmp/test.txt", data, 0o666);
- const dataRead = readFileSync("/tmp/test.txt");
- const dec = new TextDecoder("utf-8");
- const actual = dec.decode(dataRead);
- assertEqual("Hello", actual);
-});
-
-test(function tests_console_assert() {
- console.assert(true);
-
- let hasThrown = false;
- try {
- console.assert(false);
- } catch {
- hasThrown = true;
- }
- assertEqual(hasThrown, true);
-});
-
-test(function tests_console_stringify_circular() {
- class Base {
- a = 1;
- m1() {}
- }
-
- class Extended extends Base {
- b = 2;
- m2() {}
- }
-
- // tslint:disable-next-line:no-any
- const nestedObj: any = {
- num: 1,
- bool: true,
- str: "a",
- method() {},
- un: undefined,
- nu: null,
- arrowFunc: () => {},
- extendedClass: new Extended(),
- nFunc: new Function(),
- extendedCstr: Extended
- };
-
- const circularObj = {
- num: 2,
- bool: false,
- str: "b",
- method() {},
- un: undefined,
- nu: null,
- nested: nestedObj,
- emptyObj: {},
- arr: [1, "s", false, null, nestedObj],
- baseClass: new Base()
- };
-
- nestedObj.o = circularObj;
-
- try {
- console.log(1);
- console.log("s");
- console.log(false);
- console.log(Symbol(1));
- console.log(null);
- console.log(undefined);
- console.log(new Extended());
- console.log(function f() {});
- console.log(nestedObj);
- console.log(JSON);
- console.log(console);
- } catch {
- throw new Error("Expected no crash on circular object");
- }
-});
diff --git a/text-encoding.d.ts b/text-encoding.d.ts
deleted file mode 100644
index 6feadad9c..000000000
--- a/text-encoding.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Remove and depend on @types/text-encoding once this PR is merged
-// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/26141
-declare module "text-encoding" {
- export const TextEncoder: TextEncoder;
- export const TextDecoder: TextDecoder;
-}
diff --git a/timers.go b/timers.go
deleted file mode 100644
index 76b66cc63..000000000
--- a/timers.go
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "github.com/golang/protobuf/proto"
- "time"
-)
-
-type Timer struct {
- Id int32
- Done bool
- Cleared bool
- Interval bool
- Delay int32 // In milliseconds
-}
-
-var timers = make(map[int32]*Timer)
-
-func InitTimers() {
- Sub("timers", func(buf []byte) []byte {
- msg := &Msg{}
- check(proto.Unmarshal(buf, msg))
- switch msg.Command {
- case Msg_TIMER_START:
- id := msg.TimerStartId
- t := &Timer{
- Id: id,
- Done: false,
- Interval: msg.TimerStartInterval,
- Delay: msg.TimerStartDelay,
- Cleared: false,
- }
- if t.Delay < 10 {
- t.Delay = 10
- }
- t.StartTimer()
- timers[id] = t
- return nil
- case Msg_TIMER_CLEAR:
- // TODO maybe need mutex here.
- timer := timers[msg.TimerClearId]
- timer.Clear()
- default:
- panic("[timers] Unexpected message " + string(buf))
- }
- return nil
- })
-}
-
-func (t *Timer) Clear() {
- if !t.Cleared {
- wg.Done()
- t.Cleared = true
- delete(timers, t.Id)
- }
- t.Done = true
-}
-
-func (t *Timer) StartTimer() {
- wg.Add(1)
- go func() {
- defer t.Clear()
- for {
- time.Sleep(time.Duration(t.Delay) * time.Millisecond)
- if !t.Interval {
- t.Done = true
- }
- PubMsg("timers", &Msg{
- Command: Msg_TIMER_READY,
- TimerReadyId: t.Id,
- TimerReadyDone: t.Done,
- })
- if t.Done {
- return
- }
- }
- }()
-}
diff --git a/timers.ts b/timers.ts
deleted file mode 100644
index da2cccd89..000000000
--- a/timers.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-import { deno as pb } from "./msg.pb";
-import { pubInternal, sub } from "./dispatch";
-import { assert } from "./util";
-
-let nextTimerId = 1;
-
-// tslint:disable-next-line:no-any
-export type TimerCallback = (...args: any[]) => void;
-
-interface Timer {
- id: number;
- cb: TimerCallback;
- interval: boolean;
- // tslint:disable-next-line:no-any
- args: any[];
- delay: number; // milliseconds
-}
-
-const timers = new Map<number, Timer>();
-
-export function initTimers() {
- sub("timers", onMessage);
-}
-
-function onMessage(payload: Uint8Array) {
- const msg = pb.Msg.decode(payload);
- assert(msg.command === pb.Msg.Command.TIMER_READY);
- const { timerReadyId, timerReadyDone } = msg;
- const timer = timers.get(timerReadyId);
- if (!timer) {
- return;
- }
- timer.cb(...timer.args);
- if (timerReadyDone) {
- timers.delete(timerReadyId);
- }
-}
-
-function setTimer(
- cb: TimerCallback,
- delay: number,
- interval: boolean,
- // tslint:disable-next-line:no-any
- args: any[]
-): number {
- const timer = {
- id: nextTimerId++,
- interval,
- delay,
- args,
- cb
- };
- timers.set(timer.id, timer);
- pubInternal("timers", {
- command: pb.Msg.Command.TIMER_START,
- timerStartId: timer.id,
- timerStartInterval: timer.interval,
- timerStartDelay: timer.delay
- });
- return timer.id;
-}
-
-export function setTimeout(
- cb: TimerCallback,
- delay: number,
- // tslint:disable-next-line:no-any
- ...args: any[]
-): number {
- return setTimer(cb, delay, false, args);
-}
-
-export function setInterval(
- cb: TimerCallback,
- delay: number,
- // tslint:disable-next-line:no-any
- ...args: any[]
-): number {
- return setTimer(cb, delay, true, args);
-}
-
-export function clearTimer(id: number) {
- timers.delete(id);
- pubInternal("timers", {
- command: pb.Msg.Command.TIMER_CLEAR,
- timerClearId: id
- });
-}
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 410ff757a..000000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "compilerOptions": {
- "allowJs": true,
- "module": "commonjs",
- "noImplicitAny": true,
- "baseUrl": ".",
- "removeComments": true,
- "preserveConstEnums": true,
- "declaration": true,
- "target": "es2017",
- "lib": ["es2017", "dom"],
- "noEmit": true,
- "noUnusedLocals": true,
- "noImplicitReturns": true,
- "noImplicitThis": true,
- "alwaysStrict": true,
- "noUnusedParameters": false,
- "pretty": true,
- "noFallthroughCasesInSwitch": true,
- "allowUnreachableCode": false,
- "experimentalDecorators": true
- },
- "include": ["*.ts", "*.js"],
- "exclude": ["tests.ts"]
-}
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index a169c3861..000000000
--- a/tslint.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "rules": {
- "array-type": [true, "array-simple"],
- "arrow-return-shorthand": true,
- "ban": [
- true,
- ["fit"],
- ["fdescribe"],
- ["xit"],
- ["xdescribe"],
- ["fitAsync"],
- ["xitAsync"],
- ["fitFakeAsync"],
- ["xitFakeAsync"]
- ],
- "ban-types": [
- true,
- ["Object", "Use {} instead."],
- ["String", "Use 'string' instead."],
- ["Number", "Use 'number' instead."],
- ["Boolean", "Use 'boolean' instead."]
- ],
- "class-name": true,
- "curly": true,
- "interface-name": [true, "never-prefix"],
- "jsdoc-format": true,
- "forin": false,
- "label-position": true,
- "max-line-length": [true, 80],
- "new-parens": true,
- "no-angle-bracket-type-assertion": true,
- "no-any": true,
- "no-construct": true,
- "no-consecutive-blank-lines": true,
- "no-debugger": true,
- "no-default-export": true,
- "no-inferrable-types": true,
- //"no-namespace": [true, "allow-declarations"],
- "no-reference": true,
- "no-require-imports": true,
- "no-string-throw": true,
- "no-unused-expression": true,
- "no-unused-variable": true,
- "no-var-keyword": true,
- "object-literal-shorthand": true,
- "only-arrow-functions": [
- true,
- "allow-declarations",
- "allow-named-functions"
- ],
- "prefer-const": true,
- "quotemark": [true, "double"],
- "radix": true,
- "restrict-plus-operands": true,
- "semicolon": [true, "always", "ignore-bound-class-methods"],
- "switch-default": true,
- "triple-equals": [true, "allow-null-check"],
- "use-isnan": true,
- "variable-name": [
- true,
- "check-format",
- "ban-keywords",
- "allow-leading-underscore",
- "allow-trailing-underscore"
- ]
- }
-}
diff --git a/types.ts b/types.ts
deleted file mode 100644
index d32d9f5a6..000000000
--- a/types.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-export type TypedArray = Uint8Array | Float32Array | Int32Array;
-
-export interface ModuleInfo {
- moduleName?: string;
- filename?: string;
- sourceCode?: string;
- outputCode?: string;
-}
diff --git a/url.js b/url.js
deleted file mode 100644
index 76e32cc86..000000000
--- a/url.js
+++ /dev/null
@@ -1,671 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- * Forked from https://github.com/github/url-polyfill
- * Version 16c1aa Feb 9 2018.
- */
-
-(function(scope) {
- "use strict";
-
- // feature detect for URL constructor
- var hasWorkingUrl = false;
- if (!scope.forceJURL) {
- try {
- var u = new URL("b", "http://a");
- u.pathname = "c%20d";
- hasWorkingUrl = u.href === "http://a/c%20d";
- } catch (e) {}
- }
-
- if (hasWorkingUrl) return;
-
- var relative = Object.create(null);
- relative["ftp"] = 21;
- relative["file"] = 0;
- relative["gopher"] = 70;
- relative["http"] = 80;
- relative["https"] = 443;
- relative["ws"] = 80;
- relative["wss"] = 443;
-
- var relativePathDotMapping = Object.create(null);
- relativePathDotMapping["%2e"] = ".";
- relativePathDotMapping[".%2e"] = "..";
- relativePathDotMapping["%2e."] = "..";
- relativePathDotMapping["%2e%2e"] = "..";
-
- function isRelativeScheme(scheme) {
- return relative[scheme] !== undefined;
- }
-
- function invalid() {
- clear.call(this);
- this._isInvalid = true;
- }
-
- function IDNAToASCII(h) {
- if ("" == h) {
- invalid.call(this);
- }
- // XXX
- return h.toLowerCase();
- }
-
- function percentEscape(c) {
- var unicode = c.charCodeAt(0);
- if (
- unicode > 0x20 &&
- unicode < 0x7f &&
- // " # < > ? `
- [0x22, 0x23, 0x3c, 0x3e, 0x3f, 0x60].indexOf(unicode) == -1
- ) {
- return c;
- }
- return encodeURIComponent(c);
- }
-
- function percentEscapeQuery(c) {
- // XXX This actually needs to encode c using encoding and then
- // convert the bytes one-by-one.
-
- var unicode = c.charCodeAt(0);
- if (
- unicode > 0x20 &&
- unicode < 0x7f &&
- // " # < > ` (do not escape '?')
- [0x22, 0x23, 0x3c, 0x3e, 0x60].indexOf(unicode) == -1
- ) {
- return c;
- }
- return encodeURIComponent(c);
- }
-
- var EOF = undefined,
- ALPHA = /[a-zA-Z]/,
- ALPHANUMERIC = /[a-zA-Z0-9\+\-\.]/;
-
- function parse(input, stateOverride, base) {
- function err(message) {
- errors.push(message);
- }
-
- var state = stateOverride || "scheme start",
- cursor = 0,
- buffer = "",
- seenAt = false,
- seenBracket = false,
- errors = [];
-
- loop: while (
- (input[cursor - 1] != EOF || cursor == 0) &&
- !this._isInvalid
- ) {
- var c = input[cursor];
- switch (state) {
- case "scheme start":
- if (c && ALPHA.test(c)) {
- buffer += c.toLowerCase(); // ASCII-safe
- state = "scheme";
- } else if (!stateOverride) {
- buffer = "";
- state = "no scheme";
- continue;
- } else {
- err("Invalid scheme.");
- break loop;
- }
- break;
-
- case "scheme":
- if (c && ALPHANUMERIC.test(c)) {
- buffer += c.toLowerCase(); // ASCII-safe
- } else if (":" == c) {
- this._scheme = buffer;
- buffer = "";
- if (stateOverride) {
- break loop;
- }
- if (isRelativeScheme(this._scheme)) {
- this._isRelative = true;
- }
- if ("file" == this._scheme) {
- state = "relative";
- } else if (
- this._isRelative &&
- base &&
- base._scheme == this._scheme
- ) {
- state = "relative or authority";
- } else if (this._isRelative) {
- state = "authority first slash";
- } else {
- state = "scheme data";
- }
- } else if (!stateOverride) {
- buffer = "";
- cursor = 0;
- state = "no scheme";
- continue;
- } else if (EOF == c) {
- break loop;
- } else {
- err("Code point not allowed in scheme: " + c);
- break loop;
- }
- break;
-
- case "scheme data":
- if ("?" == c) {
- query = "?";
- state = "query";
- } else if ("#" == c) {
- this._fragment = "#";
- state = "fragment";
- } else {
- // XXX error handling
- if (EOF != c && "\t" != c && "\n" != c && "\r" != c) {
- this._schemeData += percentEscape(c);
- }
- }
- break;
-
- case "no scheme":
- if (!base || !isRelativeScheme(base._scheme)) {
- err("Missing scheme.");
- invalid.call(this);
- } else {
- state = "relative";
- continue;
- }
- break;
-
- case "relative or authority":
- if ("/" == c && "/" == input[cursor + 1]) {
- state = "authority ignore slashes";
- } else {
- err("Expected /, got: " + c);
- state = "relative";
- continue;
- }
- break;
-
- case "relative":
- this._isRelative = true;
- if ("file" != this._scheme) this._scheme = base._scheme;
- if (EOF == c) {
- this._host = base._host;
- this._port = base._port;
- this._path = base._path.slice();
- this._query = base._query;
- this._username = base._username;
- this._password = base._password;
- break loop;
- } else if ("/" == c || "\\" == c) {
- if ("\\" == c) err("\\ is an invalid code point.");
- state = "relative slash";
- } else if ("?" == c) {
- this._host = base._host;
- this._port = base._port;
- this._path = base._path.slice();
- this._query = "?";
- this._username = base._username;
- this._password = base._password;
- state = "query";
- } else if ("#" == c) {
- this._host = base._host;
- this._port = base._port;
- this._path = base._path.slice();
- this._query = base._query;
- this._fragment = "#";
- this._username = base._username;
- this._password = base._password;
- state = "fragment";
- } else {
- var nextC = input[cursor + 1];
- var nextNextC = input[cursor + 2];
- if (
- "file" != this._scheme ||
- !ALPHA.test(c) ||
- (nextC != ":" && nextC != "|") ||
- (EOF != nextNextC &&
- "/" != nextNextC &&
- "\\" != nextNextC &&
- "?" != nextNextC &&
- "#" != nextNextC)
- ) {
- this._host = base._host;
- this._port = base._port;
- this._username = base._username;
- this._password = base._password;
- this._path = base._path.slice();
- this._path.pop();
- }
- state = "relative path";
- continue;
- }
- break;
-
- case "relative slash":
- if ("/" == c || "\\" == c) {
- if ("\\" == c) {
- err("\\ is an invalid code point.");
- }
- if ("file" == this._scheme) {
- state = "file host";
- } else {
- state = "authority ignore slashes";
- }
- } else {
- if ("file" != this._scheme) {
- this._host = base._host;
- this._port = base._port;
- this._username = base._username;
- this._password = base._password;
- }
- state = "relative path";
- continue;
- }
- break;
-
- case "authority first slash":
- if ("/" == c) {
- state = "authority second slash";
- } else {
- err("Expected '/', got: " + c);
- state = "authority ignore slashes";
- continue;
- }
- break;
-
- case "authority second slash":
- state = "authority ignore slashes";
- if ("/" != c) {
- err("Expected '/', got: " + c);
- continue;
- }
- break;
-
- case "authority ignore slashes":
- if ("/" != c && "\\" != c) {
- state = "authority";
- continue;
- } else {
- err("Expected authority, got: " + c);
- }
- break;
-
- case "authority":
- if ("@" == c) {
- if (seenAt) {
- err("@ already seen.");
- buffer += "%40";
- }
- seenAt = true;
- for (var i = 0; i < buffer.length; i++) {
- var cp = buffer[i];
- if ("\t" == cp || "\n" == cp || "\r" == cp) {
- err("Invalid whitespace in authority.");
- continue;
- }
- // XXX check URL code points
- if (":" == cp && null === this._password) {
- this._password = "";
- continue;
- }
- var tempC = percentEscape(cp);
- null !== this._password
- ? (this._password += tempC)
- : (this._username += tempC);
- }
- buffer = "";
- } else if (
- EOF == c ||
- "/" == c ||
- "\\" == c ||
- "?" == c ||
- "#" == c
- ) {
- cursor -= buffer.length;
- buffer = "";
- state = "host";
- continue;
- } else {
- buffer += c;
- }
- break;
-
- case "file host":
- if (EOF == c || "/" == c || "\\" == c || "?" == c || "#" == c) {
- if (
- buffer.length == 2 &&
- ALPHA.test(buffer[0]) &&
- (buffer[1] == ":" || buffer[1] == "|")
- ) {
- state = "relative path";
- } else if (buffer.length == 0) {
- state = "relative path start";
- } else {
- this._host = IDNAToASCII.call(this, buffer);
- buffer = "";
- state = "relative path start";
- }
- continue;
- } else if ("\t" == c || "\n" == c || "\r" == c) {
- err("Invalid whitespace in file host.");
- } else {
- buffer += c;
- }
- break;
-
- case "host":
- case "hostname":
- if (":" == c && !seenBracket) {
- // XXX host parsing
- this._host = IDNAToASCII.call(this, buffer);
- buffer = "";
- state = "port";
- if ("hostname" == stateOverride) {
- break loop;
- }
- } else if (
- EOF == c ||
- "/" == c ||
- "\\" == c ||
- "?" == c ||
- "#" == c
- ) {
- this._host = IDNAToASCII.call(this, buffer);
- buffer = "";
- state = "relative path start";
- if (stateOverride) {
- break loop;
- }
- continue;
- } else if ("\t" != c && "\n" != c && "\r" != c) {
- if ("[" == c) {
- seenBracket = true;
- } else if ("]" == c) {
- seenBracket = false;
- }
- buffer += c;
- } else {
- err("Invalid code point in host/hostname: " + c);
- }
- break;
-
- case "port":
- if (/[0-9]/.test(c)) {
- buffer += c;
- } else if (
- EOF == c ||
- "/" == c ||
- "\\" == c ||
- "?" == c ||
- "#" == c ||
- stateOverride
- ) {
- if ("" != buffer) {
- var temp = parseInt(buffer, 10);
- if (temp != relative[this._scheme]) {
- this._port = temp + "";
- }
- buffer = "";
- }
- if (stateOverride) {
- break loop;
- }
- state = "relative path start";
- continue;
- } else if ("\t" == c || "\n" == c || "\r" == c) {
- err("Invalid code point in port: " + c);
- } else {
- invalid.call(this);
- }
- break;
-
- case "relative path start":
- if ("\\" == c) err("'\\' not allowed in path.");
- state = "relative path";
- if ("/" != c && "\\" != c) {
- continue;
- }
- break;
-
- case "relative path":
- if (
- EOF == c ||
- "/" == c ||
- "\\" == c ||
- (!stateOverride && ("?" == c || "#" == c))
- ) {
- if ("\\" == c) {
- err("\\ not allowed in relative path.");
- }
- var tmp;
- if ((tmp = relativePathDotMapping[buffer.toLowerCase()])) {
- buffer = tmp;
- }
- if (".." == buffer) {
- this._path.pop();
- if ("/" != c && "\\" != c) {
- this._path.push("");
- }
- } else if ("." == buffer && "/" != c && "\\" != c) {
- this._path.push("");
- } else if ("." != buffer) {
- if (
- "file" == this._scheme &&
- this._path.length == 0 &&
- buffer.length == 2 &&
- ALPHA.test(buffer[0]) &&
- buffer[1] == "|"
- ) {
- buffer = buffer[0] + ":";
- }
- this._path.push(buffer);
- }
- buffer = "";
- if ("?" == c) {
- this._query = "?";
- state = "query";
- } else if ("#" == c) {
- this._fragment = "#";
- state = "fragment";
- }
- } else if ("\t" != c && "\n" != c && "\r" != c) {
- buffer += percentEscape(c);
- }
- break;
-
- case "query":
- if (!stateOverride && "#" == c) {
- this._fragment = "#";
- state = "fragment";
- } else if (EOF != c && "\t" != c && "\n" != c && "\r" != c) {
- this._query += percentEscapeQuery(c);
- }
- break;
-
- case "fragment":
- if (EOF != c && "\t" != c && "\n" != c && "\r" != c) {
- this._fragment += c;
- }
- break;
- }
-
- cursor++;
- }
- }
-
- function clear() {
- this._scheme = "";
- this._schemeData = "";
- this._username = "";
- this._password = null;
- this._host = "";
- this._port = "";
- this._path = [];
- this._query = "";
- this._fragment = "";
- this._isInvalid = false;
- this._isRelative = false;
- }
-
- // Does not process domain names or IP addresses.
- // Does not handle encoding for the query parameter.
- function jURL(url, base /* , encoding */) {
- if (base !== undefined && !(base instanceof jURL))
- base = new jURL(String(base));
-
- url = String(url);
-
- this._url = url;
- clear.call(this);
-
- var input = url.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g, "");
- // encoding = encoding || 'utf-8'
-
- parse.call(this, input, null, base);
- }
-
- jURL.prototype = {
- toString: function() {
- return this.href;
- },
- get href() {
- if (this._isInvalid) return this._url;
-
- var authority = "";
- if ("" != this._username || null != this._password) {
- authority =
- this._username +
- (null != this._password ? ":" + this._password : "") +
- "@";
- }
-
- return (
- this.protocol +
- (this._isRelative ? "//" + authority + this.host : "") +
- this.pathname +
- this._query +
- this._fragment
- );
- },
- set href(href) {
- clear.call(this);
- parse.call(this, href);
- },
-
- get protocol() {
- return this._scheme + ":";
- },
- set protocol(protocol) {
- if (this._isInvalid) return;
- parse.call(this, protocol + ":", "scheme start");
- },
-
- get host() {
- return this._isInvalid
- ? ""
- : this._port
- ? this._host + ":" + this._port
- : this._host;
- },
- set host(host) {
- if (this._isInvalid || !this._isRelative) return;
- parse.call(this, host, "host");
- },
-
- get hostname() {
- return this._host;
- },
- set hostname(hostname) {
- if (this._isInvalid || !this._isRelative) return;
- parse.call(this, hostname, "hostname");
- },
-
- get port() {
- return this._port;
- },
- set port(port) {
- if (this._isInvalid || !this._isRelative) return;
- parse.call(this, port, "port");
- },
-
- get pathname() {
- return this._isInvalid
- ? ""
- : this._isRelative
- ? "/" + this._path.join("/")
- : this._schemeData;
- },
- set pathname(pathname) {
- if (this._isInvalid || !this._isRelative) return;
- this._path = [];
- parse.call(this, pathname, "relative path start");
- },
-
- get search() {
- return this._isInvalid || !this._query || "?" == this._query
- ? ""
- : this._query;
- },
- set search(search) {
- if (this._isInvalid || !this._isRelative) return;
- this._query = "?";
- if ("?" == search[0]) search = search.slice(1);
- parse.call(this, search, "query");
- },
-
- get hash() {
- return this._isInvalid || !this._fragment || "#" == this._fragment
- ? ""
- : this._fragment;
- },
- set hash(hash) {
- if (this._isInvalid) return;
- this._fragment = "#";
- if ("#" == hash[0]) hash = hash.slice(1);
- parse.call(this, hash, "fragment");
- },
-
- get origin() {
- var host;
- if (this._isInvalid || !this._scheme) {
- return "";
- }
- // javascript: Gecko returns String(""), WebKit/Blink String("null")
- // Gecko throws error for "data://"
- // data: Gecko returns "", Blink returns "data://", WebKit returns "null"
- // Gecko returns String("") for file: mailto:
- // WebKit/Blink returns String("SCHEME://") for file: mailto:
- switch (this._scheme) {
- case "data":
- case "file":
- case "javascript":
- case "mailto":
- return "null";
- }
- host = this.host;
- if (!host) {
- return "";
- }
- return this._scheme + "://" + host;
- }
- };
-
- // Copy over the static methods
- var OriginalURL = scope.URL;
- if (OriginalURL) {
- jURL.createObjectURL = function(blob) {
- // IE extension allows a second optional options argument.
- // http://msdn.microsoft.com/en-us/library/ie/hh772302(v=vs.85).aspx
- return OriginalURL.createObjectURL.apply(OriginalURL, arguments);
- };
- jURL.revokeObjectURL = function(url) {
- OriginalURL.revokeObjectURL(url);
- };
- }
-
- scope.URL = jURL;
-})(window);
diff --git a/util.go b/util.go
deleted file mode 100644
index d5b83c393..000000000
--- a/util.go
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-package deno
-
-import (
- "fmt"
- "net/url"
- "os"
- "strings"
-)
-
-func logDebug(format string, v ...interface{}) {
- // Unless the debug flag is specified, discard logs.
- if *flagDebug {
- fmt.Printf(format+"\n", v...)
- }
-}
-
-// exists returns whether the given file or directory exists or not
-func exists(path string) bool {
- _, err := os.Stat(path)
- if err == nil {
- return true
- }
- if os.IsNotExist(err) {
- return false
- }
- panic(err)
-}
-
-func assert(cond bool, msg string) {
- if !cond {
- panic(msg)
- }
-}
-
-func isRemote(filename string) bool {
- u, err := url.Parse(filename)
- check(err)
- return u.IsAbs()
-}
-
-func check(e error) {
- if e != nil {
- panic(e)
- }
-}
-
-func exitOnError(err error) {
- if err != nil {
- os.Stderr.WriteString(err.Error())
- os.Exit(1)
- }
-}
-
-func async(cb func()) {
- wg.Add(1)
- go func() {
- cb()
- wg.Done()
- }()
-}
-
-const wildcard = "[WILDCARD]"
-
-// Matches the pattern string against the text string. The pattern can
-// contain "[WILDCARD]" substrings which will match one or more characters.
-// Returns true if matched.
-func patternMatch(pattern string, text string) bool {
- // Empty pattern only match empty text.
- if len(pattern) == 0 {
- return len(text) == 0
- }
-
- if pattern == wildcard {
- return true
- }
-
- parts := strings.Split(pattern, wildcard)
-
- if len(parts) == 1 {
- return pattern == text
- }
-
- if strings.HasPrefix(text, parts[0]) {
- text = text[len(parts[0]):]
- } else {
- return false
- }
-
- for i := 1; i < len(parts); i++ {
- // If the last part is empty, we match.
- if i == len(parts)-1 {
- if parts[i] == "" || parts[i] == "\n" {
- return true
- }
- }
- index := strings.Index(text, parts[i])
- if index < 0 {
- return false
- }
- text = text[index+len(parts[i]):]
- }
-
- return len(text) == 0
-}
diff --git a/util.ts b/util.ts
deleted file mode 100644
index 70cb79a55..000000000
--- a/util.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-import { debug } from "./main";
-import { TypedArray } from "./types";
-
-// Internal logging for deno. Use the "debug" variable above to control
-// output.
-// tslint:disable-next-line:no-any
-export function log(...args: any[]): void {
- if (debug) {
- console.log(...args);
- }
-}
-
-export function assert(cond: boolean, msg = "") {
- if (!cond) {
- throw Error(`Assert fail. ${msg}`);
- }
-}
-
-export function typedArrayToArrayBuffer(ta: TypedArray): ArrayBuffer {
- const ab = ta.buffer.slice(ta.byteOffset, ta.byteOffset + ta.byteLength);
- return ab as ArrayBuffer;
-}
-
-export function arrayToStr(ui8: Uint8Array): string {
- return String.fromCharCode(...ui8);
-}
-
-// A `Resolvable` is a Promise with the `reject` and `resolve` functions
-// placed as methods on the promise object itself. It allows you to do:
-//
-// const p = createResolvable<number>();
-// ...
-// p.resolve(42);
-//
-// It'd be prettier to make Resolvable a class that inherits from Promise,
-// rather than an interface. This is possible in ES2016, however typescript
-// produces broken code when targeting ES5 code.
-// See https://github.com/Microsoft/TypeScript/issues/15202
-// At the time of writing, the github issue is closed but the problem remains.
-export interface Resolvable<T> extends Promise<T> {
- resolve: (value?: T | PromiseLike<T>) => void;
- // tslint:disable-next-line:no-any
- reject: (reason?: any) => void;
-}
-export function createResolvable<T>(): Resolvable<T> {
- let methods;
- const promise = new Promise<T>((resolve, reject) => {
- methods = { resolve, reject };
- });
- return Object.assign(promise, methods) as Resolvable<T>;
-}
diff --git a/util_test.go b/util_test.go
deleted file mode 100644
index 9f44454df..000000000
--- a/util_test.go
+++ /dev/null
@@ -1,62 +0,0 @@
-package deno
-
-import (
- "testing"
-)
-
-const exStackTrace = `hello
-before error
-error Error: error
- at foo (/Users/rld/go/src/github.com/ry/deno/testdata/013_async_throw.ts:4:11)
- at eval (/Users/rld/go/src/github.com/ry/deno/testdata/013_async_throw.ts:6:1)
- at Object.eval [as globalEval] (<anonymous>)
- at execute (/main.js:144781:15)
- at FileModule.compileAndRun (/main.js:144678:13)
- at /main.js:145161:13
- at /main.js:15733:13`
-const exStackTracePattern = `hello
-before error
-error Error: error
- at foo ([WILDCARD]testdata/013_async_throw.ts:4:11)
- at eval ([WILDCARD]testdata/013_async_throw.ts:6:1)
- at Object.eval [as globalEval] (<anonymous>)
- at execute (/main.js:[WILDCARD]`
-
-func TestPatternMatch(t *testing.T) {
- if patternMatch("aa", "a") != false {
- t.Fatalf("Wrong resullt (1).")
- }
- if patternMatch("aaa[WILDCARD]b", "aaaxsdfdb") != true {
- t.Fatalf("Wrong resullt (2).")
- }
- if patternMatch("aab[WILDCARD]", "xsd") != false {
- t.Fatalf("Wrong resullt (3).")
- }
- if patternMatch("a[WILDCARD]b[WILDCARD]c", "abc") != true {
- t.Fatalf("Wrong resullt (4).")
- }
- if patternMatch("a[WILDCARD]b[WILDCARD]c", "axbc") != true {
- t.Fatalf("Wrong resullt (5).")
- }
- if patternMatch("a[WILDCARD]b[WILDCARD]c", "abxc") != true {
- t.Fatalf("Wrong resullt (6).")
- }
- if patternMatch("a[WILDCARD]b[WILDCARD]c", "axbxc") != true {
- t.Fatalf("Wrong resullt (7).")
- }
- if patternMatch("a[WILDCARD]b[WILDCARD]c", "abcx") != false {
- t.Fatalf("Wrong resullt (8).")
- }
- if patternMatch("a[WILDCARD][WILDCARD]c", "abc") != true {
- t.Fatalf("Wrong resullt (9).")
- }
- if patternMatch("a[WILDCARD][WILDCARD]c", "ac") != true {
- t.Fatalf("Wrong resullt (10).")
- }
-}
-
-func TestPatternMatchStackTrace(t *testing.T) {
- if patternMatch(exStackTracePattern, exStackTrace) != true {
- t.Fatalf("Wrong resullt (11).")
- }
-}
diff --git a/v8_source_maps.ts b/v8_source_maps.ts
deleted file mode 100644
index 2384f34dc..000000000
--- a/v8_source_maps.ts
+++ /dev/null
@@ -1,273 +0,0 @@
-// Copyright 2014 Evan Wallace
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-// Originated from source-map-support but has been heavily modified for deno.
-import { SourceMapConsumer, MappedPosition } from "source-map";
-import * as base64 from "base64-js";
-import { arrayToStr } from "./util";
-
-const consumers = new Map<string, SourceMapConsumer>();
-
-interface Options {
- // A callback the returns generated file contents.
- getGeneratedContents: GetGeneratedContentsCallback;
- // Usually set the following to true. Set to false for testing.
- installPrepareStackTrace: boolean;
-}
-
-interface CallSite extends NodeJS.CallSite {
- getScriptNameOrSourceURL(): string;
-}
-
-interface Position {
- source: string; // Filename
- column: number;
- line: number;
-}
-
-type GetGeneratedContentsCallback = (fileName: string) => string;
-
-let getGeneratedContents: GetGeneratedContentsCallback;
-
-export function install(options: Options) {
- getGeneratedContents = options.getGeneratedContents;
- if (options.installPrepareStackTrace) {
- Error.prepareStackTrace = prepareStackTraceWrapper;
- }
-}
-
-export function prepareStackTraceWrapper(
- error: Error,
- stack: CallSite[]
-): string {
- try {
- return prepareStackTrace(error, stack);
- } catch (prepareStackError) {
- Error.prepareStackTrace = null;
- console.log("=====Error inside of prepareStackTrace====");
- console.log(prepareStackError.stack.toString());
- console.log("=====Original error=======================");
- throw error;
- }
-}
-
-export function prepareStackTrace(error: Error, stack: CallSite[]): string {
- const frames = stack.map(
- (frame: CallSite) => `\n at ${wrapCallSite(frame).toString()}`
- );
- return error.toString() + frames.join("");
-}
-
-export function wrapCallSite(frame: CallSite): CallSite {
- if (frame.isNative()) {
- return frame;
- }
-
- // Most call sites will return the source file from getFileName(), but code
- // passed to eval() ending in "//# sourceURL=..." will return the source file
- // from getScriptNameOrSourceURL() instead
- const source = frame.getFileName() || frame.getScriptNameOrSourceURL();
-
- if (source) {
- const line = frame.getLineNumber();
- const column = frame.getColumnNumber() - 1;
- const position = mapSourcePosition({ source, line, column });
- frame = cloneCallSite(frame);
- frame.getFileName = () => position.source;
- frame.getLineNumber = () => position.line;
- frame.getColumnNumber = () => Number(position.column) + 1;
- frame.getScriptNameOrSourceURL = () => position.source;
- frame.toString = () => CallSiteToString(frame);
- return frame;
- }
-
- // Code called using eval() needs special handling
- let origin = frame.isEval() && frame.getEvalOrigin();
- if (origin) {
- origin = mapEvalOrigin(origin);
- frame = cloneCallSite(frame);
- frame.getEvalOrigin = () => origin;
- return frame;
- }
-
- // If we get here then we were unable to change the source position
- return frame;
-}
-
-function cloneCallSite(frame: CallSite): CallSite {
- // tslint:disable:no-any
- const obj: any = {};
- const frame_ = frame as any;
- const props = Object.getOwnPropertyNames(Object.getPrototypeOf(frame));
- props.forEach(name => {
- obj[name] = /^(?:is|get)/.test(name)
- ? () => frame_[name].call(frame)
- : frame_[name];
- });
- return (obj as any) as CallSite;
- // tslint:enable:no-any
-}
-
-// Taken from source-map-support, original copied from V8's messages.js
-// MIT License. Copyright (c) 2014 Evan Wallace
-function CallSiteToString(frame: CallSite): string {
- let fileName;
- let fileLocation = "";
- if (frame.isNative()) {
- fileLocation = "native";
- } else {
- fileName = frame.getScriptNameOrSourceURL();
- if (!fileName && frame.isEval()) {
- fileLocation = frame.getEvalOrigin();
- fileLocation += ", "; // Expecting source position to follow.
- }
-
- if (fileName) {
- fileLocation += fileName;
- } else {
- // Source code does not originate from a file and is not native, but we
- // can still get the source position inside the source string, e.g. in
- // an eval string.
- fileLocation += "<anonymous>";
- }
- const lineNumber = frame.getLineNumber();
- if (lineNumber != null) {
- fileLocation += ":" + String(lineNumber);
- const columnNumber = frame.getColumnNumber();
- if (columnNumber) {
- fileLocation += ":" + String(columnNumber);
- }
- }
- }
-
- let line = "";
- const functionName = frame.getFunctionName();
- let addSuffix = true;
- const isConstructor = frame.isConstructor();
- const isMethodCall = !(frame.isToplevel() || isConstructor);
- if (isMethodCall) {
- let typeName = frame.getTypeName();
- // Fixes shim to be backward compatable with Node v0 to v4
- if (typeName === "[object Object]") {
- typeName = "null";
- }
- const methodName = frame.getMethodName();
- if (functionName) {
- if (typeName && functionName.indexOf(typeName) !== 0) {
- line += typeName + ".";
- }
- line += functionName;
- if (
- methodName &&
- functionName.indexOf("." + methodName) !==
- functionName.length - methodName.length - 1
- ) {
- line += ` [as ${methodName} ]`;
- }
- } else {
- line += typeName + "." + (methodName || "<anonymous>");
- }
- } else if (isConstructor) {
- line += "new " + (functionName || "<anonymous>");
- } else if (functionName) {
- line += functionName;
- } else {
- line += fileLocation;
- addSuffix = false;
- }
- if (addSuffix) {
- line += ` (${fileLocation})`;
- }
- return line;
-}
-
-// Regex for detecting source maps
-const reSourceMap = /^data:application\/json[^,]+base64,/;
-
-function loadConsumer(source: string): SourceMapConsumer {
- let consumer = consumers.get(source);
- if (consumer == null) {
- const code = getGeneratedContents(source);
- if (!code) {
- return null;
- }
-
- let sourceMappingURL = retrieveSourceMapURL(code);
- if (!sourceMappingURL) {
- throw Error("No source map?");
- }
-
- let sourceMapData: string;
- if (reSourceMap.test(sourceMappingURL)) {
- // Support source map URL as a data url
- const rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(",") + 1);
- const ui8 = base64.toByteArray(rawData);
- sourceMapData = arrayToStr(ui8);
- sourceMappingURL = source;
- } else {
- // Support source map URLs relative to the source URL
- //sourceMappingURL = supportRelativeURL(source, sourceMappingURL);
- sourceMapData = getGeneratedContents(sourceMappingURL);
- }
-
- //console.log("sourceMapData", sourceMapData);
- const rawSourceMap = JSON.parse(sourceMapData);
- consumer = new SourceMapConsumer(rawSourceMap);
- consumers.set(source, consumer);
- }
- return consumer;
-}
-
-function retrieveSourceMapURL(fileData: string): string {
- // Get the URL of the source map
- // tslint:disable-next-line:max-line-length
- const re = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/)[ \t]*$)/gm;
- // Keep executing the search to find the *last* sourceMappingURL to avoid
- // picking up sourceMappingURLs from comments, strings, etc.
- let lastMatch, match;
- while ((match = re.exec(fileData))) {
- lastMatch = match;
- }
- if (!lastMatch) {
- return null;
- }
- return lastMatch[1];
-}
-
-function mapSourcePosition(position: Position): MappedPosition {
- const consumer = loadConsumer(position.source);
- if (consumer == null) {
- return position;
- }
- const mapped = consumer.originalPositionFor(position);
- return mapped;
-}
-
-// Parses code generated by FormatEvalOrigin(), a function inside V8:
-// https://code.google.com/p/v8/source/browse/trunk/src/messages.js
-function mapEvalOrigin(origin: string): string {
- // Most eval() calls are in this format
- let match = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin);
- if (match) {
- const position = mapSourcePosition({
- source: match[2],
- line: Number(match[3]),
- column: Number(match[4]) - 1
- });
- const pos = [
- position.source,
- position.line,
- Number(position.column) + 1
- ].join(":");
- return `eval at ${match[1]} (${pos})`;
- }
-
- // Parse nested eval() calls using recursion
- match = /^eval at ([^(]+) \((.+)\)$/.exec(origin);
- if (match) {
- return `eval at ${match[1]} (${mapEvalOrigin(match[2])})`;
- }
-
- // Make sure we still return useful information if we didn't find anything
- return origin;
-}
diff --git a/v8worker2.d.ts b/v8worker2.d.ts
deleted file mode 100644
index 1c39653a4..000000000
--- a/v8worker2.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
-// All rights reserved. MIT License.
-declare namespace V8Worker2 {
- function print(...args: any[]): void;
- type RecvCallback = (ab: ArrayBuffer) => void;
- function recv(cb: RecvCallback): void;
- function send(ab: ArrayBuffer): null | ArrayBuffer;
-}
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index 34fd5eba4..000000000
--- a/yarn.lock
+++ /dev/null
@@ -1,3846 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
-
-"@protobufjs/base64@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
-
-"@protobufjs/codegen@^2.0.4":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
-
-"@protobufjs/eventemitter@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
-
-"@protobufjs/fetch@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
- dependencies:
- "@protobufjs/aspromise" "^1.1.1"
- "@protobufjs/inquire" "^1.1.0"
-
-"@protobufjs/float@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
-
-"@protobufjs/inquire@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
-
-"@protobufjs/path@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
-
-"@protobufjs/pool@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
-
-"@protobufjs/utf8@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
-
-"@types/base64-js@^1.2.5":
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/@types/base64-js/-/base64-js-1.2.5.tgz#582b2476169a6cba460a214d476c744441d873d5"
-
-"@types/long@^3.0.32":
- version "3.0.32"
- resolved "https://registry.yarnpkg.com/@types/long/-/long-3.0.32.tgz#f4e5af31e9e9b196d8e5fca8a5e2e20aa3d60b69"
-
-"@types/node@*":
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-10.1.2.tgz#1b928a0baa408fc8ae3ac012cc81375addc147c6"
-
-"@types/node@^8.9.4":
- version "8.10.14"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.14.tgz#a24767cfa22023f1bf7e751c0ead56a14c07ed45"
-
-"@types/source-map-support@^0.4.0":
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/@types/source-map-support/-/source-map-support-0.4.0.tgz#a62a1866614af68c888173c001481f242aaf148b"
- dependencies:
- "@types/node" "*"
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
-
-acorn-jsx@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
- dependencies:
- acorn "^3.0.4"
-
-acorn@^3.0.4:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
-
-acorn@^5.0.0, acorn@^5.5.0:
- version "5.5.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9"
-
-align-text@^0.1.1, align-text@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
- dependencies:
- kind-of "^3.0.2"
- longest "^1.0.1"
- repeat-string "^1.5.2"
-
-alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-
-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:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
-
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-
-ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- dependencies:
- color-convert "^1.9.0"
-
-anymatch@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
- dependencies:
- micromatch "^3.1.4"
- normalize-path "^2.1.1"
-
-aproba@^1.0.3:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
-
-are-we-there-yet@~1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- dependencies:
- sprintf-js "~1.0.2"
-
-arr-diff@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
-
-arr-flatten@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
-
-arr-union@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
-
-array-unique@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
-
-asn1.js@^4.0.0:
- version "4.10.1"
- resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
- dependencies:
- bn.js "^4.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-assert@^1.1.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
- dependencies:
- util "0.10.3"
-
-assign-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
-
-async-each@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
-
-async-limiter@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
-
-atob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a"
-
-autoprefixer@^6.3.1:
- version "6.7.7"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
- dependencies:
- browserslist "^1.7.6"
- caniuse-db "^1.0.30000634"
- normalize-range "^0.1.2"
- num2fraction "^1.2.2"
- postcss "^5.2.16"
- postcss-value-parser "^3.2.3"
-
-babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
- dependencies:
- chalk "^1.1.3"
- esutils "^2.0.2"
- js-tokens "^3.0.2"
-
-babel-core@^6.25.0, babel-core@^6.26.0:
- version "6.26.3"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
- dependencies:
- babel-code-frame "^6.26.0"
- babel-generator "^6.26.0"
- babel-helpers "^6.24.1"
- babel-messages "^6.23.0"
- babel-register "^6.26.0"
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- convert-source-map "^1.5.1"
- debug "^2.6.9"
- json5 "^0.5.1"
- lodash "^4.17.4"
- minimatch "^3.0.4"
- path-is-absolute "^1.0.1"
- private "^0.1.8"
- slash "^1.0.0"
- source-map "^0.5.7"
-
-babel-generator@^6.25.0, babel-generator@^6.26.0:
- version "6.26.1"
- resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
- dependencies:
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- detect-indent "^4.0.0"
- jsesc "^1.3.0"
- lodash "^4.17.4"
- source-map "^0.5.7"
- trim-right "^1.0.1"
-
-babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
- dependencies:
- babel-helper-explode-assignable-expression "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-builder-react-jsx@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0"
- dependencies:
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- esutils "^2.0.2"
-
-babel-helper-call-delegate@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
- dependencies:
- babel-helper-hoist-variables "^6.24.1"
- babel-runtime "^6.22.0"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-define-map@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-helper-explode-assignable-expression@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
- dependencies:
- babel-runtime "^6.22.0"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-function-name@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
- dependencies:
- babel-helper-get-function-arity "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-get-function-arity@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-hoist-variables@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-optimise-call-expression@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-regex@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
- dependencies:
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-helper-remap-async-to-generator@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-replace-supers@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
- dependencies:
- babel-helper-optimise-call-expression "^6.24.1"
- babel-messages "^6.23.0"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helpers@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
- dependencies:
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-messages@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-check-es2015-constants@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-syntax-async-functions@^6.8.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
-
-babel-plugin-syntax-exponentiation-operator@^6.8.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
-
-babel-plugin-syntax-jsx@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
-
-babel-plugin-syntax-trailing-function-commas@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
-
-babel-plugin-transform-async-to-generator@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
- dependencies:
- babel-helper-remap-async-to-generator "^6.24.1"
- babel-plugin-syntax-async-functions "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-arrow-functions@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoping@^6.23.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
- dependencies:
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-plugin-transform-es2015-classes@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
- dependencies:
- babel-helper-define-map "^6.24.1"
- babel-helper-function-name "^6.24.1"
- babel-helper-optimise-call-expression "^6.24.1"
- babel-helper-replace-supers "^6.24.1"
- babel-messages "^6.23.0"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-computed-properties@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
- dependencies:
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-destructuring@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-for-of@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-function-name@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-literals@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
- dependencies:
- babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.0:
- version "6.26.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
- dependencies:
- babel-plugin-transform-strict-mode "^6.24.1"
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-types "^6.26.0"
-
-babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
- dependencies:
- babel-helper-hoist-variables "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-modules-umd@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
- dependencies:
- babel-plugin-transform-es2015-modules-amd "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-object-super@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
- dependencies:
- babel-helper-replace-supers "^6.24.1"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-parameters@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
- dependencies:
- babel-helper-call-delegate "^6.24.1"
- babel-helper-get-function-arity "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-spread@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-sticky-regex@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
- dependencies:
- babel-helper-regex "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-template-literals@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-unicode-regex@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
- dependencies:
- babel-helper-regex "^6.24.1"
- babel-runtime "^6.22.0"
- regexpu-core "^2.0.0"
-
-babel-plugin-transform-exponentiation-operator@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
- dependencies:
- babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
- babel-plugin-syntax-exponentiation-operator "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-react-jsx@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
- dependencies:
- babel-helper-builder-react-jsx "^6.24.1"
- babel-plugin-syntax-jsx "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-regenerator@^6.22.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
- dependencies:
- regenerator-transform "^0.10.0"
-
-babel-plugin-transform-strict-mode@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-polyfill@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
- dependencies:
- babel-runtime "^6.26.0"
- core-js "^2.5.0"
- regenerator-runtime "^0.10.5"
-
-babel-preset-env@^1.6.1:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a"
- dependencies:
- babel-plugin-check-es2015-constants "^6.22.0"
- babel-plugin-syntax-trailing-function-commas "^6.22.0"
- babel-plugin-transform-async-to-generator "^6.22.0"
- babel-plugin-transform-es2015-arrow-functions "^6.22.0"
- babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
- babel-plugin-transform-es2015-block-scoping "^6.23.0"
- babel-plugin-transform-es2015-classes "^6.23.0"
- babel-plugin-transform-es2015-computed-properties "^6.22.0"
- babel-plugin-transform-es2015-destructuring "^6.23.0"
- babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
- babel-plugin-transform-es2015-for-of "^6.23.0"
- babel-plugin-transform-es2015-function-name "^6.22.0"
- babel-plugin-transform-es2015-literals "^6.22.0"
- babel-plugin-transform-es2015-modules-amd "^6.22.0"
- babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
- babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
- babel-plugin-transform-es2015-modules-umd "^6.23.0"
- babel-plugin-transform-es2015-object-super "^6.22.0"
- babel-plugin-transform-es2015-parameters "^6.23.0"
- babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
- babel-plugin-transform-es2015-spread "^6.22.0"
- babel-plugin-transform-es2015-sticky-regex "^6.22.0"
- babel-plugin-transform-es2015-template-literals "^6.22.0"
- babel-plugin-transform-es2015-typeof-symbol "^6.23.0"
- babel-plugin-transform-es2015-unicode-regex "^6.22.0"
- babel-plugin-transform-exponentiation-operator "^6.22.0"
- babel-plugin-transform-regenerator "^6.22.0"
- browserslist "^3.2.6"
- invariant "^2.2.2"
- semver "^5.3.0"
-
-babel-register@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
- dependencies:
- babel-core "^6.26.0"
- babel-runtime "^6.26.0"
- core-js "^2.5.0"
- home-or-tmp "^2.0.0"
- lodash "^4.17.4"
- mkdirp "^0.5.1"
- source-map-support "^0.4.15"
-
-babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.11.0"
-
-babel-template@^6.24.1, babel-template@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
- dependencies:
- babel-runtime "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- lodash "^4.17.4"
-
-babel-traverse@^6.24.1, babel-traverse@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
- dependencies:
- babel-code-frame "^6.26.0"
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- debug "^2.6.8"
- globals "^9.18.0"
- invariant "^2.2.2"
- lodash "^4.17.4"
-
-babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
- dependencies:
- babel-runtime "^6.26.0"
- esutils "^2.0.2"
- lodash "^4.17.4"
- to-fast-properties "^1.0.3"
-
-babylon-walk@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/babylon-walk/-/babylon-walk-1.0.2.tgz#3b15a5ddbb482a78b4ce9c01c8ba181702d9d6ce"
- dependencies:
- babel-runtime "^6.11.6"
- babel-types "^6.15.0"
- lodash.clone "^4.5.0"
-
-babylon@7.0.0-beta.19:
- version "7.0.0-beta.19"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz#e928c7e807e970e0536b078ab3e0c48f9e052503"
-
-babylon@^6.17.4, babylon@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
-
-balanced-match@^0.4.2:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
-
-base64-js@^1.0.2, base64-js@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
-
-base@^0.11.1:
- version "0.11.2"
- resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
- dependencies:
- cache-base "^1.0.1"
- class-utils "^0.3.5"
- component-emitter "^1.2.1"
- define-property "^1.0.0"
- isobject "^3.0.1"
- mixin-deep "^1.2.0"
- pascalcase "^0.1.1"
-
-binary-extensions@^1.0.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
-
-bindings@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11"
-
-bluebird@^3.0.5, bluebird@~3.5.0:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
-
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
-
-boolbase@^1.0.0, boolbase@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^2.3.0, braces@^2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
- dependencies:
- arr-flatten "^1.1.0"
- array-unique "^0.3.2"
- extend-shallow "^2.0.1"
- fill-range "^4.0.0"
- isobject "^3.0.1"
- repeat-element "^1.1.2"
- snapdragon "^0.8.1"
- snapdragon-node "^2.0.1"
- split-string "^3.0.2"
- to-regex "^3.0.1"
-
-brfs@^1.2.0:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.6.1.tgz#b78ce2336d818e25eea04a0947cba6d4fb8849c3"
- dependencies:
- quote-stream "^1.0.1"
- resolve "^1.1.5"
- static-module "^2.2.0"
- through2 "^2.0.0"
-
-brorand@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
-
-browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
- dependencies:
- buffer-xor "^1.0.3"
- cipher-base "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.3"
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-browserify-cipher@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
- dependencies:
- browserify-aes "^1.0.4"
- browserify-des "^1.0.0"
- evp_bytestokey "^1.0.0"
-
-browserify-des@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c"
- dependencies:
- cipher-base "^1.0.1"
- des.js "^1.0.0"
- inherits "^2.0.1"
-
-browserify-rsa@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
- dependencies:
- bn.js "^4.1.0"
- randombytes "^2.0.1"
-
-browserify-sign@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
- dependencies:
- bn.js "^4.1.1"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.2"
- elliptic "^6.0.0"
- inherits "^2.0.1"
- parse-asn1 "^5.0.0"
-
-browserify-zlib@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
- dependencies:
- pako "~1.0.5"
-
-browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
- version "1.7.7"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
- dependencies:
- caniuse-db "^1.0.30000639"
- electron-to-chromium "^1.2.7"
-
-browserslist@^3.2.6:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.7.tgz#aa488634d320b55e88bab0256184dbbcca1e6de9"
- dependencies:
- caniuse-lite "^1.0.30000835"
- electron-to-chromium "^1.3.45"
-
-buffer-equal@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
-
-buffer-from@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
-
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
-
-buffer@^4.3.0:
- version "4.9.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^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"
-
-builtin-status-codes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
-
-cache-base@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
- dependencies:
- collection-visit "^1.0.0"
- component-emitter "^1.2.1"
- get-value "^2.0.6"
- has-value "^1.0.0"
- isobject "^3.0.1"
- set-value "^2.0.0"
- to-object-path "^0.3.0"
- union-value "^1.0.0"
- unset-value "^1.0.0"
-
-camelcase@^1.0.2:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
-
-caniuse-api@^1.5.2:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
- dependencies:
- browserslist "^1.3.6"
- caniuse-db "^1.0.30000529"
- lodash.memoize "^4.1.2"
- lodash.uniq "^4.5.0"
-
-caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
- version "1.0.30000839"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000839.tgz#55a86e402c74ae17149707bea3ea399522233497"
-
-caniuse-lite@^1.0.30000835:
- version "1.0.30000839"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000839.tgz#41fcc036cf1cb77a0e0be041210f77f1ced44a7b"
-
-catharsis@~0.8.9:
- version "0.8.9"
- resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz#98cc890ca652dd2ef0e70b37925310ff9e90fc8b"
- dependencies:
- underscore-contrib "~0.3.0"
-
-center-align@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
- dependencies:
- align-text "^0.1.3"
- lazy-cache "^1.0.3"
-
-chalk@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
-chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chokidar@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176"
- dependencies:
- anymatch "^2.0.0"
- async-each "^1.0.0"
- braces "^2.3.0"
- glob-parent "^3.1.0"
- inherits "^2.0.1"
- is-binary-path "^1.0.0"
- is-glob "^4.0.0"
- normalize-path "^2.1.1"
- path-is-absolute "^1.0.0"
- readdirp "^2.0.0"
- upath "^1.0.0"
- optionalDependencies:
- fsevents "^1.1.2"
-
-chownr@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
-
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-clap@^1.0.9:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51"
- dependencies:
- chalk "^1.1.3"
-
-class-utils@^0.3.5:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
- dependencies:
- arr-union "^3.1.0"
- define-property "^0.2.5"
- isobject "^3.0.0"
- static-extend "^0.1.1"
-
-cliui@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
- dependencies:
- center-align "^0.1.1"
- right-align "^0.1.1"
- wordwrap "0.0.2"
-
-clone@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
-
-clones@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/clones/-/clones-1.1.0.tgz#87e904132d6140c5c0b72006c08c0d05bd7b63b3"
-
-coa@~1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd"
- dependencies:
- q "^1.1.2"
-
-coa@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.1.tgz#f3f8b0b15073e35d70263fb1042cb2c023db38af"
- dependencies:
- q "^1.1.2"
-
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-
-collection-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
- dependencies:
- map-visit "^1.0.0"
- object-visit "^1.0.0"
-
-color-convert@^1.3.0, color-convert@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
- dependencies:
- color-name "^1.1.1"
-
-color-name@^1.0.0, color-name@^1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
-
-color-string@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
- dependencies:
- color-name "^1.0.0"
-
-color@^0.11.0:
- version "0.11.4"
- resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
- dependencies:
- clone "^1.0.2"
- color-convert "^1.3.0"
- color-string "^0.3.0"
-
-colormin@^1.0.5:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
- dependencies:
- color "^0.11.0"
- css-color-names "0.0.4"
- has "^1.0.1"
-
-colors@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
-
-command-exists@^1.2.6:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.6.tgz#577f8e5feb0cb0f159cd557a51a9be1bdd76e09e"
-
-commander@^2.11.0, commander@^2.12.1, commander@^2.9.0:
- version "2.15.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
-
-commander@~2.13.0:
- version "2.13.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
-
-component-emitter@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-
-concat-stream@~1.6.0:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-config-chain@~1.1.5:
- 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"
-
-console-browserify@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
- dependencies:
- date-now "^0.1.4"
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-
-constants-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-
-convert-source-map@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
-
-copy-descriptor@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
-
-core-js@^2.4.0, core-js@^2.5.0:
- version "2.5.6"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d"
-
-core-util-is@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-
-create-ecdh@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
- dependencies:
- bn.js "^4.1.0"
- elliptic "^6.0.0"
-
-create-hash@^1.1.0, create-hash@^1.1.2:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
- dependencies:
- cipher-base "^1.0.1"
- inherits "^2.0.1"
- md5.js "^1.3.4"
- ripemd160 "^2.0.1"
- sha.js "^2.4.0"
-
-create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
- dependencies:
- cipher-base "^1.0.3"
- create-hash "^1.1.0"
- inherits "^2.0.1"
- ripemd160 "^2.0.0"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-cross-spawn@^6.0.4:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-crypto-browserify@^3.11.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
- dependencies:
- browserify-cipher "^1.0.0"
- browserify-sign "^4.0.0"
- create-ecdh "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.0"
- diffie-hellman "^5.0.0"
- inherits "^2.0.1"
- pbkdf2 "^3.0.3"
- public-encrypt "^4.0.0"
- randombytes "^2.0.0"
- randomfill "^1.0.3"
-
-css-color-names@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
-
-css-select-base-adapter@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz#0102b3d14630df86c3eb9fa9f5456270106cf990"
-
-css-select@~1.3.0-rc0:
- version "1.3.0-rc0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.3.0-rc0.tgz#6f93196aaae737666ea1036a8cb14a8fcb7a9231"
- dependencies:
- boolbase "^1.0.0"
- css-what "2.1"
- domutils "1.5.1"
- nth-check "^1.0.1"
-
-css-tree@1.0.0-alpha.27:
- version "1.0.0-alpha.27"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.27.tgz#f211526909c7dc940843d83b9376ed98ddb8de47"
- dependencies:
- mdn-data "^1.0.0"
- source-map "^0.5.3"
-
-css-tree@1.0.0-alpha25:
- version "1.0.0-alpha25"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha25.tgz#1bbfabfbf6eeef4f01d9108ff2edd0be2fe35597"
- dependencies:
- mdn-data "^1.0.0"
- source-map "^0.5.3"
-
-css-url-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec"
-
-css-what@2.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
-
-cssnano@^3.10.0, cssnano@^3.4.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
- dependencies:
- autoprefixer "^6.3.1"
- decamelize "^1.1.2"
- defined "^1.0.0"
- has "^1.0.1"
- object-assign "^4.0.1"
- postcss "^5.0.14"
- postcss-calc "^5.2.0"
- postcss-colormin "^2.1.8"
- postcss-convert-values "^2.3.4"
- postcss-discard-comments "^2.0.4"
- postcss-discard-duplicates "^2.0.1"
- postcss-discard-empty "^2.0.1"
- postcss-discard-overridden "^0.1.1"
- postcss-discard-unused "^2.2.1"
- postcss-filter-plugins "^2.0.0"
- postcss-merge-idents "^2.1.5"
- postcss-merge-longhand "^2.0.1"
- postcss-merge-rules "^2.0.3"
- postcss-minify-font-values "^1.0.2"
- postcss-minify-gradients "^1.0.1"
- postcss-minify-params "^1.0.4"
- postcss-minify-selectors "^2.0.4"
- postcss-normalize-charset "^1.1.0"
- postcss-normalize-url "^3.0.7"
- postcss-ordered-values "^2.1.0"
- postcss-reduce-idents "^2.2.2"
- postcss-reduce-initial "^1.0.0"
- postcss-reduce-transforms "^1.0.3"
- postcss-svgo "^2.1.1"
- postcss-unique-selectors "^2.0.2"
- postcss-value-parser "^3.2.3"
- postcss-zindex "^2.0.1"
-
-csso@^3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.0.tgz#acdbba5719e2c87bc801eadc032764b2e4b9d4e7"
- dependencies:
- css-tree "1.0.0-alpha.27"
-
-csso@~2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
- dependencies:
- clap "^1.0.9"
- source-map "^0.5.3"
-
-date-now@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-
-deasync@^0.1.12:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.13.tgz#815c2b69bbd1117cae570152cd895661c09f20ea"
- dependencies:
- bindings "~1.2.1"
- nan "^2.0.7"
-
-debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- dependencies:
- ms "2.0.0"
-
-decamelize@^1.0.0, decamelize@^1.1.2:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-
-decode-uri-component@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
-
-deep-extend@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f"
-
-deep-is@~0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-
-define-properties@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
- dependencies:
- foreach "^2.0.5"
- object-keys "^1.0.8"
-
-define-property@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
- dependencies:
- is-descriptor "^0.1.0"
-
-define-property@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
- dependencies:
- is-descriptor "^1.0.0"
-
-define-property@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
- dependencies:
- is-descriptor "^1.0.2"
- isobject "^3.0.1"
-
-defined@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
-
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
-
-des.js@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
- dependencies:
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-destroy@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-
-detect-indent@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
- dependencies:
- repeating "^2.0.0"
-
-detect-libc@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
-
-diff@^3.2.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
-
-diffie-hellman@^5.0.0:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
- dependencies:
- bn.js "^4.1.0"
- miller-rabin "^4.0.0"
- randombytes "^2.0.0"
-
-dom-serializer@0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
- dependencies:
- domelementtype "~1.1.1"
- entities "~1.1.1"
-
-domain-browser@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
-
-domelementtype@1, domelementtype@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
-
-domelementtype@~1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
-
-domhandler@^2.3.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
- dependencies:
- domelementtype "1"
-
-domutils@1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
- dependencies:
- dom-serializer "0"
- domelementtype "1"
-
-domutils@^1.5.1:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
- dependencies:
- dom-serializer "0"
- domelementtype "1"
-
-dotenv@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef"
-
-duplexer2@~0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
- dependencies:
- readable-stream "^2.0.2"
-
-editorconfig@^0.13.2:
- version "0.13.3"
- resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.3.tgz#e5219e587951d60958fd94ea9a9a008cdeff1b34"
- dependencies:
- bluebird "^3.0.5"
- commander "^2.9.0"
- lru-cache "^3.2.0"
- semver "^5.1.0"
- sigmund "^1.0.1"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-
-electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.45:
- version "1.3.45"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz#458ac1b1c5c760ce8811a16d2bfbd97ec30bafb8"
-
-elliptic@^6.0.0:
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
- dependencies:
- bn.js "^4.4.0"
- brorand "^1.0.1"
- hash.js "^1.0.0"
- hmac-drbg "^1.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.0"
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
-
-entities@^1.1.1, entities@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
-
-es-abstract@^1.5.1, es-abstract@^1.6.1:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681"
- dependencies:
- es-to-primitive "^1.1.1"
- function-bind "^1.1.1"
- has "^1.0.1"
- is-callable "^1.1.3"
- is-regex "^1.0.4"
-
-es-to-primitive@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
- dependencies:
- is-callable "^1.1.1"
- is-date-object "^1.0.1"
- is-symbol "^1.0.1"
-
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-
-escodegen@^1.8.1, escodegen@~1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2"
- dependencies:
- esprima "^3.1.3"
- estraverse "^4.2.0"
- esutils "^2.0.2"
- optionator "^0.8.1"
- optionalDependencies:
- source-map "~0.6.1"
-
-espree@^3.5.3:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
- dependencies:
- acorn "^5.5.0"
- acorn-jsx "^3.0.0"
-
-esprima@^2.6.0:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
-
-esprima@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
-
-esprima@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
-
-estraverse@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
-
-esutils@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
-
-events@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
-
-evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
-expand-brackets@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
- dependencies:
- debug "^2.3.3"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- posix-character-classes "^0.1.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- dependencies:
- is-extendable "^0.1.0"
-
-extend-shallow@^3.0.0, extend-shallow@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
- dependencies:
- assign-symbols "^1.0.0"
- is-extendable "^1.0.1"
-
-extglob@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
- dependencies:
- array-unique "^0.3.2"
- define-property "^1.0.0"
- expand-brackets "^2.1.4"
- extend-shallow "^2.0.1"
- fragment-cache "^0.2.1"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-falafel@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c"
- dependencies:
- acorn "^5.0.0"
- foreach "^2.0.5"
- isarray "0.0.1"
- object-keys "^1.0.6"
-
-fast-levenshtein@~2.0.4:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
-
-filesize@^3.6.0:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
-
-fill-range@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
- dependencies:
- extend-shallow "^2.0.1"
- is-number "^3.0.0"
- repeat-string "^1.6.1"
- to-regex-range "^2.1.0"
-
-flatten@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
-
-for-in@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
-
-foreach@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
-
-fragment-cache@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
- dependencies:
- map-cache "^0.2.2"
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
-
-fs-minipass@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
- dependencies:
- minipass "^2.2.1"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-
-fsevents@^1.1.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.3.tgz#08292982e7059f6674c93d8b829c1e8604979ac0"
- dependencies:
- nan "^2.9.2"
- node-pre-gyp "^0.9.0"
-
-function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- 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"
-
-get-port@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
-
-get-value@^2.0.3, get-value@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
-
-glob-parent@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
- dependencies:
- is-glob "^3.1.0"
- path-dirname "^1.0.0"
-
-glob@^7.0.5, 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:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-globals@^9.18.0:
- version "9.18.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
-
-graceful-fs@^4.1.2, graceful-fs@^4.1.9:
- version "4.1.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-
-grapheme-breaker@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz#5b9e6b78c3832452d2ba2bb1cb830f96276410ac"
- dependencies:
- brfs "^1.2.0"
- unicode-trie "^0.3.1"
-
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- dependencies:
- ansi-regex "^2.0.0"
-
-has-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
-
-has-unicode@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-
-has-value@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
- dependencies:
- get-value "^2.0.3"
- has-values "^0.1.4"
- isobject "^2.0.0"
-
-has-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
- dependencies:
- get-value "^2.0.6"
- has-values "^1.0.0"
- isobject "^3.0.0"
-
-has-values@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
-
-has-values@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-has@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
- dependencies:
- function-bind "^1.0.2"
-
-hash-base@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.0"
-
-hmac-drbg@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
-home-or-tmp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.1"
-
-html-comment-regex@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
-
-htmlnano@^0.1.9:
- version "0.1.9"
- resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.1.9.tgz#e6137aea84d20311a3875c42eb2799a1ff352627"
- dependencies:
- cssnano "^3.4.0"
- object-assign "^4.0.1"
- posthtml "^0.11.3"
- posthtml-render "^1.1.3"
- svgo "^1.0.5"
- uglify-es "^3.3.9"
-
-htmlparser2@^3.9.2:
- version "3.9.2"
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
- dependencies:
- domelementtype "^1.3.0"
- domhandler "^2.3.0"
- domutils "^1.5.1"
- entities "^1.1.1"
- inherits "^2.0.1"
- readable-stream "^2.0.2"
-
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
-https-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
-
-iconv-lite@^0.4.4:
- version "0.4.23"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-ieee754@^1.1.4:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455"
-
-ignore-walk@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
- dependencies:
- minimatch "^3.0.4"
-
-indexes-of@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
-
-indexof@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-
-inherits@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-
-ini@^1.3.4, ini@~1.3.0:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
-
-invariant@^2.2.2:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- dependencies:
- loose-envify "^1.0.0"
-
-is-absolute-url@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
-
-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"
- dependencies:
- kind-of "^3.0.2"
-
-is-accessor-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
- dependencies:
- kind-of "^6.0.0"
-
-is-binary-path@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
- dependencies:
- binary-extensions "^1.0.0"
-
-is-buffer@^1.1.5:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
-
-is-callable@^1.1.1, is-callable@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
-
-is-data-descriptor@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
- dependencies:
- kind-of "^3.0.2"
-
-is-data-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
- dependencies:
- kind-of "^6.0.0"
-
-is-date-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
-
-is-descriptor@^0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
- dependencies:
- is-accessor-descriptor "^0.1.6"
- is-data-descriptor "^0.1.4"
- kind-of "^5.0.0"
-
-is-descriptor@^1.0.0, is-descriptor@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
- dependencies:
- is-accessor-descriptor "^1.0.0"
- is-data-descriptor "^1.0.0"
- kind-of "^6.0.2"
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
-
-is-extendable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- dependencies:
- is-plain-object "^2.0.4"
-
-is-extglob@^2.1.0, is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
-
-is-finite@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- dependencies:
- number-is-nan "^1.0.0"
-
-is-glob@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
- dependencies:
- is-extglob "^2.1.0"
-
-is-glob@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0"
- dependencies:
- is-extglob "^2.1.1"
-
-is-number@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
-
-is-odd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24"
- dependencies:
- is-number "^4.0.0"
-
-is-plain-obj@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-
-is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- dependencies:
- isobject "^3.0.1"
-
-is-regex@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
- dependencies:
- has "^1.0.1"
-
-is-svg@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
- dependencies:
- html-comment-regex "^1.1.0"
-
-is-symbol@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
-
-is-url@^1.2.2:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
-
-is-windows@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
-
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-
-isobject@^2.0.0, isobject@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
- dependencies:
- isarray "1.0.0"
-
-isobject@^3.0.0, isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
-
-js-base64@^2.1.9:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
-
-js-beautify@^1.7.5:
- version "1.7.5"
- resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.7.5.tgz#69d9651ef60dbb649f65527b53674950138a7919"
- dependencies:
- config-chain "~1.1.5"
- editorconfig "^0.13.2"
- mkdirp "~0.5.0"
- nopt "~3.0.1"
-
-js-tokens@^3.0.0, js-tokens@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-
-js-yaml@^3.10.0, js-yaml@^3.7.0:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-js-yaml@~3.10.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-js-yaml@~3.7.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
- dependencies:
- argparse "^1.0.7"
- esprima "^2.6.0"
-
-js2xmlparser@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-3.0.0.tgz#3fb60eaa089c5440f9319f51760ccd07e2499733"
- dependencies:
- xmlcreate "^1.0.1"
-
-jsdoc@^3.5.5:
- version "3.5.5"
- resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.5.5.tgz#484521b126e81904d632ff83ec9aaa096708fa4d"
- dependencies:
- babylon "7.0.0-beta.19"
- bluebird "~3.5.0"
- catharsis "~0.8.9"
- escape-string-regexp "~1.0.5"
- js2xmlparser "~3.0.0"
- klaw "~2.0.0"
- marked "~0.3.6"
- mkdirp "~0.5.1"
- requizzle "~0.2.1"
- strip-json-comments "~2.0.1"
- taffydb "2.6.2"
- underscore "~1.8.3"
-
-jsesc@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-
-json5@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
-
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
- dependencies:
- minimist "^1.2.0"
-
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
-
-klaw@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.0.0.tgz#59c128e0dc5ce410201151194eeb9cbf858650f6"
- dependencies:
- graceful-fs "^4.1.9"
-
-lazy-cache@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
-
-levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
-lodash.clone@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6"
-
-lodash.memoize@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-
-lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-
-lodash@^4.17.4:
- version "4.17.10"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
-
-long@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
-
-longest@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
-
-loose-envify@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
- dependencies:
- js-tokens "^3.0.0"
-
-lru-cache@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee"
- dependencies:
- pseudomap "^1.0.1"
-
-macaddress@^0.2.8:
- version "0.2.8"
- resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
-
-magic-string@^0.22.4:
- version "0.22.5"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e"
- dependencies:
- vlq "^0.2.2"
-
-map-cache@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
-
-map-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
- dependencies:
- object-visit "^1.0.0"
-
-marked@~0.3.6:
- version "0.3.19"
- resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
-
-math-expression-evaluator@^1.2.14:
- version "1.2.17"
- resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
-
-md5.js@^1.3.4:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d"
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-mdn-data@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.2.tgz#ceaa6a831b4de494352af984d301e3a8f2cad6e5"
-
-merge-source-map@1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f"
- dependencies:
- source-map "^0.5.6"
-
-micromatch@^3.0.4, micromatch@^3.1.4:
- version "3.1.10"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- braces "^2.3.1"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- extglob "^2.0.4"
- fragment-cache "^0.2.1"
- kind-of "^6.0.2"
- nanomatch "^1.2.9"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.2"
-
-miller-rabin@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
- dependencies:
- bn.js "^4.0.0"
- brorand "^1.0.1"
-
-mime@1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
-
-minimalistic-assert@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
-
-minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
-
-minimatch@^3.0.2, minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-
-minimist@^1.1.3, minimist@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-
-minipass@^2.2.1, minipass@^2.2.4:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.0.tgz#2e11b1c46df7fe7f1afbe9a490280add21ffe384"
- dependencies:
- safe-buffer "^5.1.1"
- yallist "^3.0.0"
-
-minizlib@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
- dependencies:
- minipass "^2.2.1"
-
-mixin-deep@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
- dependencies:
- for-in "^1.0.2"
- is-extendable "^1.0.1"
-
-mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
- dependencies:
- minimist "0.0.8"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-
-nan@^2.0.7, nan@^2.9.2:
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
-
-nanomatch@^1.2.9:
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2"
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- fragment-cache "^0.2.1"
- is-odd "^2.0.0"
- is-windows "^1.0.2"
- kind-of "^6.0.2"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-needle@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
- dependencies:
- debug "^2.1.2"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
-nice-try@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4"
-
-node-forge@^0.7.1:
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df"
-
-node-libs-browser@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df"
- dependencies:
- assert "^1.1.1"
- browserify-zlib "^0.2.0"
- buffer "^4.3.0"
- console-browserify "^1.1.0"
- constants-browserify "^1.0.0"
- crypto-browserify "^3.11.0"
- domain-browser "^1.1.1"
- events "^1.0.0"
- https-browserify "^1.0.0"
- os-browserify "^0.3.0"
- path-browserify "0.0.0"
- process "^0.11.10"
- punycode "^1.2.4"
- querystring-es3 "^0.2.0"
- readable-stream "^2.3.3"
- stream-browserify "^2.0.1"
- stream-http "^2.7.2"
- string_decoder "^1.0.0"
- timers-browserify "^2.0.4"
- tty-browserify "0.0.0"
- url "^0.11.0"
- util "^0.10.3"
- vm-browserify "0.0.4"
-
-node-pre-gyp@^0.9.0:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz#f11c07516dd92f87199dbc7e1838eab7cd56c9e0"
- dependencies:
- detect-libc "^1.0.2"
- mkdirp "^0.5.1"
- needle "^2.2.0"
- nopt "^4.0.1"
- npm-packlist "^1.1.6"
- npmlog "^4.0.2"
- rc "^1.1.7"
- rimraf "^2.6.1"
- semver "^5.3.0"
- tar "^4"
-
-nopt@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
-nopt@~3.0.1:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
- dependencies:
- abbrev "1"
-
-normalize-path@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
- dependencies:
- remove-trailing-separator "^1.0.1"
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
-
-normalize-url@^1.4.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
- dependencies:
- object-assign "^4.0.1"
- prepend-http "^1.0.0"
- query-string "^4.1.0"
- sort-keys "^1.0.0"
-
-npm-bundled@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
-
-npm-packlist@^1.1.6:
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
- dependencies:
- ignore-walk "^3.0.1"
- npm-bundled "^1.0.1"
-
-npmlog@^4.0.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- 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"
- dependencies:
- boolbase "~1.0.0"
-
-num2fraction@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-
-object-copy@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
- dependencies:
- copy-descriptor "^0.1.0"
- define-property "^0.2.5"
- kind-of "^3.0.3"
-
-object-inspect@~1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4"
-
-object-keys@^1.0.6, object-keys@^1.0.8:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
-
-object-visit@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
- dependencies:
- isobject "^3.0.0"
-
-object.getownpropertydescriptors@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
- dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.5.1"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- dependencies:
- isobject "^3.0.1"
-
-object.values@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a"
- dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.6.1"
- function-bind "^1.1.0"
- has "^1.0.1"
-
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
- dependencies:
- ee-first "1.1.1"
-
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- dependencies:
- wrappy "1"
-
-opn@^5.1.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c"
- dependencies:
- is-wsl "^1.1.0"
-
-optionator@^0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
- dependencies:
- deep-is "~0.1.3"
- fast-levenshtein "~2.0.4"
- levn "~0.3.0"
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
- wordwrap "~1.0.0"
-
-os-browserify@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
-
-os-homedir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-
-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.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.0"
-
-pako@^0.2.5:
- version "0.2.9"
- resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
-
-pako@~1.0.5:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
-
-parcel-bundler@^1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/parcel-bundler/-/parcel-bundler-1.8.1.tgz#ac62d0690786f51d7f309694bab6856f685a6986"
- dependencies:
- babel-code-frame "^6.26.0"
- babel-core "^6.25.0"
- babel-generator "^6.25.0"
- babel-plugin-transform-es2015-modules-commonjs "^6.26.0"
- babel-plugin-transform-react-jsx "^6.24.1"
- babel-preset-env "^1.6.1"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.17.4"
- babylon-walk "^1.0.2"
- browserslist "^3.2.6"
- chalk "^2.1.0"
- chokidar "^2.0.3"
- command-exists "^1.2.6"
- commander "^2.11.0"
- cross-spawn "^6.0.4"
- cssnano "^3.10.0"
- deasync "^0.1.12"
- dotenv "^5.0.0"
- filesize "^3.6.0"
- get-port "^3.2.0"
- glob "^7.1.2"
- grapheme-breaker "^0.3.2"
- htmlnano "^0.1.9"
- is-url "^1.2.2"
- js-yaml "^3.10.0"
- json5 "^1.0.1"
- micromatch "^3.0.4"
- mkdirp "^0.5.1"
- node-forge "^0.7.1"
- node-libs-browser "^2.0.0"
- opn "^5.1.0"
- physical-cpu-count "^2.0.0"
- postcss "^6.0.19"
- postcss-value-parser "^3.3.0"
- posthtml "^0.11.2"
- posthtml-parser "^0.4.0"
- posthtml-render "^1.1.3"
- resolve "^1.4.0"
- semver "^5.4.1"
- serialize-to-js "^1.1.1"
- serve-static "^1.12.4"
- source-map "0.6.1"
- strip-ansi "^4.0.0"
- toml "^2.3.3"
- tomlify-j0.4 "^3.0.0"
- uglify-es "^3.2.1"
- v8-compile-cache "^2.0.0"
- ws "^5.1.1"
-
-parse-asn1@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8"
- dependencies:
- asn1.js "^4.0.0"
- browserify-aes "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.0"
- pbkdf2 "^3.0.3"
-
-parseurl@~1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
-
-pascalcase@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
-
-path-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
-
-path-dirname@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
-
-path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-
-path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
-
-path-parse@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
-
-pbkdf2@^3.0.3:
- version "3.0.16"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c"
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-physical-cpu-count@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660"
-
-posix-character-classes@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
-
-postcss-calc@^5.2.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
- dependencies:
- postcss "^5.0.2"
- postcss-message-helpers "^2.0.0"
- reduce-css-calc "^1.2.6"
-
-postcss-colormin@^2.1.8:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
- dependencies:
- colormin "^1.0.5"
- postcss "^5.0.13"
- postcss-value-parser "^3.2.3"
-
-postcss-convert-values@^2.3.4:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
- dependencies:
- postcss "^5.0.11"
- postcss-value-parser "^3.1.2"
-
-postcss-discard-comments@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
- dependencies:
- postcss "^5.0.14"
-
-postcss-discard-duplicates@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
- dependencies:
- postcss "^5.0.4"
-
-postcss-discard-empty@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
- dependencies:
- postcss "^5.0.14"
-
-postcss-discard-overridden@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
- dependencies:
- postcss "^5.0.16"
-
-postcss-discard-unused@^2.2.1:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
- dependencies:
- postcss "^5.0.14"
- uniqs "^2.0.0"
-
-postcss-filter-plugins@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
- dependencies:
- postcss "^5.0.4"
- uniqid "^4.0.0"
-
-postcss-merge-idents@^2.1.5:
- version "2.1.7"
- resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
- dependencies:
- has "^1.0.1"
- postcss "^5.0.10"
- postcss-value-parser "^3.1.1"
-
-postcss-merge-longhand@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
- dependencies:
- postcss "^5.0.4"
-
-postcss-merge-rules@^2.0.3:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
- dependencies:
- browserslist "^1.5.2"
- caniuse-api "^1.5.2"
- postcss "^5.0.4"
- postcss-selector-parser "^2.2.2"
- vendors "^1.0.0"
-
-postcss-message-helpers@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
-
-postcss-minify-font-values@^1.0.2:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
- dependencies:
- object-assign "^4.0.1"
- postcss "^5.0.4"
- postcss-value-parser "^3.0.2"
-
-postcss-minify-gradients@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
- dependencies:
- postcss "^5.0.12"
- postcss-value-parser "^3.3.0"
-
-postcss-minify-params@^1.0.4:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
- dependencies:
- alphanum-sort "^1.0.1"
- postcss "^5.0.2"
- postcss-value-parser "^3.0.2"
- uniqs "^2.0.0"
-
-postcss-minify-selectors@^2.0.4:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
- dependencies:
- alphanum-sort "^1.0.2"
- has "^1.0.1"
- postcss "^5.0.14"
- postcss-selector-parser "^2.0.0"
-
-postcss-normalize-charset@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
- dependencies:
- postcss "^5.0.5"
-
-postcss-normalize-url@^3.0.7:
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
- dependencies:
- is-absolute-url "^2.0.0"
- normalize-url "^1.4.0"
- postcss "^5.0.14"
- postcss-value-parser "^3.2.3"
-
-postcss-ordered-values@^2.1.0:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
- dependencies:
- postcss "^5.0.4"
- postcss-value-parser "^3.0.1"
-
-postcss-reduce-idents@^2.2.2:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
- dependencies:
- postcss "^5.0.4"
- postcss-value-parser "^3.0.2"
-
-postcss-reduce-initial@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
- dependencies:
- postcss "^5.0.4"
-
-postcss-reduce-transforms@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
- dependencies:
- has "^1.0.1"
- postcss "^5.0.8"
- postcss-value-parser "^3.0.1"
-
-postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
- dependencies:
- flatten "^1.0.2"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss-svgo@^2.1.1:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
- dependencies:
- is-svg "^2.0.0"
- postcss "^5.0.14"
- postcss-value-parser "^3.2.3"
- svgo "^0.7.0"
-
-postcss-unique-selectors@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
- dependencies:
- alphanum-sort "^1.0.1"
- postcss "^5.0.4"
- uniqs "^2.0.0"
-
-postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
-
-postcss-zindex@^2.0.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
- dependencies:
- has "^1.0.1"
- postcss "^5.0.4"
- uniqs "^2.0.0"
-
-postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16:
- version "5.2.18"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
- dependencies:
- chalk "^1.1.3"
- js-base64 "^2.1.9"
- source-map "^0.5.6"
- supports-color "^3.2.3"
-
-postcss@^6.0.19:
- version "6.0.22"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3"
- dependencies:
- chalk "^2.4.1"
- source-map "^0.6.1"
- supports-color "^5.4.0"
-
-posthtml-parser@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.3.3.tgz#3fe986fca9f00c0f109d731ba590b192f26e776d"
- dependencies:
- htmlparser2 "^3.9.2"
- isobject "^2.1.0"
- object-assign "^4.1.1"
-
-posthtml-parser@^0.4.0:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.4.1.tgz#95b78fef766fbbe0a6f861b6e95582bc3d1ff933"
- dependencies:
- htmlparser2 "^3.9.2"
- object-assign "^4.1.1"
-
-posthtml-render@^1.1.0, posthtml-render@^1.1.3:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.1.4.tgz#95dac09892f4f183fad5ac823f08f42c0256551e"
-
-posthtml@^0.11.2, posthtml@^0.11.3:
- version "0.11.3"
- resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.11.3.tgz#17ea2921b0555b7455f33c977bd16d8b8cb74f27"
- dependencies:
- object-assign "^4.1.1"
- posthtml-parser "^0.3.3"
- posthtml-render "^1.1.0"
-
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
-
-prepend-http@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
-
-prettier@^1.12.1:
- version "1.12.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325"
-
-private@^0.1.6, private@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
-
-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"
-
-process@^0.11.10:
- version "0.11.10"
- resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
-
-proto-list@~1.2.1:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
-
-protobufjs@^6.8.6:
- version "6.8.6"
- resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.6.tgz#ce3cf4fff9625b62966c455fc4c15e4331a11ca2"
- dependencies:
- "@protobufjs/aspromise" "^1.1.2"
- "@protobufjs/base64" "^1.1.2"
- "@protobufjs/codegen" "^2.0.4"
- "@protobufjs/eventemitter" "^1.1.0"
- "@protobufjs/fetch" "^1.1.0"
- "@protobufjs/float" "^1.0.2"
- "@protobufjs/inquire" "^1.1.0"
- "@protobufjs/path" "^1.1.2"
- "@protobufjs/pool" "^1.1.0"
- "@protobufjs/utf8" "^1.1.0"
- "@types/long" "^3.0.32"
- "@types/node" "^8.9.4"
- long "^4.0.0"
-
-pseudomap@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-
-public-encrypt@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994"
- dependencies:
- bn.js "^4.1.0"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- parse-asn1 "^5.0.0"
- randombytes "^2.0.1"
-
-punycode@1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
-
-punycode@^1.2.4:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-
-q@^1.1.2:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
-
-query-string@^4.1.0:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
- dependencies:
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
-querystring-es3@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
-
-querystring@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
-
-quote-stream@^1.0.1, quote-stream@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2"
- dependencies:
- buffer-equal "0.0.1"
- minimist "^1.1.3"
- through2 "^2.0.0"
-
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80"
- dependencies:
- safe-buffer "^5.1.0"
-
-randomfill@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
- dependencies:
- randombytes "^2.0.5"
- safe-buffer "^5.1.0"
-
-range-parser@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
-
-rc@^1.1.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.7.tgz#8a10ca30d588d00464360372b890d06dacd02297"
- dependencies:
- deep-extend "^0.5.1"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
- 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.1.1"
- util-deprecate "~1.0.1"
-
-readdirp@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
- dependencies:
- graceful-fs "^4.1.2"
- minimatch "^3.0.2"
- readable-stream "^2.0.2"
- set-immediate-shim "^1.0.1"
-
-reduce-css-calc@^1.2.6:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
- dependencies:
- balanced-match "^0.4.2"
- math-expression-evaluator "^1.2.14"
- reduce-function-call "^1.0.1"
-
-reduce-function-call@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
- dependencies:
- balanced-match "^0.4.2"
-
-regenerate@^1.2.1:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
-
-regenerator-runtime@^0.10.5:
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
-
-regenerator-runtime@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
-
-regenerator-transform@^0.10.0:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
- dependencies:
- babel-runtime "^6.18.0"
- babel-types "^6.19.0"
- private "^0.1.6"
-
-regex-not@^1.0.0, regex-not@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
- dependencies:
- extend-shallow "^3.0.2"
- safe-regex "^1.1.0"
-
-regexpu-core@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
- dependencies:
- regenerate "^1.2.1"
- regjsgen "^0.2.0"
- regjsparser "^0.1.4"
-
-regjsgen@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
-
-regjsparser@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
- dependencies:
- jsesc "~0.5.0"
-
-remove-trailing-separator@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
-
-repeat-element@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
-
-repeat-string@^1.5.2, repeat-string@^1.6.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
-
-repeating@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
- dependencies:
- is-finite "^1.0.0"
-
-requizzle@~0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde"
- dependencies:
- underscore "~1.6.0"
-
-resolve-url@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
-
-resolve@^1.1.5, resolve@^1.3.2, resolve@^1.4.0:
- version "1.7.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
- dependencies:
- path-parse "^1.0.5"
-
-ret@~0.1.10:
- version "0.1.15"
- resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
-
-right-align@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
- dependencies:
- align-text "^0.1.1"
-
-rimraf@^2.6.1:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
- dependencies:
- glob "^7.0.5"
-
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
-
-safe-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
- dependencies:
- ret "~0.1.10"
-
-"safer-buffer@>= 2.1.2 < 3":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
-
-safer-eval@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/safer-eval/-/safer-eval-1.2.3.tgz#73ba74a34bc8a07d6a44135c815fd18a8eebe7a0"
- dependencies:
- clones "^1.1.0"
-
-sax@^1.2.4, sax@~1.2.1, sax@~1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
-
-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"
-
-send@0.16.2:
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
- dependencies:
- debug "2.6.9"
- depd "~1.1.2"
- destroy "~1.0.4"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "~1.6.2"
- mime "1.4.1"
- ms "2.0.0"
- on-finished "~2.3.0"
- range-parser "~1.2.0"
- statuses "~1.4.0"
-
-serialize-to-js@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/serialize-to-js/-/serialize-to-js-1.2.0.tgz#5887ee3b966158295207a6ed6fc1a3a8a07c55b6"
- dependencies:
- js-beautify "^1.7.5"
- safer-eval "^1.2.3"
-
-serve-static@^1.12.4:
- version "1.13.2"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.2"
- send "0.16.2"
-
-set-blocking@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-
-set-immediate-shim@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
-
-set-value@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.1"
- to-object-path "^0.3.0"
-
-set-value@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.3"
- split-string "^3.0.1"
-
-setimmediate@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
-
-setprototypeof@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
-
-sha.js@^2.4.0, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-shallow-copy@~0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-
-sigmund@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
-
-signal-exit@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
-
-slash@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
-
-snapdragon-node@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
- dependencies:
- define-property "^1.0.0"
- isobject "^3.0.0"
- snapdragon-util "^3.0.1"
-
-snapdragon-util@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
- dependencies:
- kind-of "^3.2.0"
-
-snapdragon@^0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
- dependencies:
- base "^0.11.1"
- debug "^2.2.0"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- map-cache "^0.2.2"
- source-map "^0.5.6"
- source-map-resolve "^0.5.0"
- use "^3.1.0"
-
-sort-keys@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
- dependencies:
- is-plain-obj "^1.0.0"
-
-source-map-resolve@^0.5.0:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
- dependencies:
- atob "^2.1.1"
- decode-uri-component "^0.2.0"
- resolve-url "^0.2.1"
- source-map-url "^0.4.0"
- urix "^0.1.0"
-
-source-map-support@^0.4.15:
- version "0.4.18"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
- dependencies:
- source-map "^0.5.6"
-
-source-map-url@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
-
-source-map@0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.0.tgz#36446016b0e5b626cf0315d6ff14b15bafb9dc10"
-
-source-map@0.6.1, source-map@^0.6.1, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-
-source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
-
-split-string@^3.0.1, split-string@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
- dependencies:
- extend-shallow "^3.0.0"
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-
-stable@~0.1.6:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
-
-static-eval@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.0.tgz#0e821f8926847def7b4b50cda5d55c04a9b13864"
- dependencies:
- escodegen "^1.8.1"
-
-static-extend@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
- dependencies:
- define-property "^0.2.5"
- object-copy "^0.1.0"
-
-static-module@^2.2.0:
- version "2.2.5"
- resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.2.5.tgz#bd40abceae33da6b7afb84a0e4329ff8852bfbbf"
- dependencies:
- concat-stream "~1.6.0"
- convert-source-map "^1.5.1"
- duplexer2 "~0.1.4"
- escodegen "~1.9.0"
- falafel "^2.1.0"
- has "^1.0.1"
- magic-string "^0.22.4"
- merge-source-map "1.0.4"
- object-inspect "~1.4.0"
- quote-stream "~1.0.2"
- readable-stream "~2.3.3"
- shallow-copy "~0.0.1"
- static-eval "^2.0.0"
- through2 "~2.0.3"
-
-"statuses@>= 1.4.0 < 2":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
-
-statuses@~1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
-
-stream-browserify@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
- dependencies:
- inherits "~2.0.1"
- readable-stream "^2.0.2"
-
-stream-http@^2.7.2:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87"
- dependencies:
- builtin-status-codes "^3.0.0"
- inherits "^2.0.1"
- readable-stream "^2.3.6"
- to-arraybuffer "^1.0.0"
- xtend "^4.0.0"
-
-strict-uri-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
-
-string-width@^1.0.1, string-width@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-string_decoder@^1.0.0, string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- dependencies:
- safe-buffer "~5.1.0"
-
-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:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- dependencies:
- ansi-regex "^3.0.0"
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-
-supports-color@^3.2.3:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
- dependencies:
- has-flag "^1.0.0"
-
-supports-color@^5.3.0, supports-color@^5.4.0:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
- dependencies:
- has-flag "^3.0.0"
-
-svgo@^0.7.0:
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
- dependencies:
- coa "~1.0.1"
- colors "~1.1.2"
- csso "~2.3.1"
- js-yaml "~3.7.0"
- mkdirp "~0.5.1"
- sax "~1.2.1"
- whet.extend "~0.9.9"
-
-svgo@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.0.5.tgz#7040364c062a0538abacff4401cea6a26a7a389a"
- dependencies:
- coa "~2.0.1"
- colors "~1.1.2"
- css-select "~1.3.0-rc0"
- css-select-base-adapter "~0.1.0"
- css-tree "1.0.0-alpha25"
- css-url-regex "^1.1.0"
- csso "^3.5.0"
- js-yaml "~3.10.0"
- mkdirp "~0.5.1"
- object.values "^1.0.4"
- sax "~1.2.4"
- stable "~0.1.6"
- unquote "~1.1.1"
- util.promisify "~1.0.0"
-
-taffydb@2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268"
-
-tar@^4:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462"
- dependencies:
- chownr "^1.0.1"
- fs-minipass "^1.2.5"
- minipass "^2.2.4"
- minizlib "^1.1.0"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.2"
-
-text-encoding@^0.6.4:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
-
-through2@^2.0.0, through2@~2.0.3:
- 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"
-
-timers-browserify@^2.0.4:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
- dependencies:
- setimmediate "^1.0.4"
-
-tiny-inflate@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7"
-
-tmp@0.0.33:
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
- dependencies:
- os-tmpdir "~1.0.2"
-
-to-arraybuffer@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
-
-to-fast-properties@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
-
-to-object-path@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
- dependencies:
- kind-of "^3.0.2"
-
-to-regex-range@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
- dependencies:
- is-number "^3.0.0"
- repeat-string "^1.6.1"
-
-to-regex@^3.0.1, to-regex@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
- dependencies:
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- regex-not "^1.0.2"
- safe-regex "^1.1.0"
-
-toml@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.3.tgz#8d683d729577cb286231dfc7a8affe58d31728fb"
-
-tomlify-j0.4@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz#99414d45268c3a3b8bf38be82145b7bba34b7473"
-
-trim-right@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-
-tslib@^1.8.0, tslib@^1.8.1:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8"
-
-tslint@5.10.0:
- version "5.10.0"
- resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.10.0.tgz#11e26bccb88afa02dd0d9956cae3d4540b5f54c3"
- dependencies:
- babel-code-frame "^6.22.0"
- builtin-modules "^1.1.1"
- chalk "^2.3.0"
- commander "^2.12.1"
- diff "^3.2.0"
- glob "^7.1.1"
- js-yaml "^3.7.0"
- minimatch "^3.0.4"
- resolve "^1.3.2"
- semver "^5.3.0"
- tslib "^1.8.0"
- tsutils "^2.12.1"
-
-tsutils@^2.12.1:
- version "2.27.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.27.0.tgz#9efb252b188eaa0ca3ade41dc410d6ce7eaab816"
- dependencies:
- tslib "^1.8.1"
-
-tty-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
-
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- dependencies:
- prelude-ls "~1.1.2"
-
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-
-typescript@^2.8.3:
- version "2.8.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.3.tgz#5d817f9b6f31bb871835f4edf0089f21abe6c170"
-
-uglify-es@^3.2.1, uglify-es@^3.3.9:
- version "3.3.9"
- resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
- dependencies:
- commander "~2.13.0"
- source-map "~0.6.1"
-
-uglify-js@^2.8.29:
- version "2.8.29"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
- dependencies:
- source-map "~0.5.1"
- yargs "~3.10.0"
- optionalDependencies:
- uglify-to-browserify "~1.0.0"
-
-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"
-
-underscore-contrib@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7"
- dependencies:
- underscore "1.6.0"
-
-underscore@1.6.0, underscore@~1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8"
-
-underscore@~1.8.3:
- version "1.8.3"
- resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
-
-unicode-trie@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085"
- dependencies:
- pako "^0.2.5"
- tiny-inflate "^1.0.0"
-
-union-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
- dependencies:
- arr-union "^3.1.0"
- get-value "^2.0.6"
- is-extendable "^0.1.1"
- set-value "^0.4.3"
-
-uniq@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
-
-uniqid@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
- dependencies:
- macaddress "^0.2.8"
-
-uniqs@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-
-unquote@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
-
-unset-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
- dependencies:
- has-value "^0.3.1"
- isobject "^3.0.0"
-
-upath@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.5.tgz#02cab9ecebe95bbec6d5fc2566325725ab6d1a73"
-
-urix@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
-
-url@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
- dependencies:
- punycode "1.3.2"
- querystring "0.2.0"
-
-use@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544"
- dependencies:
- kind-of "^6.0.2"
-
-util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-
-util.promisify@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
- dependencies:
- define-properties "^1.1.2"
- object.getownpropertydescriptors "^2.0.3"
-
-util@0.10.3, util@^0.10.3:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
- dependencies:
- inherits "2.0.1"
-
-v8-compile-cache@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz#526492e35fc616864284700b7043e01baee09f0a"
-
-vendors@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801"
-
-vlq@^0.2.2:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
-
-vm-browserify@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
- dependencies:
- indexof "0.0.1"
-
-whet.extend@~0.9.9:
- version "0.9.9"
- resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
-
-which@^1.2.9:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
- dependencies:
- isexe "^2.0.0"
-
-wide-align@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
- dependencies:
- string-width "^1.0.2"
-
-window-size@0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
-
-wordwrap@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
-
-wordwrap@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-
-ws@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/ws/-/ws-5.1.1.tgz#1d43704689711ac1942fd2f283e38f825c4b8b95"
- dependencies:
- async-limiter "~1.0.0"
-
-xmlcreate@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-1.0.2.tgz#fa6bf762a60a413fb3dd8f4b03c5b269238d308f"
-
-xtend@^4.0.0, xtend@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
-
-yallist@^3.0.0, yallist@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
-
-yargs@~3.10.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
- dependencies:
- camelcase "^1.0.2"
- cliui "^2.1.0"
- decamelize "^1.0.0"
- window-size "0.1.0"