diff --git a/BUILD.bazel b/BUILD.bazel
index 294e14c9d4..d222cc31a8 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -50,14 +50,12 @@ bzl_library(
"//internal/linker:bzl",
"//internal/npm_package:bzl",
"//internal/providers:bzl",
- "//internal/rollup:bzl",
"//toolchains/node:bzl",
],
)
# Empty node_modules filegroup used for the default
# value of the node_modules attribute in nodejs_binary
-# and rollup_bundle
filegroup(
name = "node_modules_none",
srcs = [],
@@ -77,10 +75,23 @@ npm_package(
replace_with_version = "",
replacements = COMMON_REPLACEMENTS,
deps = [
+ "//internal:package_contents",
+ "//internal/bazel_integration_test:package_contents",
+ "//internal/common:package_contents",
+ "//internal/copy_repository:package_contents",
+ "//internal/golden_file_test:package_contents",
+ "//internal/jasmine_node_test:package_contents",
+ "//internal/js_library:package_contents",
+ "//internal/linker:package_contents",
+ "//internal/node:package_contents",
+ "//internal/npm_install:package_contents",
+ "//internal/npm_package:package_contents",
+ "//internal/providers:package_contents",
+ "//internal/web_package:package_contents",
"//third_party/github.com/bazelbuild/bazel-skylib:package_contents",
"//third_party/github.com/buffer-from:package_contents",
- "//third_party/github.com/inikulin/parse5:package_contents",
"//third_party/github.com/gjtorikian/isBinaryFile:package_contents",
+ "//third_party/github.com/inikulin/parse5:package_contents",
"//third_party/github.com/juanjoDiaz/removeNPMAbsolutePaths:package_contents",
"//third_party/github.com/source-map:package_contents",
"//third_party/github.com/source-map-support:package_contents",
@@ -91,21 +102,6 @@ npm_package(
"//third_party/npm/node_modules/browserify:package_contents",
"//third_party/npm/node_modules/ieee754:package_contents",
"//third_party/npm/node_modules/named-amd:package_contents",
- "//internal:package_contents",
- "//internal/bazel_integration_test:package_contents",
- "//internal/golden_file_test:package_contents",
- "//internal/common:package_contents",
- "//internal/copy_repository:package_contents",
- "//internal/jasmine_node_test:package_contents",
- "//internal/js_library:package_contents",
- "//internal/linker:package_contents",
- # TODO(alexeagle): distribute separately as @bazel/rollup
- "//internal/rollup:package_contents",
- "//internal/node:package_contents",
- "//internal/npm_install:package_contents",
- "//internal/npm_package:package_contents",
- "//internal/web_package:package_contents",
- "//internal/providers:package_contents",
"//toolchains/node:package_contents",
],
)
diff --git a/defs.bzl b/defs.bzl
index d8db0c1987..eead5ed3e6 100644
--- a/defs.bzl
+++ b/defs.bzl
@@ -29,7 +29,6 @@ load("//internal/node:node_repositories.bzl", _node_repositories = "node_reposit
load("//internal/node:npm_package_bin.bzl", _npm_bin = "npm_package_bin")
load("//internal/npm_install:npm_install.bzl", _npm_install = "npm_install", _yarn_install = "yarn_install")
load("//internal/npm_package:npm_package.bzl", _npm_package = "npm_package")
-load("//internal/rollup:rollup_bundle.bzl", _rollup_bundle = "rollup_bundle")
load(":index.bzl", "VERSION")
check_bazel_version = _check_bazel_version
@@ -37,7 +36,6 @@ nodejs_binary = _nodejs_binary
nodejs_test = _nodejs_test
node_repositories = _node_repositories
jasmine_node_test = _jasmine_node_test
-rollup_bundle = _rollup_bundle
npm_package = _npm_package
npm_package_bin = _npm_bin
# ANY RULES ADDED HERE SHOULD BE DOCUMENTED, see index.for_docs.bzl
diff --git a/index.bzl b/index.bzl
index 34ea19f719..823ba63444 100644
--- a/index.bzl
+++ b/index.bzl
@@ -29,14 +29,12 @@ load("//internal/node:node_repositories.bzl", _node_repositories = "node_reposit
load("//internal/node:npm_package_bin.bzl", _npm_bin = "npm_package_bin")
load("//internal/npm_install:npm_install.bzl", _npm_install = "npm_install", _yarn_install = "yarn_install")
load("//internal/npm_package:npm_package.bzl", _npm_package = "npm_package")
-load("//internal/rollup:rollup_bundle.bzl", _rollup_bundle = "rollup_bundle")
check_bazel_version = _check_bazel_version
nodejs_binary = _nodejs_binary
nodejs_test = _nodejs_test
node_repositories = _node_repositories
jasmine_node_test = _jasmine_node_test
-rollup_bundle = _rollup_bundle
npm_package = _npm_package
npm_package_bin = _npm_bin
# ANY RULES ADDED HERE SHOULD BE DOCUMENTED, see index.for_docs.bzl
diff --git a/index.for_docs.bzl b/index.for_docs.bzl
index cdfdccd233..ab99d95e50 100644
--- a/index.for_docs.bzl
+++ b/index.for_docs.bzl
@@ -22,13 +22,11 @@ load("//internal/node:node_repositories.bzl", _node_repositories = "node_reposit
load("//internal/node:npm_package_bin.bzl", _npm_bin = "npm_package_bin")
load("//internal/npm_install:npm_install.bzl", _npm_install = "npm_install", _yarn_install = "yarn_install")
load("//internal/npm_package:npm_package.bzl", _npm_package = "npm_package")
-load("//internal/rollup:rollup_bundle.bzl", _rollup_bundle = "rollup_bundle")
check_bazel_version = _check_bazel_version
nodejs_binary = _nodejs_binary
nodejs_test = _nodejs_test
node_repositories = _node_repositories
-rollup_bundle = _rollup_bundle
npm_package = _npm_package
npm_install = _npm_install
yarn_install = _yarn_install
diff --git a/internal/common/collect_es6_sources.bzl b/internal/common/collect_es6_sources.bzl
deleted file mode 100644
index d8af7243db..0000000000
--- a/internal/common/collect_es6_sources.bzl
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2017 The Bazel Authors. 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.
-
-"""Used by production rules to expose a file tree of only es6 files.
-
-These are expected to be used by the production toolchain, such as bundlers.
-The tree will be flattened, such that all the es6 files are under a single tree.
-"""
-
-load("@build_bazel_rules_nodejs//:providers.bzl", "JSEcmaScriptModuleInfo")
-
-# TODO(gregmagolan): Only the legacy rollup_bundle depends on this as it still uses
-# re-rooting. This can be removed along with the legacy rollup_bundle.
-def collect_es6_sources(ctx):
- """Returns a file tree containing only production files.
-
- Args:
- ctx: ctx.
-
- Returns:
- A file tree containing only production files.
- """
-
- non_rerooted_files = [d for d in ctx.files.deps if d.is_source]
- if hasattr(ctx.attr, "srcs"):
- non_rerooted_files += ctx.files.srcs
-
- # Some rules such as rollup_bundle specify an entry_point which should
- # be collected if the file is a js file.
- if hasattr(ctx.attr, "entry_point"):
- non_rerooted_files += [s for s in ctx.files.entry_point if s.extension == "js"]
-
- for dep in ctx.attr.deps:
- if JSEcmaScriptModuleInfo in dep:
- non_rerooted_files += dep[JSEcmaScriptModuleInfo].sources.to_list()
-
- rerooted_files = []
- for file in non_rerooted_files:
- path = file.short_path
- if (path.startswith("../")):
- path = "external/" + path[3:]
-
- rerooted_file = ctx.actions.declare_file(
- "%s.es6/%s" % (
- ctx.label.name,
- path.replace(".mjs", ".js"),
- ),
- )
-
- # Cheap way to create an action that copies a file
- # TODO(alexeagle): discuss with Bazel team how we can do something like
- # runfiles to create a re-rooted tree. This has performance implications.
- ctx.actions.expand_template(
- output = rerooted_file,
- template = file,
- substitutions = {},
- )
- rerooted_files += [rerooted_file]
-
- #TODO(mrmeku): we should include the files and closure_js_library contents too
- return depset(direct = rerooted_files)
diff --git a/internal/node/node_repositories.bzl b/internal/node/node_repositories.bzl
index 39d1c46933..901484e0c2 100644
--- a/internal/node/node_repositories.bzl
+++ b/internal/node/node_repositories.bzl
@@ -21,7 +21,6 @@ See https://docs.bazel.build/versions/master/skylark/repository_rules.html
load("//internal/common:check_bazel_version.bzl", "check_bazel_version")
load("//internal/common:check_version.bzl", "check_version")
load("//internal/common:os_name.bzl", "OS_ARCH_NAMES", "is_windows_os", "os_name")
-load("//internal/npm_install:npm_install.bzl", "yarn_install")
load("//third_party/github.com/bazelbuild/bazel-skylib:lib/paths.bzl", "paths")
load("//toolchains/node:node_toolchain_configure.bzl", "node_toolchain_configure")
@@ -703,18 +702,6 @@ def node_repositories(**kwargs):
vendored_node = vendored_node,
)
- _maybe(
- yarn_install,
- name = "build_bazel_rules_nodejs_rollup_deps",
- package_json = "@build_bazel_rules_nodejs//internal/rollup:package.json",
- yarn_lock = "@build_bazel_rules_nodejs//internal/rollup:yarn.lock",
- data = ["@build_bazel_rules_nodejs//internal/rollup:postinstall-patches.js"],
- # Do not symlink node_modules as when used in downstream repos we should not create
- # node_modules folders in the @build_bazel_rules_nodejs external repository. This is
- # not supported by managed_directories.
- symlink_node_modules = False,
- )
-
def _maybe(repo_rule, name, **kwargs):
if name not in native.existing_rules():
repo_rule(name = name, **kwargs)
diff --git a/internal/rollup/BUILD.bazel b/internal/rollup/BUILD.bazel
deleted file mode 100644
index e988c406b2..0000000000
--- a/internal/rollup/BUILD.bazel
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2017 The Bazel Authors. 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.
-
-load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
-load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
-
-licenses(["notice"]) # Apache 2.0
-
-package(default_visibility = ["//internal:__subpackages__"])
-
-exports_files([
- "no_explore.html",
- "rollup.config.js",
- "system.config.js",
- # Exported to be consumed for generating skydoc.
- "rollup_bundle.bzl",
-])
-
-bzl_library(
- name = "bzl",
- srcs = glob(["*.bzl"]),
- visibility = ["//visibility:public"],
-)
-
-nodejs_binary(
- name = "rollup",
- # Allow --define=ROLLUP_BUNDLE_FIXED_CHUNK_NAMES=1 to be passed as
- # process.env so we can give predictable chunk names in CI
- configuration_env_vars = ["ROLLUP_BUNDLE_FIXED_CHUNK_NAMES"],
- entry_point = "@build_bazel_rules_nodejs_rollup_deps//:node_modules/rollup/bin/rollup",
- install_source_map_support = False,
- node_modules = "@build_bazel_rules_nodejs_rollup_deps//:node_modules",
- visibility = ["//visibility:public"],
-)
-
-nodejs_binary(
- name = "tsc",
- entry_point = "@build_bazel_rules_nodejs_rollup_deps//:node_modules/typescript/bin/tsc",
- install_source_map_support = False,
- node_modules = "@build_bazel_rules_nodejs_rollup_deps//:node_modules",
- visibility = ["//visibility:public"],
-)
-
-nodejs_binary(
- name = "terser",
- entry_point = "@build_bazel_rules_nodejs_rollup_deps//:node_modules/terser/bin/uglifyjs",
- install_source_map_support = False,
- node_modules = "@build_bazel_rules_nodejs_rollup_deps//:node_modules",
- visibility = ["//visibility:public"],
-)
-
-nodejs_binary(
- name = "terser-wrapped",
- data = [":terser-wrapped.js"],
- entry_point = ":terser-wrapped.js",
- install_source_map_support = False,
- node_modules = "@build_bazel_rules_nodejs_rollup_deps//:node_modules",
- visibility = ["//visibility:public"],
-)
-
-nodejs_binary(
- name = "tsc-directory",
- data = [":tsc-directory.js"],
- entry_point = ":tsc-directory.js",
- install_source_map_support = False,
- node_modules = "@build_bazel_rules_nodejs_rollup_deps//:node_modules",
- visibility = ["//visibility:public"],
-)
-
-nodejs_binary(
- name = "source-map-explorer",
- entry_point = "@build_bazel_rules_nodejs_rollup_deps//:node_modules/source-map-explorer/index.js",
- install_source_map_support = False,
- node_modules = "@build_bazel_rules_nodejs_rollup_deps//:node_modules",
- visibility = ["//visibility:public"],
-)
-
-# BEGIN-INTERNAL
-# buildozer: disable=load-on-top
-# buildozer: disable=out-of-order-load
-load("@npm_bazel_jasmine//:index.from_src.bzl", "jasmine_node_test")
-
-jasmine_node_test(
- name = "test",
- srcs = glob(["*.spec.js"]),
- data = glob(
- ["*.js"],
- exclude = ["*.spec.js"],
- ),
- deps = [
- "@npm//is-builtin-module",
- "@npm//rollup",
- "@npm//rollup-plugin-amd",
- "@npm//rollup-plugin-commonjs",
- "@npm//rollup-plugin-json",
- "@npm//rollup-plugin-node-resolve",
- "@npm//rollup-plugin-sourcemaps",
- ],
-)
-
-# END-INTERNAL
-filegroup(
- name = "package_contents",
- srcs = glob(
- ["*"],
- exclude = ["*.spec.js"],
- ),
- visibility = ["//:__pkg__"],
-)
diff --git a/internal/rollup/no_explore.html b/internal/rollup/no_explore.html
deleted file mode 100644
index 116f42461e..0000000000
--- a/internal/rollup/no_explore.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- No source map explorer output for code-split bundles
-
diff --git a/internal/rollup/package.json b/internal/rollup/package.json
deleted file mode 100644
index 7eaded88ab..0000000000
--- a/internal/rollup/package.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "description": "runtime dependencies for rollup_bundle",
- "devDependencies": {
- "is-builtin-module": "2.0.0",
- "minimist": "1.2.0",
- "rollup": "1.3.1",
- "rollup-plugin-amd": "^3.0.0",
- "rollup-plugin-commonjs": "^9.2.1",
- "rollup-plugin-json": "4.0.0",
- "rollup-plugin-node-resolve": "~4.2.0",
- "rollup-plugin-sourcemaps": "^0.4.2",
- "shelljs": "0.8.3",
- "source-map-explorer": "^1.7.0",
- "terser": "^3.16.1",
- "tmp": "0.0.33",
- "typescript": "3.3.3333"
- },
- "scripts": {
- "postinstall": "node --preserve-symlinks --preserve-symlinks-main ./internal/rollup/postinstall-patches.js"
- }
-}
diff --git a/internal/rollup/postinstall-patches.js b/internal/rollup/postinstall-patches.js
deleted file mode 100644
index 3e0720e97e..0000000000
--- a/internal/rollup/postinstall-patches.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * @license
- * Copyright 2017 The Bazel Authors. 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.
- */
-
-try {
- require.resolve('shelljs');
-} catch (e) {
- // We are in an bazel managed external node_modules repository
- // and the resolve has failed because node did not preserve the symlink
- // when loading the script.
- // This can be fixed using the --preserve-symlinks-main flag which
- // is introduced in node 10.2.0
- throw new Error(
- `Running postinstall-patches.js script in an external repository requires --preserve-symlinks-main node flag introduced in node 10.2.0. ` +
- `Current node version is ${process.version}. Node called with '${process.argv.join(' ')}'.`);
-}
-
-const {set, cd, sed, rm} = require('shelljs');
-const path = require('path');
-
-// fail on first error
-set('-e');
-// print commands as being executed
-set('-v');
-// jump to project root
-cd(path.join(__dirname, '../..'));
-
-// Part of work-around for Angular ngfactory issue https://github.com/angular/angular/issues/29491.
-console.log(
- '\n# patch: @buxlabs/amd-to-es6 to generate namespace imports instead of default imports');
-sed('-i', 'ImportDefaultSpecifier', 'ImportNamespaceSpecifier',
- 'node_modules/@buxlabs/amd-to-es6/src/lib/getImportDeclaration.js');
diff --git a/internal/rollup/rollup.config.js b/internal/rollup/rollup.config.js
deleted file mode 100644
index 5e4e0aa10a..0000000000
--- a/internal/rollup/rollup.config.js
+++ /dev/null
@@ -1,201 +0,0 @@
-// Rollup configuration
-// GENERATED BY Bazel
-
-const nodeResolve = require('rollup-plugin-node-resolve');
-const sourcemaps = require('rollup-plugin-sourcemaps');
-const amd = require('rollup-plugin-amd');
-const commonjs = require('rollup-plugin-commonjs');
-const rollupJson = require('rollup-plugin-json');
-const isBuiltinModule = require('is-builtin-module');
-const path = require('path');
-const fs = require('fs');
-
-function log_verbose(...m) {
- // This is a template file so we use __filename to output the actual filename
- if (!!process.env['VERBOSE_LOGS']) console.error(`[${path.basename(__filename)}]`, ...m);
-}
-
-const workspaceName = 'TMPL_workspace_name';
-const rootDir = 'TMPL_rootDir';
-const bannerFile = TMPL_banner_file;
-const stampData = TMPL_stamp_data;
-const moduleMappings = TMPL_module_mappings;
-const nodeModulesRoot = 'TMPL_node_modules_root';
-const isDefaultNodeModules = TMPL_is_default_node_modules;
-
-log_verbose(`running with
- cwd: ${process.cwd()}
- workspaceName: ${workspaceName}
- rootDir: ${rootDir}
- bannerFile: ${bannerFile}
- stampData: ${stampData}
- moduleMappings: ${JSON.stringify(moduleMappings)}
- nodeModulesRoot: ${nodeModulesRoot}
- isDefaultNodeModules: ${isDefaultNodeModules}
-`);
-
-function fileExists(filePath) {
- try {
- return fs.statSync(filePath).isFile();
- } catch (e) {
- return false;
- }
-}
-
-// This resolver mimics the TypeScript Path Mapping feature, which lets us resolve
-// modules based on a mapping of short names to paths.
-function resolveBazel(importee, importer, baseDir = process.cwd(), resolve = require.resolve, root = rootDir) {
- log_verbose(`resolving '${importee}' from ${importer}`);
-
- function resolveInRootDir(importee) {
- var candidate = path.join(baseDir, root, importee);
- log_verbose(`try to resolve '${importee}' at '${candidate}'`);
- try {
- var result = resolve(candidate);
- return result;
- } catch (e) {
- return undefined;
- }
- }
-
- // Since mappings are always in POSIX paths, when comparing the importee to mappings
- // we should normalize the importee.
- // Having it normalized is also useful to determine relative paths.
- const normalizedImportee = importee.replace(/\\/g, '/');
-
- // If import is fully qualified then resolve it directly
- if (fileExists(importee)) {
- log_verbose(`resolved fully qualified '${importee}'`);
- return importee;
- }
-
- // process.cwd() is the execroot and ends up looking something like
- // `.../2c2a834fcea131eff2d962ffe20e1c87/bazel-sandbox/872535243457386053/execroot/`
- // from that path to the es6 output is
- // `//.es6` from there, sources
- // from the user's workspace are under `` and sources from external
- // workspaces are under `external//`
- var resolved;
- if (normalizedImportee.startsWith('./') || normalizedImportee.startsWith('../')) {
- // relative import
- if (importer) {
- let importerRootRelative = path.dirname(importer);
- const relative = path.relative(path.join(baseDir, root), importerRootRelative);
- if (!relative.startsWith('.')) {
- importerRootRelative = relative;
- }
- resolved = path.join(importerRootRelative, importee);
- } else {
- throw new Error('cannot resolve relative paths without an importer');
- }
- if (resolved) resolved = resolveInRootDir(resolved);
- }
-
- if (!resolved) {
- // possible workspace import or external import if importee matches a module
- // mapping
- for (const k in moduleMappings) {
- if (normalizedImportee == k || normalizedImportee.startsWith(k + '/')) {
- // replace the root module name on a mappings match
- // note that the module_root attribute is intended to be used for type-checking
- // so it uses eg. "index.d.ts". At runtime, we have only index.js, so we strip the
- // .d.ts suffix and let node require.resolve do its thing.
- var v = moduleMappings[k].replace(/\.d\.ts$/, '');
- const mappedImportee = path.join(v, normalizedImportee.slice(k.length + 1));
- log_verbose(`module mapped '${importee}' to '${mappedImportee}'`);
- resolved = resolveInRootDir(mappedImportee);
- if (resolved) break;
- }
- }
- }
-
- if (!resolved) {
- // workspace import
- const userWorkspacePath = path.relative(workspaceName, importee);
- resolved = resolveInRootDir(userWorkspacePath.startsWith('..') ? importee : userWorkspacePath);
- }
-
- if (resolved) {
- log_verbose(`resolved to ${resolved}`);
- } else {
- log_verbose(`allowing rollup to resolve '${importee}' with node module resolution`);
- }
-
- return resolved;
-}
-
-let banner = '';
-if (bannerFile) {
- banner = fs.readFileSync(bannerFile, {encoding: 'utf-8'});
- if (stampData) {
- const versionTag = fs.readFileSync(stampData, {encoding: 'utf-8'})
- .split('\n')
- .find(s => s.startsWith('BUILD_SCM_VERSION'));
- // Don't assume BUILD_SCM_VERSION exists
- if (versionTag) {
- const version = versionTag.split(' ')[1].trim();
- banner = banner.replace(/0.0.0-PLACEHOLDER/, version);
- }
- }
-}
-
-function notResolved(importee, importer) {
- if (isBuiltinModule(importee)) {
- return null;
- }
- throw new Error(`Could not resolve import '${importee}' from '${importer}'`);
-}
-
-const inputs = [TMPL_inputs];
-const multipleInputs = inputs.length > 1;
-
-const config = {
- resolveBazel,
- onwarn: (warning) => {
- // Always fail on warnings, assuming we don't know which are harmless.
- // We can add exclusions here based on warning.code, if we discover some
- // types of warning should always be ignored under bazel.
- throw new Error(warning.message);
- },
- plugins: [TMPL_additional_plugins].concat([
- {
- name: 'resolveBazel',
- resolveId: resolveBazel,
- },
- nodeResolve({
- mainFields: ['browser', 'es2015', 'module', 'jsnext:main', 'main'],
- jail: process.cwd(),
- customResolveOptions: {moduleDirectory: nodeModulesRoot}
- }),
- amd({
- // Work-around for Angular ngfactory issue https://github.com/angular/angular/issues/29491.
- // Filter to only convert ngfactory files since any UMD files that may be bundled will break
- // with the amd plugin.
- include: /\.ngfactory\.js$/i,
- }),
- commonjs(), {
- name: 'notResolved',
- resolveId: notResolved,
- },
- sourcemaps(), rollupJson({preferConst: true})
- ]),
- output: {
- banner,
- format: 'TMPL_output_format',
- },
- preserveSymlinks: true,
-}
-
-if (multipleInputs) {
- config.input = inputs;
-}
-else {
- config.input = inputs[0];
- config.output['name'] = 'TMPL_global_name';
-}
-
-if (process.env.ROLLUP_BUNDLE_FIXED_CHUNK_NAMES) {
- config.output.chunkFileNames = '[name].js';
-}
-
-module.exports = config;
diff --git a/internal/rollup/rollup.config.spec.js b/internal/rollup/rollup.config.spec.js
deleted file mode 100644
index 3493a8314a..0000000000
--- a/internal/rollup/rollup.config.spec.js
+++ /dev/null
@@ -1,84 +0,0 @@
-const {sep, join} = require('path');
-
-TMPL_module_mappings = {
- 'foo': 'path/to/foo_lib',
- 'other': 'external/other_wksp/path/to/other_lib',
- '@bar/baz': 'path/to/bar/baz_lib',
-};
-
-const rootDir = 'bazel-bin/path/to/a.esm5';
-TMPL_additional_plugins = [];
-TMPL_banner_file = '';
-TMPL_stamp_data = '';
-TMPL_inputs = '';
-TMPL_is_default_node_modules = false;
-
-const baseDir = '/root/base';
-const files = [
- '/root/base/bazel-bin/path/to/a.esm5/path/to/foo_lib/bar',
- '/root/base/bazel-bin/path/to/a.esm5/external/other_wksp/path/to/other_lib/thing',
- '/root/base/bazel-bin/path/to/a.esm5/path/to/bar/baz_lib/foo',
- '/root/base/bazel-bin/path/to/a.esm5/external/some_wksp/path/to/a/public_api.js',
- '/root/base/bazel-bin/path/to/a.esm5/external/some_wksp/path/to/a/index.js',
-];
-const resolve =
- (p) => {
- p = p.replace(/\\/g, '/');
- if (files.includes(p)) return p;
- if (files.includes(p + '.js')) return p + '.js';
- if (files.includes(p + '/index.js')) return p + '/index.js';
- throw new Error('resolve failed');
- }
-
-const rollupConfig = require('./rollup.config');
-
-function doResolve(importee, importer) {
- const resolved = rollupConfig.resolveBazel(importee, importer, baseDir, resolve, rootDir);
- if (resolved) {
- return resolved.replace(/\\/g, '/');
- } else {
- fail(`did not resolve path for import ${importee} (from ${importer})`);
- }
-}
-
-describe('rollup config', () => {
- it('should resolve relative imports', () => {
- expect(doResolve(
- `.${sep}a`,
- join(
- baseDir, 'bazel-bin', 'path', 'to', 'a.esm5', 'external', 'some_wksp', 'path',
- 'to', 'b')))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/external/some_wksp/path/to/a/index.js`);
- expect(doResolve(
- `..${sep}a`,
- join(
- baseDir, 'bazel-bin', 'path', 'to', 'a.esm5', 'external', 'some_wksp', 'path',
- 'to', 'b', 'sub')))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/external/some_wksp/path/to/a/index.js`);
- });
-
- it('should resolve relative imports from other root', () => {
- expect(doResolve(
- `.${sep}public_api`,
- join(
- baseDir, 'bazel-bin', 'path', 'to', 'a.esm5', 'external', 'some_wksp', 'path',
- 'to', 'a', 'index.js')))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/external/some_wksp/path/to/a/public_api.js`);
- });
-
- it('should find paths using module mapping', () => {
- expect(doResolve(`foo${sep}bar`))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/path/to/foo_lib/bar`);
- expect(doResolve(`other${sep}thing`))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/external/other_wksp/path/to/other_lib/thing`);
- expect(doResolve(`@bar${sep}baz${sep}foo`))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/path/to/bar/baz_lib/foo`);
- });
-
- it('should find paths in any root', () => {
- expect(doResolve('path/to/foo_lib/bar'))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/path/to/foo_lib/bar`);
- expect(doResolve('external/some_wksp/path/to/a'))
- .toEqual(`${baseDir}/bazel-bin/path/to/a.esm5/external/some_wksp/path/to/a/index.js`);
- })
-});
diff --git a/internal/rollup/rollup_bundle.bzl b/internal/rollup/rollup_bundle.bzl
deleted file mode 100644
index 1f32b08358..0000000000
--- a/internal/rollup/rollup_bundle.bzl
+++ /dev/null
@@ -1,867 +0,0 @@
-# Copyright 2017 The Bazel Authors. 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.
-
-"""Rollup bundling
-
-The versions of Rollup and terser are controlled by the Bazel toolchain.
-You do not need to install them into your project.
-"""
-
-load("@build_bazel_rules_nodejs//:providers.bzl", "NpmPackageInfo", "node_modules_aspect")
-load("//internal/common:collect_es6_sources.bzl", _collect_es2015_sources = "collect_es6_sources")
-load("//internal/common:module_mappings.bzl", "get_module_mappings")
-
-_ROLLUP_MODULE_MAPPINGS_ATTR = "rollup_module_mappings"
-
-# Avoid using non-normalized paths (workspace/../other_workspace/path)
-def _to_manifest_path(ctx, file):
- if file.short_path.startswith("../"):
- return file.short_path[3:]
- else:
- return ctx.workspace_name + "/" + file.short_path
-
-def _rollup_module_mappings_aspect_impl(target, ctx):
- mappings = get_module_mappings(target.label, ctx.rule.attr)
- return struct(rollup_module_mappings = mappings)
-
-rollup_module_mappings_aspect = aspect(
- _rollup_module_mappings_aspect_impl,
- attr_aspects = ["deps"],
-)
-
-def _trim_package_node_modules(package_name):
- # trim a package name down to its path prior to a node_modules
- # segment. 'foo/node_modules/bar' would become 'foo' and
- # 'node_modules/bar' would become ''
- segments = []
- for n in package_name.split("/"):
- if n == "node_modules":
- break
- segments += [n]
- return "/".join(segments)
-
-# This function is similar but slightly different than _compute_node_modules_root
-# in /internal/node/node.bzl. TODO(gregmagolan): consolidate these functions
-def _compute_node_modules_root(ctx):
- """Computes the node_modules root from the node_modules and deps attributes.
-
- Args:
- ctx: the skylark execution context
-
- Returns:
- The node_modules root as a string
- """
- node_modules_root = None
- if ctx.attr.node_modules:
- if NpmPackageInfo in ctx.attr.node_modules:
- node_modules_root = "/".join(["external", ctx.attr.node_modules[NpmPackageInfo].workspace, "node_modules"])
- elif ctx.files.node_modules:
- # ctx.files.node_modules is not an empty list
- node_modules_root = "/".join([f for f in [
- ctx.attr.node_modules.label.workspace_root,
- _trim_package_node_modules(ctx.attr.node_modules.label.package),
- "node_modules",
- ] if f])
- for d in ctx.attr.deps:
- if NpmPackageInfo in d:
- possible_root = "/".join(["external", d[NpmPackageInfo].workspace, "node_modules"])
- if not node_modules_root:
- node_modules_root = possible_root
- elif node_modules_root != possible_root:
- fail("All npm dependencies need to come from a single workspace. Found '%s' and '%s'." % (node_modules_root, possible_root))
- if not node_modules_root:
- # there are no fine grained deps and the node_modules attribute is an empty filegroup
- # but we still need a node_modules_root even if its empty
- node_modules_root = "/".join([f for f in [
- ctx.attr.node_modules.label.workspace_root,
- ctx.attr.node_modules.label.package,
- "node_modules",
- ] if f])
- return node_modules_root
-
-# Expand entry_point into runfiles and strip the file extension
-def _entry_point_path(ctx):
- return _to_manifest_path(ctx, ctx.file.entry_point)[:-(len(ctx.file.entry_point.extension) + 1)]
-
-def write_rollup_config(ctx, plugins = [], root_dir = None, filename = "_%s.rollup.conf.js", output_format = "iife", additional_entry_points = []):
- """Generate a rollup config file.
-
- This is also used by the ng_rollup_bundle and ng_package rules in @angular/bazel.
-
- Args:
- ctx: Bazel rule execution context
- plugins: extra plugins (defaults to [])
- See the ng_rollup_bundle in @angular/bazel for example of usage.
- root_dir: root directory for module resolution (defaults to None)
- filename: output filename pattern (defaults to `_%s.rollup.conf.js`)
- output_format: passed to rollup output.format option, e.g. "umd"
- additional_entry_points: additional entry points for code splitting
-
- Returns:
- The rollup config file. See https://rollupjs.org/guide/en#configuration-files
- """
- config = ctx.actions.declare_file(filename % ctx.label.name)
-
- # build_file_path includes the BUILD.bazel file, transform here to only include the dirname
- build_file_dirname = "/".join(ctx.build_file_path.split("/")[:-1])
-
- entry_points = [_entry_point_path(ctx)] + additional_entry_points
-
- mappings = dict()
- all_deps = ctx.attr.deps + ctx.attr.srcs
- for dep in all_deps:
- if hasattr(dep, _ROLLUP_MODULE_MAPPINGS_ATTR):
- for k, v in getattr(dep, _ROLLUP_MODULE_MAPPINGS_ATTR).items():
- if k in mappings and mappings[k] != v:
- fail(("duplicate module mapping at %s: %s maps to both %s and %s" %
- (dep.label, k, mappings[k], v)), "deps")
- mappings[k] = v
-
- if not root_dir:
- # This must be .es6 to match collect_es6_sources.bzl
- root_dir = "/".join([ctx.bin_dir.path, build_file_dirname, ctx.label.name + ".es6"])
-
- node_modules_root = _compute_node_modules_root(ctx)
- is_default_node_modules = False
- if node_modules_root == "node_modules" and ctx.attr.node_modules.label.package == "" and ctx.attr.node_modules.label.name == "node_modules_none":
- is_default_node_modules = True
-
- ctx.actions.expand_template(
- output = config,
- template = ctx.file._rollup_config_tmpl,
- substitutions = {
- "TMPL_additional_plugins": ",\n".join(plugins),
- "TMPL_banner_file": "\"%s\"" % ctx.file.license_banner.path if ctx.file.license_banner else "undefined",
- "TMPL_global_name": ctx.attr.global_name if ctx.attr.global_name else ctx.label.name,
- "TMPL_inputs": ",".join(["\"%s\"" % e for e in entry_points]),
- "TMPL_is_default_node_modules": "true" if is_default_node_modules else "false",
- "TMPL_module_mappings": str(mappings),
- "TMPL_node_modules_root": node_modules_root,
- "TMPL_output_format": output_format,
- "TMPL_rootDir": root_dir,
- "TMPL_stamp_data": "\"%s\"" % ctx.version_file.path if ctx.version_file else "undefined",
- "TMPL_target": str(ctx.label),
- "TMPL_workspace_name": ctx.workspace_name,
- },
- )
-
- return config
-
-def run_rollup(ctx, sources, config, output):
- """Creates an Action that can run rollup on set of sources.
-
- This is also used by ng_package and ng_rollup_bundle rules in @angular/bazel.
-
- Args:
- ctx: Bazel rule execution context
- sources: JS sources to rollup
- config: rollup config file
- output: output file
-
- Returns:
- the sourcemap output file
- """
- map_output = ctx.actions.declare_file(output.basename + ".map", sibling = output)
-
- _run_rollup(ctx, sources, config, output, map_output)
-
- return map_output
-
-def _filter_js_inputs(all_inputs):
- # Note: make sure that "all_inputs" is not a depset.
- # Iterating over a depset is deprecated!
- return [
- f
- for f in all_inputs
- # We also need to include ".map" files as these can be read by
- # the "rollup-plugin-sourcemaps" plugin.
- if f.path.endswith(".js") or f.path.endswith(".json") or f.path.endswith(".map")
- ]
-
-def _run_rollup(ctx, sources, config, output, map_output = None):
- args = ctx.actions.args()
- args.add_all(["--config", config.path])
- if map_output:
- args.add_all(["--output.file", output.path])
- args.add_all(["--output.sourcemap", "--output.sourcemapFile", map_output.path])
- else:
- args.add_all(["--output.dir", output.path])
- args.add_all(["--output.sourcemap"])
-
- # We will produce errors as needed. Anything else is spammy: a well-behaved
- # bazel rule prints nothing on success.
- args.add("--silent")
-
- if ctx.attr.globals:
- args.add("--external")
- args.add_joined(ctx.attr.globals.keys(), join_with = ",")
- args.add("--globals")
- args.add_joined(["%s:%s" % g for g in ctx.attr.globals.items()], join_with = ",")
-
- direct_inputs = [config]
- if hasattr(ctx.attr, "node_modules"):
- direct_inputs += _filter_js_inputs(ctx.files.node_modules)
-
- # Also include files from npm fine grained deps as inputs.
- # These deps are identified by the NpmPackageInfo provider.
- for d in ctx.attr.deps:
- if NpmPackageInfo in d:
- # Note: we can't avoid calling .to_list() on sources
- direct_inputs += _filter_js_inputs(d[NpmPackageInfo].sources.to_list())
-
- if ctx.file.license_banner:
- direct_inputs += [ctx.file.license_banner]
- if ctx.version_file:
- direct_inputs += [ctx.version_file]
-
- outputs = [output]
- if map_output:
- outputs += [map_output]
-
- ctx.actions.run(
- progress_message = "Bundling JavaScript %s [rollup]" % output.short_path,
- executable = ctx.executable._rollup,
- inputs = depset(direct_inputs, transitive = [sources]),
- outputs = outputs,
- arguments = [args],
- )
-
-def _run_tsc(ctx, input, output):
- args = ctx.actions.args()
-
- # No types needed since we are just downleveling.
- # `--types` proceeded by another config argument means an empty types array
- # for the command line parser.
- # See https://github.com/Microsoft/TypeScript/issues/18581#issuecomment-330700612
- args.add("--types")
- args.add("--skipLibCheck")
- args.add_all(["--target", "es5"])
- args.add_all(["--lib", "es2015,dom"])
- args.add("--allowJS")
- args.add("--downlevelIteration")
- args.add(input.path)
- args.add_all(["--outFile", output.path])
-
- ctx.actions.run(
- progress_message = "Downleveling JavaScript to ES5 %s [typescript]" % output.short_path,
- executable = ctx.executable._tsc,
- inputs = [input],
- outputs = [output],
- arguments = [args],
- )
-
-def _run_tsc_on_directory(ctx, input_dir, output_dir):
- config = ctx.actions.declare_file("_%s.code-split.tsconfig.json" % ctx.label.name)
-
- args = ctx.actions.args()
- args.add_all(["--project", config.path])
- args.add_all(["--input", input_dir.path])
- args.add_all(["--output", output_dir.path])
-
- ctx.actions.run(
- progress_message = "Downleveling JavaScript to ES5 %s [typescript]" % output_dir.short_path,
- executable = ctx.executable._tsc_directory,
- inputs = [input_dir],
- outputs = [output_dir, config],
- arguments = [args],
- )
-
-def run_uglify(**kwargs):
- print("WARNING: run_uglify has been renamed to run_terser. Please update callsites")
- run_terser(**kwargs)
-
-def run_terser(ctx, input, output, debug = False, comments = True, config_name = None, in_source_map = None):
- """Runs terser on an input file.
-
- This is also used by https://github.com/angular/angular.
-
- Args:
- ctx: Bazel rule execution context
- input: input file
- output: output file
- debug: if True then output is beautified (defaults to False)
- comments: if True then copyright comments are preserved in output file (defaults to True)
- config_name: allows callers to control the name of the generated terser configuration,
- which will be `_[config_name].terser.json` in the package where the target is declared
- in_source_map: sourcemap file for the input file, passed to the "--source-map content="
- option of rollup.
-
- Returns:
- The sourcemap file
- """
-
- map_output = ctx.actions.declare_file(output.basename + ".map", sibling = output)
-
- _run_terser(ctx, input, output, map_output, debug, comments, config_name, in_source_map)
-
- return map_output
-
-def _run_terser(ctx, input, output, map_output, debug = False, comments = True, config_name = None, in_source_map = None):
- inputs = [input]
- outputs = [output]
-
- args = ctx.actions.args()
-
- if map_output:
- # Running terser on an individual file
- if not config_name:
- config_name = ctx.label.name
- if debug:
- config_name += ".debug"
- config = ctx.actions.declare_file("_%s.terser.json" % config_name)
- args.add_all(["--config-file", config.path])
- outputs += [map_output, config]
-
- args.add(input.path)
- args.add_all(["--output", output.path])
-
- # Source mapping options are comma-packed into one argv
- # see https://github.com/terser-js/terser#command-line-usage
- source_map_opts = ["includeSources", "base=" + ctx.bin_dir.path]
- if in_source_map:
- source_map_opts.append("content=" + in_source_map.path)
- inputs.append(in_source_map)
-
- # This option doesn't work in the config file, only on the CLI
- args.add_all(["--source-map", ",".join(source_map_opts)])
-
- if comments:
- args.add("--comments")
- if debug:
- args.add("--debug")
- args.add("--beautify")
-
- ctx.actions.run(
- progress_message = "Optimizing JavaScript %s [terser]" % output.short_path,
- executable = ctx.executable._terser_wrapped,
- inputs = inputs,
- outputs = outputs,
- arguments = [args],
- )
-
-def run_sourcemapexplorer(ctx, js, map, output):
- """Runs source-map-explorer to produce an HTML visualization of the sourcemap.
-
- Args:
- ctx: bazel rule execution context
- js: Javascript bundle
- map: sourcemap from the bundle back to original sources
- output: file where the HTML report is written
- """
-
- # We must run in a shell in order to redirect stdout.
- # TODO(alexeagle): file a feature request on ctx.actions.run so that stdout
- # could be natively redirected to produce the output file
- ctx.actions.run_shell(
- inputs = [js, map],
- tools = [ctx.executable._source_map_explorer],
- outputs = [output],
- command = "$1 --html $2 $3 > $4",
- arguments = [
- ctx.executable._source_map_explorer.path,
- js.path,
- map.path,
- output.path,
- ],
- )
-
-def _generate_toplevel_entry(ctx, bundles_folder, output):
- """Generates a native ESmodule that imports the entry point
- """
- main_entry_point_basename = _entry_point_path(ctx).split("/")[-1] + ".js"
- ctx.actions.write(output, """import('./%s/%s');""" % (bundles_folder, main_entry_point_basename))
-
-def _generate_code_split_entry(ctx, bundles_folder, output):
- """Generates a SystemJS boilerplate/entry point file.
-
- See doc for additional_entry_points for more information
- on purpose and usage of this generated file.
-
- The SystemJS packages map outputted to the file is generated
- from the entry_point and additional_entry_point attributes and
- is targetted as a specific bundle variant specified by `folder`.
-
- For example, a rollup_bundle in may be configured like so:
-
- ```
- rollup_bundle(
- name = "bundle",
- additional_entry_points = [
- "src/hello-world/hello-world.module.ngfactory",
- "src/todos/todos.module.ngfactory",
- ],
- entry_point = "src/main.prod",
- deps = ["//src"],
- )
- ```
-
- In this case, the main_entry_point_dirname will evaluate to
- `src/` and this will be stripped from the entry points for
- the map. If folder is `bundle_chunks`, the generated SystemJS
- boilerplate/entry point file will look like:
-
- ```
- (function(global) {
- System.config({
- packages: {
- '': {map: {
- "./main.prod": "bundle_chunks/main.prod",
- "./hello-world/hello-world.module.ngfactory": "bundle_chunks/hello-world.module.ngfactory",
- "./todos/todos.module.ngfactory": "bundle_chunks/todos.module.ngfactory"},
- defaultExtension: 'js'},
- }
- });
- System.import('main.prod').catch(function(err) {
- console.error(err);
- });
- })(this);
- ```
-
- Args:
- ctx: bazel rule execution context
- bundles_folder: the folder name with the bundled chunks to map to
- output: the file to generate
- """
- entry_point_path = _entry_point_path(ctx)
- main_entry_point_basename = entry_point_path.split("/")[-1] + ".js"
- main_entry_point_dirname = "/".join(entry_point_path.split("/")[:-1]) + "/"
- entry_points = {}
- for e in [entry_point_path] + ctx.attr.additional_entry_points:
- entry_point = e[len(main_entry_point_dirname):]
- entry_points["./" + entry_point] = bundles_folder + "/" + entry_point.split("/")[-1]
-
- ctx.actions.expand_template(
- output = output,
- template = ctx.file._system_config_tmpl,
- substitutions = {
- "TMPL_entry_points": str(entry_points),
- "TMPL_main_entry_point": main_entry_point_basename,
- },
- )
-
-def _rollup_bundle(ctx):
- if "enable_legacy_rollup_rule" not in ctx.var:
- fail("""***********
-
-The legacy rollup_bundle rule has been deprecated
-
-As announced in https://github.com/bazelbuild/rules_nodejs/releases/tag/0.38.0,
-there is a new rollup_bundle Bazel rule.
-Migration instructions are at
-https://github.com/bazelbuild/rules_nodejs/wiki#migrating-off-internalrollup
-
-To continue using the old rule, add --define=enable_legacy_rollup_rule=1 to your bazel command.
-************
-""")
- if len(ctx.attr.entry_point.files.to_list()) != 1:
- fail("labels in entry_point must contain exactly one file")
- if ctx.attr.additional_entry_points and not ctx.attr.enable_code_splitting:
- fail("cannot disable code splitting when there are multiple entry points")
-
- if ctx.attr.additional_entry_points or ctx.attr.enable_code_splitting:
- # Generate code split bundles if additional entry points have been specified.
- # See doc for additional_entry_points for more information.
- # Note: "_chunks" is needed on the output folders since ctx.label.name + ".es2015" is already
- # a folder that contains the re-rooted es2015 sources
- rollup_config = write_rollup_config(ctx, output_format = "es", additional_entry_points = ctx.attr.additional_entry_points)
- code_split_es2015_output_dir = ctx.actions.declare_directory(ctx.label.name + "_chunks_es2015")
- _run_rollup(ctx, _collect_es2015_sources(ctx), rollup_config, code_split_es2015_output_dir)
- code_split_es2015_min_output_dir = ctx.actions.declare_directory(ctx.label.name + "_chunks_min_es2015")
- _run_terser(ctx, code_split_es2015_output_dir, code_split_es2015_min_output_dir, None)
- code_split_es2015_min_debug_output_dir = ctx.actions.declare_directory(ctx.label.name + "_chunks_min_debug_es2015")
- _run_terser(ctx, code_split_es2015_output_dir, code_split_es2015_min_debug_output_dir, None, debug = True)
-
- code_split_es5_output_dir = ctx.actions.declare_directory(ctx.label.name + "_chunks")
- _run_tsc_on_directory(ctx, code_split_es2015_output_dir, code_split_es5_output_dir)
- code_split_es5_min_output_dir = ctx.actions.declare_directory(ctx.label.name + "_chunks_min")
- _run_terser(ctx, code_split_es5_output_dir, code_split_es5_min_output_dir, None)
- code_split_es5_min_debug_output_dir = ctx.actions.declare_directory(ctx.label.name + "_chunks_min_debug")
- _run_terser(ctx, code_split_es5_output_dir, code_split_es5_min_debug_output_dir, None, debug = True)
-
- # Generate the SystemJS boilerplate/entry point files
- _generate_toplevel_entry(ctx, ctx.label.name + "_chunks_es2015", ctx.outputs.build_es2015)
- _generate_toplevel_entry(ctx, ctx.label.name + "_chunks_min_es2015", ctx.outputs.build_es2015_min)
- _generate_toplevel_entry(ctx, ctx.label.name + "_chunks_min_debug_es2015", ctx.outputs.build_es2015_min_debug)
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks", ctx.outputs.build_es5)
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks_min", ctx.outputs.build_es5_min)
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks_min_debug", ctx.outputs.build_es5_min_debug)
-
- # There is no UMD/CJS bundle when code-splitting but we still need to satisfy the output
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks", ctx.outputs.build_umd)
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks", ctx.outputs.build_umd_min)
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks", ctx.outputs.build_cjs)
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks", ctx.outputs.build_es5_umd)
- _generate_code_split_entry(ctx, ctx.label.name + "_chunks", ctx.outputs.build_es5_umd_min)
-
- # There is no source map explorer output when code-splitting but we still need to satisfy the output
- ctx.actions.expand_template(
- output = ctx.outputs.explore_html,
- template = ctx.file._no_explore_html,
- substitutions = {},
- )
- files = [
- ctx.outputs.build_es2015,
- ctx.outputs.build_es2015_min,
- ctx.outputs.build_es2015_min_debug,
- ctx.outputs.build_es5,
- ctx.outputs.build_es5_min,
- ctx.outputs.build_es5_min_debug,
- code_split_es2015_output_dir,
- code_split_es2015_min_output_dir,
- code_split_es2015_min_debug_output_dir,
- code_split_es5_output_dir,
- code_split_es5_min_output_dir,
- code_split_es5_min_debug_output_dir,
- ]
- output_group = OutputGroupInfo(
- es2015 = depset([ctx.outputs.build_es2015, code_split_es2015_output_dir]),
- es2015_min = depset([ctx.outputs.build_es2015_min, code_split_es2015_min_output_dir]),
- es2015_min_debug = depset([ctx.outputs.build_es2015_min_debug, code_split_es2015_min_debug_output_dir]),
- es5 = depset([ctx.outputs.build_es5, code_split_es5_output_dir]),
- es5_min = depset([ctx.outputs.build_es5_min, code_split_es5_min_output_dir]),
- es5_min_debug = depset([ctx.outputs.build_es5_min_debug, code_split_es5_min_debug_output_dir]),
- )
-
- else:
- # Generate the bundles
- rollup_config = write_rollup_config(ctx)
- es2015_map = run_rollup(ctx, _collect_es2015_sources(ctx), rollup_config, ctx.outputs.build_es2015)
- es2015_min_map = run_terser(ctx, ctx.outputs.build_es2015, ctx.outputs.build_es2015_min, config_name = ctx.label.name + "es2015_min", in_source_map = es2015_map)
- es2015_min_debug_map = run_terser(ctx, ctx.outputs.build_es2015, ctx.outputs.build_es2015_min_debug, debug = True, config_name = ctx.label.name + "es2015_min_debug", in_source_map = es2015_map)
- _run_tsc(ctx, ctx.outputs.build_es2015, ctx.outputs.build_es5)
- es5_min_map = run_terser(ctx, ctx.outputs.build_es5, ctx.outputs.build_es5_min)
- es5_min_debug_map = run_terser(ctx, ctx.outputs.build_es5, ctx.outputs.build_es5_min_debug, debug = True)
-
- cjs_rollup_config = write_rollup_config(ctx, filename = "_%s_cjs.rollup.conf.js", output_format = "cjs")
- cjs_map = run_rollup(ctx, _collect_es2015_sources(ctx), cjs_rollup_config, ctx.outputs.build_cjs)
-
- umd_rollup_config = write_rollup_config(ctx, filename = "_%s_umd.rollup.conf.js", output_format = "umd")
- umd_map = run_rollup(ctx, _collect_es2015_sources(ctx), umd_rollup_config, ctx.outputs.build_umd)
- umd_min_map = run_terser(ctx, ctx.outputs.build_umd, ctx.outputs.build_umd_min, config_name = ctx.label.name + "umd_min", in_source_map = umd_map)
- _run_tsc(ctx, ctx.outputs.build_umd, ctx.outputs.build_es5_umd)
- es5_umd_min_map = run_terser(ctx, ctx.outputs.build_es5_umd, ctx.outputs.build_es5_umd_min, config_name = ctx.label.name + "es5umd_min")
-
- run_sourcemapexplorer(ctx, ctx.outputs.build_es5_min, es5_min_map, ctx.outputs.explore_html)
-
- files = [ctx.outputs.build_es5_min, es5_min_map]
- output_group = OutputGroupInfo(
- cjs = depset([ctx.outputs.build_cjs, cjs_map]),
- es2015 = depset([ctx.outputs.build_es2015, es2015_map]),
- es2015_min = depset([ctx.outputs.build_es2015_min, es2015_min_map]),
- es2015_min_debug = depset([ctx.outputs.build_es2015_min_debug, es2015_min_debug_map]),
- es5 = depset([ctx.outputs.build_es5]),
- es5_min = depset([ctx.outputs.build_es5_min, es5_min_map]),
- es5_min_debug = depset([ctx.outputs.build_es5_min_debug, es5_min_debug_map]),
- es5_umd = depset([ctx.outputs.build_es5_umd]),
- es5_umd_min = depset([ctx.outputs.build_es5_umd_min, es5_umd_min_map]),
- umd = depset([ctx.outputs.build_umd, umd_map]),
- umd_min = depset([ctx.outputs.build_umd_min, umd_min_map]),
- )
-
- return [
- DefaultInfo(
- files = depset(files),
- # NB: we don't include any runfiles here since they would always be built
- # regardless if they are requested or not
- ),
- output_group,
- ]
-
-# Expose our list of aspects so derivative rules can override the deps attribute and
-# add their own additional aspects.
-# If users are in a different repo and load the aspect themselves, they will create
-# different Provider symbols (e.g. NpmPackageInfo) and we won't find them.
-# So users must use these symbols that are load'ed in rules_nodejs.
-ROLLUP_DEPS_ASPECTS = [rollup_module_mappings_aspect, node_modules_aspect]
-
-ROLLUP_ATTRS = {
- "srcs": attr.label_list(
- doc = """JavaScript source files from the workspace.
- These can use ES2015 syntax and ES Modules (import/export)""",
- allow_files = [".js"],
- ),
- "additional_entry_points": attr.string_list(
- doc = """Additional entry points of the application for code splitting, passed as the input to rollup.
- These should be a path relative to the workspace root.
-
- When additional_entry_points are specified, rollup_bundle
- will split the bundle in multiple entry points and chunks.
- There will be a main entry point chunk as well as entry point
- chunks for each additional_entry_point. The file names
- of these entry points will correspond to the file names
- specified in entry_point and additional_entry_points.
- There will also be one or more common chunks that are shared
- between entry points named chunk-.js. The number
- of common chunks is variable depending on the code being
- bundled.
-
- Entry points and chunks will be outputted to folders:
- - _chunks_es2015 // es2015
- - _chunks // es5
- - _chunks_min // es5 minified
- - _chunks_min_debug // es5 minified debug
-
- The following files will be outputted that contain the
- SystemJS boilerplate to map the entry points to their file
- names and load the main entry point:
- flavors:
- - .es2015.js // es2015 with EcmaScript modules
- - .js // es5 syntax with CJS modules
- - .min.js // es5 minified
- - .min_debug.js // es5 minified debug
-
- NOTE: additional_entry_points MUST be in the same folder or deeper than
- the main entry_point for the SystemJS boilerplate/entry point to
- be valid. For example, if the main entry_point is
- `src/main` then all additional_entry_points must be under
- `src/**` such as `src/bar` or `src/foo/bar`. Alternate
- additional_entry_points configurations are valid but the
- SystemJS boilerplate/entry point files will not be usable and
- it is up to the user in these cases to handle the SystemJS
- boilerplate manually.
-
- It is sufficient to load one of these SystemJS boilerplate/entry point
- files as a script in your HTML to load your application""",
- ),
- "enable_code_splitting": attr.bool(
- doc = """If True rollup will automatically determine entry points from
- the source code. The rollup output format will be 'esm' and rollup will
- create entry points based on ES6 import statements. See
- https://rollupjs.org/guide/en#code-splitting
-
- Code splitting is always enabled when additional_entry_points is
- non-empty.
-
- All automatic entry points will be named chunk-.js.""",
- default = True,
- ),
- "entry_point": attr.label(
- doc = """The starting point of the application, passed as the `--input` flag to rollup.
-
- If the entry JavaScript file belongs to the same package (as the BUILD file),
- you can simply reference it by its relative name to the package directory:
-
- ```
- rollup_bundle(
- name = "bundle",
- entry_point = ":main.js",
- )
- ```
-
- You can specify the entry point as a typescript file so long as you also include
- the ts_library target in deps:
-
- ```
- ts_library(
- name = "main",
- srcs = ["main.ts"],
- )
-
- rollup_bundle(
- name = "bundle",
- deps = [":main"]
- entry_point = ":main.ts",
- )
- ```
-
- The rule will use the corresponding `.js` output of the ts_library rule as the entry point.
-
- If the entry point target is a rule, it should produce a single JavaScript entry file that will be passed to the nodejs_binary rule.
- For example:
-
- ```
- filegroup(
- name = "entry_file",
- srcs = ["main.js"],
- )
-
- rollup_bundle(
- name = "bundle",
- entry_point = ":entry_file",
- )
- ```
- """,
- mandatory = True,
- allow_single_file = True,
- ),
- "global_name": attr.string(
- doc = """A name given to this package when referenced as a global variable.
- This name appears in the bundle module incantation at the beginning of the file,
- and governs the global symbol added to the global context (e.g. `window`) as a side-
- effect of loading the UMD/IIFE JS bundle.
-
- Rollup doc: "The variable name, representing your iife/umd bundle, by which other scripts on the same page can access it."
-
- This is passed to the `output.name` setting in Rollup.""",
- ),
- "globals": attr.string_dict(
- doc = """A dict of symbols that reference external scripts.
- The keys are variable names that appear in the program,
- and the values are the symbol to reference at runtime in a global context (UMD bundles).
- For example, a program referencing @angular/core should use ng.core
- as the global reference, so Angular users should include the mapping
- `"@angular/core":"ng.core"` in the globals.""",
- default = {},
- ),
- "license_banner": attr.label(
- doc = """A .txt file passed to the `banner` config option of rollup.
- The contents of the file will be copied to the top of the resulting bundles.
- Note that you can replace a version placeholder in the license file, by using
- the special version `0.0.0-PLACEHOLDER`. See the section on stamping in the README.""",
- allow_single_file = [".txt"],
- ),
- "node_modules": attr.label(
- doc = """Dependencies from npm that provide some modules that must be
- resolved by rollup.
-
- This attribute is DEPRECATED. As of version 0.13.0 the recommended approach
- to npm dependencies is to use fine grained npm dependencies which are setup
- with the `yarn_install` or `npm_install` rules. For example, in a rollup_bundle
- target that used the `node_modules` attribute,
-
- ```
- rollup_bundle(
- name = "bundle",
- ...
- node_modules = "//:node_modules",
- )
- ```
-
- which specifies all files within the `//:node_modules` filegroup
- to be inputs to the `bundle`. Using fine grained npm dependencies,
- `bundle` is defined with only the npm dependencies that are
- needed:
-
- ```
- rollup_bundle(
- name = "bundle",
- ...
- deps = [
- "@npm//foo",
- "@npm//bar",
- ...
- ],
- )
- ```
-
- In this case, only the `foo` and `bar` npm packages and their
- transitive deps are includes as inputs to the `bundle` target
- which reduces the time required to setup the runfiles for this
- target (see https://github.com/bazelbuild/bazel/issues/5153).
-
- The @npm external repository and the fine grained npm package
- targets are setup using the `yarn_install` or `npm_install` rule
- in your WORKSPACE file:
-
- yarn_install(
- name = "npm",
- package_json = "//:package.json",
- yarn_lock = "//:yarn.lock",
- )
- """,
- default = Label("//:node_modules_none"),
- ),
- "deps": attr.label_list(
- doc = """Other rules that produce JavaScript outputs, such as `ts_library`.""",
- aspects = ROLLUP_DEPS_ASPECTS,
- ),
- "_no_explore_html": attr.label(
- default = Label("@build_bazel_rules_nodejs//internal/rollup:no_explore.html"),
- allow_single_file = True,
- ),
- "_rollup": attr.label(
- executable = True,
- cfg = "host",
- default = Label("@build_bazel_rules_nodejs//internal/rollup:rollup"),
- ),
- "_rollup_config_tmpl": attr.label(
- default = Label("@build_bazel_rules_nodejs//internal/rollup:rollup.config.js"),
- allow_single_file = True,
- ),
- "_source_map_explorer": attr.label(
- executable = True,
- cfg = "host",
- default = Label("@build_bazel_rules_nodejs//internal/rollup:source-map-explorer"),
- ),
- "_system_config_tmpl": attr.label(
- default = Label("@build_bazel_rules_nodejs//internal/rollup:system.config.js"),
- allow_single_file = True,
- ),
- "_terser_wrapped": attr.label(
- executable = True,
- cfg = "host",
- default = Label("@build_bazel_rules_nodejs//internal/rollup:terser-wrapped"),
- ),
- "_tsc": attr.label(
- executable = True,
- cfg = "host",
- default = Label("@build_bazel_rules_nodejs//internal/rollup:tsc"),
- ),
- "_tsc_directory": attr.label(
- executable = True,
- cfg = "host",
- default = Label("@build_bazel_rules_nodejs//internal/rollup:tsc-directory"),
- ),
-}
-
-ROLLUP_OUTPUTS = {
- "build_cjs": "%{name}.cjs.js",
- "build_es2015": "%{name}.es2015.js",
- "build_es2015_min": "%{name}.min.es2015.js",
- "build_es2015_min_debug": "%{name}.min_debug.es2015.js",
- "build_es5": "%{name}.js",
- "build_es5_min": "%{name}.min.js",
- "build_es5_min_debug": "%{name}.min_debug.js",
- "build_es5_umd": "%{name}.es5umd.js",
- "build_es5_umd_min": "%{name}.min.es5umd.js",
- "build_umd": "%{name}.umd.js",
- "build_umd_min": "%{name}.min.umd.js",
- "explore_html": "%{name}.explore.html",
-}
-
-rollup_bundle = rule(
- implementation = _rollup_bundle,
- attrs = ROLLUP_ATTRS,
- doc = """Produces several bundled JavaScript files using Rollup and terser.
-
-Load it with
-`load("@build_bazel_rules_nodejs//:index.bzl", "rollup_bundle")`
-
-It performs this work in several separate processes:
-1. Call rollup on the original sources
-2. Downlevel the resulting code to es5 syntax for older browsers
-3. Minify the bundle with terser, possibly with pretty output for human debugging.
-
-The default output of a `rollup_bundle` rule is the non-debug-minified es5 bundle.
-
-However you can request one of the other outputs with a dot-suffix on the target's name.
-For example, if your `rollup_bundle` is named `my_rollup_bundle`, you can use one of these labels:
-
-To request the ES2015 syntax (e.g. `class` keyword) without downleveling or minification, use the `:my_rollup_bundle.es2015.js` label.
-To request the ES5 downleveled bundle without minification, use the `:my_rollup_bundle.js` label
-To request the debug-minified es5 bundle, use the `:my_rollup_bundle.min_debug.js` label.
-To request a UMD-bundle, use the `:my_rollup_bundle.umd.js` label.
-To request a CommonJS bundle, use the `:my_rollup_bundle.cjs.js` label.
-
-You can also request an analysis from source-map-explorer by buildng the `:my_rollup_bundle.explore.html` label.
-However this is currently broken for `rollup_bundle` ES5 mode because we use tsc for downleveling and
-it doesn't compose the resulting sourcemaps with an input sourcemap.
-See https://github.com/bazelbuild/rules_nodejs/issues/175
-
-For debugging, note that the `rollup.config.js` and `terser.config.json` files can be found in the bazel-bin folder next to the resulting bundle.
-
-An example usage can be found in https://github.com/bazelbuild/rules_nodejs/tree/master/internal/rollup/test/rollup
-""",
- outputs = ROLLUP_OUTPUTS,
-)
diff --git a/internal/rollup/system.config.js b/internal/rollup/system.config.js
deleted file mode 100644
index 0a284a630f..0000000000
--- a/internal/rollup/system.config.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// SystemJS boilerplate/entry point TEMPLATE for code-split rollup_bundle.
-// GENERATED BY Bazel
-(function(global) {
-System.config({
- packages: {
- '': {map: TMPL_entry_points, defaultExtension: 'js'},
- }
-});
-System.import('TMPL_main_entry_point').catch(function(err) {
- console.error(err);
-});
-})(this);
diff --git a/internal/rollup/terser-wrapped.js b/internal/rollup/terser-wrapped.js
deleted file mode 100644
index faed63a45c..0000000000
--- a/internal/rollup/terser-wrapped.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * @license
- * Copyright 2017 The Bazel Authors. 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.
- */
-
-// A wrapper around terser-js that can handle minifying an entire
-// directory. If the input is a directory then terser is run on
-// each .js file in that folder and outputs to a specified output
-// folder. If the input is a file then terser is just run
-// one that individual file.
-
-const fs = require('fs');
-const path = require('path');
-const tmp = require('tmp');
-const child_process = require('child_process');
-
-function log_verbose(...m) {
- if (!!process.env['VERBOSE_LOGS']) console.error('[terser-wrapped.js]', ...m);
-}
-
-// capture the inputs and output options
-const argv = require('minimist')(process.argv.slice(2));
-const inputs = argv._;
-const output = argv.output || argv.o;
-const debug = !!process.env['debug'] || argv.debug;
-const configFile = argv['config-file'];
-// delete the properties extracted above as the remaining
-// arguments are forwarded to terser in execFileSync below
-delete argv._;
-delete argv.output;
-delete argv.o;
-delete argv.debug;
-delete argv['config-file'];
-
-log_verbose(`running with
- cwd: ${process.cwd()}
- argv: ${process.argv.slice(2).join(' ')}
- inputs: ${JSON.stringify(inputs)}
- output: ${output}
- debug: ${debug}
-`);
-
-if (inputs.length != 1) {
- throw new Error(`Only one input file supported: ${inputs}`);
-}
-
-const input = inputs[0];
-
-function runterser(inputFile, outputFile, sourceMapFile) {
- log_verbose(`minifying ${inputFile} -> ${outputFile} (sourceMap ${sourceMapFile})`);
-
- const terserConfig = {
- 'sourceMap': {'filename': sourceMapFile},
- 'compress': {
- 'pure_getters': true,
- 'passes': 3,
- 'global_defs': {'ngDevMode': false, 'ngI18nClosureMode': false},
- 'keep_fnames': !debug,
- 'reduce_funcs': !debug,
- 'reduce_vars': !debug,
- 'sequences': !debug,
- },
- 'mangle': !debug,
- };
-
- let config = configFile;
- if (!config) {
- config = tmp.fileSync({keep: false, postfix: '.json'}).name;
- }
-
- fs.writeFileSync(config, JSON.stringify(terserConfig));
-
- const args = [
- require.resolve('build_bazel_rules_nodejs_rollup_deps/node_modules/terser/bin/uglifyjs'),
- inputFile, '--output', outputFile, '--config-file', config
- ];
-
- for (arg in argv) {
- const prefix = arg.length == 1 ? '-' : '--';
- const value = argv[arg];
- args.push(prefix + arg);
- if (value && value !== true) {
- args.push(value);
- }
- }
-
- log_verbose(`running node ${args.join(' ')}`);
-
- const isWindows = /^win/i.test(process.platform);
- child_process.execFileSync(
- isWindows ? 'node.exe' : 'node', args,
- {stdio: [process.stdin, process.stdout, process.stderr]});
-}
-
-const isDirectory = fs.lstatSync(path.join(process.cwd(), input)).isDirectory();
-
-if (!isDirectory) {
- runterser(input, output, output + '.map');
-} else {
- if (!fs.existsSync(output)) {
- fs.mkdirSync(output);
- }
- const dir = fs.readdirSync(input);
- dir.forEach(f => {
- if (f.endsWith('.js')) {
- const inputFile = path.join(input, path.basename(f));
- const outputFile = path.join(output, path.basename(f));
- // TODO(gregmagolan): parallelize this into multiple processes?
- runterser(inputFile, outputFile, outputFile + '.map');
- }
- });
-}
diff --git a/internal/rollup/tsc-directory.js b/internal/rollup/tsc-directory.js
deleted file mode 100644
index a06b8c55fa..0000000000
--- a/internal/rollup/tsc-directory.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * @license
- * Copyright 2017 The Bazel Authors. 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.
- */
-
-// A wrapper around tsc that handle running tsc on all files
-// in a folder and also copies over all .js.map files to the
-// output folder
-
-const fs = require('fs');
-const path = require('path');
-const child_process = require('child_process');
-
-function log_verbose(...m) {
- if (!!process.env['VERBOSE_LOGS']) console.error('[terser-wrapped.js]', ...m);
-}
-
-// capture the inputs and output options
-const argv = require('minimist')(process.argv.slice(2));
-const input = argv.input;
-const output = argv.output;
-const project = argv.project;
-
-log_verbose(`running with
- cwd: ${process.cwd()}
- input: ${input}
- output: ${output}
- project: ${project}
-`);
-
-function runTsc(inputDir, outputDir, projectFile) {
- log_verbose(`running tsc with ${project}`);
-
- const inputBasename = path.relative(path.dirname(projectFile), inputDir);
- const outputBasename = path.relative(path.dirname(projectFile), outputDir);
-
- const tsConfig = {
- 'compilerOptions': {
- // no types needed since we are just downleveling
- 'types': [],
- 'skipLibCheck': true,
- 'target': 'es5',
- 'lib': ['es2015', 'dom'],
- 'allowJs': true,
- 'outDir': outputBasename,
- },
- 'include': [`${inputBasename}/*`],
- 'exclude': []
- };
-
- fs.writeFileSync(projectFile, JSON.stringify(tsConfig));
-
- const args = [
- require.resolve('build_bazel_rules_nodejs_rollup_deps/node_modules/typescript/lib/tsc.js'),
- '--project', projectFile
- ];
-
- log_verbose(`running node ${args.join(' ')}`);
-
- const isWindows = /^win/i.test(process.platform);
- child_process.execFileSync(
- isWindows ? 'node.exe' : 'node', args,
- {stdio: [process.stdin, process.stdout, process.stderr]});
-}
-
-// run tsc to generate the output .js files
-runTsc(input, output, project)
-
-// copy all .js.map files from the input directory to the output directory
-const dir = fs.readdirSync(input);
-dir.forEach(f => {
- if (f.endsWith('.js.map')) {
- const inputFile = path.join(input, path.basename(f));
- const outputFile = path.join(output, path.basename(f));
- fs.copyFileSync(inputFile, outputFile);
- }
-});
diff --git a/internal/rollup/yarn.lock b/internal/rollup/yarn.lock
deleted file mode 100644
index 6e35f521fd..0000000000
--- a/internal/rollup/yarn.lock
+++ /dev/null
@@ -1,1398 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@buxlabs/amd-to-es6@^0.12.0":
- version "0.12.5"
- resolved "https://registry.yarnpkg.com/@buxlabs/amd-to-es6/-/amd-to-es6-0.12.5.tgz#18c12479512ae09106fc6f60ad1b4b9eb8e8eb62"
- integrity sha512-RaZQrUhSl+IPIn3tBdMlDAb20jcWcBGQpnmUth9Jf9Bx1c7zGPQAxTzuag5UBLGBEBAKGr5fxvwGGdF+C/mDjQ==
- dependencies:
- "@buxlabs/ast" "^0.9.5"
- "@buxlabs/utils" "^2.2.2"
- array-uniq "^1.0.3"
- commander "^2.13.0"
- glob "^7.1.2"
- mkdirp "^0.5.1"
-
-"@buxlabs/ast@^0.9.5":
- version "0.9.6"
- resolved "https://registry.yarnpkg.com/@buxlabs/ast/-/ast-0.9.6.tgz#e7a14d3fae74cd3d0530fd2cf39afc09272707e7"
- integrity sha512-1fKAxOU/c3uLa0mQL2jrNqv0QkcMJMnDfze/N5HeIh3DWtl9Q8PfOskuGa+zZb/EZEwLLNACmHbIUTvfM0Ogsw==
- dependencies:
- comparify "^0.2.0"
- escodegen "^1.9.0"
- espree "^3.5.1"
- esquery "^1.0.0"
- estemplate "^0.5.1"
- estraverse "^4.2.0"
- prettier "^1.7.4"
- to-ast "^1.0.0"
-
-"@buxlabs/utils@^2.2.2":
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/@buxlabs/utils/-/utils-2.3.4.tgz#32a3102e5875c4b0f34cac89ec403748b1759249"
- integrity sha512-XtGxRNCQFf0Ed5aXSsjJWdZfs8o4eFBNqtXyFvyiAQ/8/W+YfkTAgwbBUHECSd4qOxgOXI5iQcYDn21rEN7TMw==
-
-"@types/estree@0.0.39":
- version "0.0.39"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
- integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
-
-"@types/node@*":
- version "11.13.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-11.13.0.tgz#b0df8d6ef9b5001b2be3a94d909ce3c29a80f9e1"
- integrity sha512-rx29MMkRdVmzunmiA4lzBYJNnXsW/PhG4kMBy2ATsYaDjGGR75dCFEVVROKpNwlVdcUX3xxlghKQOeDPBJobng==
-
-"@types/node@^11.9.5":
- version "11.9.5"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-11.9.5.tgz#011eece9d3f839a806b63973e228f85967b79ed3"
- integrity sha512-vVjM0SVzgaOUpflq4GYBvCpozes8OgIIS5gVXVka+OfK3hvnkC1i93U8WiY2OtNE4XUWyyy/86Kf6e0IHTQw1Q==
-
-"@types/resolve@0.0.8":
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
- integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
- dependencies:
- "@types/node" "*"
-
-acorn-jsx@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
- integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=
- 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"
- integrity sha1-ReN/s56No/JbruP/U2niu18iAXo=
-
-acorn@^5.5.0:
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
- integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
-
-acorn@^6.1.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
- integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
-
-arr-diff@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
- integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
- dependencies:
- arr-flatten "^1.0.1"
-
-arr-diff@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
- integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
-
-arr-flatten@^1.0.1, arr-flatten@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
- integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
-
-arr-union@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
- integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-
-array-uniq@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
- integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
-
-array-unique@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
- integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
-
-array-unique@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
- integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-
-assign-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
- integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-
-ast-types@^0.7.2:
- version "0.7.8"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9"
- integrity sha1-kC0uDWDQcb3NRtwRXhgJ7RHBOKk=
-
-atob@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.0.tgz#ab2b150e51d7b122b9efc8d7340c06b6c41076bc"
- integrity sha512-SuiKH8vbsOyCALjA/+EINmt/Kdl+TQPrtFgW7XZZcwtryFu9e5kQoX3bjCW6mIvGH1fbeAZZuvwGR5IlBRznGw==
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-
-base@^0.11.1:
- version "0.11.2"
- resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
- integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
- 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"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^1.8.2:
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
- integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
- dependencies:
- expand-range "^1.8.1"
- preserve "^0.2.0"
- repeat-element "^1.1.2"
-
-braces@^2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
- integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
- 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"
-
-btoa@^1.1.2:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
- integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
-
-buffer-from@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
- integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
-
-builtin-modules@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e"
- integrity sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==
-
-builtin-modules@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.0.0.tgz#1e587d44b006620d90286cc7a9238bbc6129cab1"
- integrity sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==
-
-cache-base@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
- integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
- 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"
-
-class-utils@^0.3.5:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
- integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
- dependencies:
- arr-union "^3.1.0"
- define-property "^0.2.5"
- isobject "^3.0.0"
- static-extend "^0.1.1"
-
-collection-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
- integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
- dependencies:
- map-visit "^1.0.0"
- object-visit "^1.0.0"
-
-commander@^2.13.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
- integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
-
-commander@~2.17.1:
- version "2.17.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
- integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
-
-comparify@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/comparify/-/comparify-0.2.0.tgz#c1fd6aa1e1df222bbf10b0bbf17198397e70c66d"
- integrity sha1-wf1qoeHfIiu/ELC78XGYOX5wxm0=
-
-component-emitter@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
- integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-convert-source-map@^1.1.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
- integrity sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=
-
-copy-descriptor@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
- integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-
-debug@^2.2.0, debug@^2.3.3:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-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"
- integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
-
-deep-is@~0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
- integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-
-define-property@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
- integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
- 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"
- integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
- 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"
- integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
- dependencies:
- is-descriptor "^1.0.2"
- isobject "^3.0.1"
-
-docopt@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11"
- integrity sha1-so6eIiDaXsSffqW7JKR3h0Be6xE=
-
-ejs@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0"
- integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==
-
-escodegen@^1.9.0:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510"
- integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==
- 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.1:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
- integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==
- dependencies:
- acorn "^5.5.0"
- acorn-jsx "^3.0.0"
-
-esprima@^2.1.0, esprima@^2.7.2:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
- integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
-
-esprima@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
- integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
-
-esquery@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
- integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
- dependencies:
- estraverse "^4.0.0"
-
-estemplate@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/estemplate/-/estemplate-0.5.1.tgz#1714a9d46190738ac958bcafd49e029cda56a39e"
- integrity sha1-FxSp1GGQc4rJWLyv1J4CnNpWo54=
- dependencies:
- esprima "^2.7.2"
- estraverse "^4.1.1"
-
-estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
- integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
-
-estree-walker@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.3.1.tgz#e6b1a51cf7292524e7237c312e5fe6660c1ce1aa"
- integrity sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=
-
-estree-walker@^0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
- integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==
-
-estree-walker@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.0.tgz#5d865327c44a618dde5699f763891ae31f257dae"
- integrity sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw==
-
-esutils@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
- integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
-
-expand-brackets@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
- integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
- dependencies:
- is-posix-bracket "^0.1.0"
-
-expand-brackets@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
- integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
- 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"
-
-expand-range@^1.8.1:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
- integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
- dependencies:
- fill-range "^2.1.0"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
- 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"
- integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
- dependencies:
- assign-symbols "^1.0.0"
- is-extendable "^1.0.1"
-
-extglob@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
- integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
- dependencies:
- is-extglob "^1.0.0"
-
-extglob@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
- integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
- 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"
-
-fast-levenshtein@~2.0.4:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
- integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-
-filename-regex@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
- integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
-
-fill-range@^2.1.0:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
- integrity sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=
- dependencies:
- is-number "^2.1.0"
- isobject "^2.0.0"
- randomatic "^1.1.3"
- repeat-element "^1.1.2"
- repeat-string "^1.5.2"
-
-fill-range@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
- integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
- dependencies:
- extend-shallow "^2.0.1"
- is-number "^3.0.0"
- repeat-string "^1.6.1"
- to-regex-range "^2.1.0"
-
-for-in@^1.0.1, for-in@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
- integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-
-for-own@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
- integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
- dependencies:
- for-in "^1.0.1"
-
-fragment-cache@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
- integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
- dependencies:
- map-cache "^0.2.2"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-
-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"
- integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
-
-glob-base@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
- integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
- dependencies:
- glob-parent "^2.0.0"
- is-glob "^2.0.0"
-
-glob-parent@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
- integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
- dependencies:
- is-glob "^2.0.0"
-
-glob@^7.0.0, glob@^7.1.3:
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
- integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
- 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"
-
-glob@^7.1.2:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
- integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==
- 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"
-
-has-value@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
- integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
- 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"
- integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
- 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"
- integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
-
-has-values@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
- integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-
-interpret@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
- integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
-
-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"
- integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
- 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"
- integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
- dependencies:
- kind-of "^6.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"
- integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-
-is-builtin-module@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-2.0.0.tgz#431104b3b4ba838ec7a17d82bb3bccd2233e8cd9"
- integrity sha512-G2jLHphOywpgrL/AaJKWDXpdpGR9X4V1PCkB+EwG5Z28z8EukgdWnAUFAS2wdBtIpwHhHBIiq0NBOWEbSXN0Rg==
- dependencies:
- builtin-modules "^2.0.0"
-
-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"
- integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
- 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"
- integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
- dependencies:
- kind-of "^6.0.0"
-
-is-descriptor@^0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
- integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
- 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"
- integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
- dependencies:
- is-accessor-descriptor "^1.0.0"
- is-data-descriptor "^1.0.0"
- kind-of "^6.0.2"
-
-is-dotfile@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
- integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
-
-is-equal-shallow@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
- integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
- dependencies:
- is-primitive "^2.0.0"
-
-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"
- integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-
-is-extendable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
- dependencies:
- is-plain-object "^2.0.4"
-
-is-extglob@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
- integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
-
-is-glob@^2.0.0, is-glob@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
- integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
- dependencies:
- is-extglob "^1.0.0"
-
-is-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
- integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
-
-is-number@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
- integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
- integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
- dependencies:
- kind-of "^3.0.2"
-
-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"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
-is-posix-bracket@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
- integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
-
-is-primitive@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
- integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
-
-is-windows@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
- integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
- integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
-
-isarray@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
-isobject@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
- integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
- 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"
- integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-
-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"
- integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
- 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"
- integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
- 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"
- integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
-
-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"
- integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
-
-levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
-magic-string@^0.25.1:
- version "0.25.2"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.2.tgz#139c3a729515ec55e96e69e82a11fe890a293ad9"
- integrity sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==
- dependencies:
- sourcemap-codec "^1.4.4"
-
-map-cache@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
- integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
-
-map-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
- integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
- dependencies:
- object-visit "^1.0.0"
-
-micromatch@^2.3.11:
- version "2.3.11"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
- integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
- dependencies:
- arr-diff "^2.0.0"
- array-unique "^0.2.1"
- braces "^1.8.2"
- expand-brackets "^0.1.4"
- extglob "^0.3.1"
- filename-regex "^2.0.0"
- is-extglob "^1.0.0"
- is-glob "^2.0.1"
- kind-of "^3.0.2"
- normalize-path "^2.0.1"
- object.omit "^2.0.0"
- parse-glob "^3.0.4"
- regex-cache "^0.4.2"
-
-micromatch@^3.1.10:
- version "3.1.10"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
- integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
- 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"
-
-minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- 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"
- integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
-
-minimist@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
- integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-
-mixin-deep@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
- integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==
- dependencies:
- for-in "^1.0.2"
- is-extendable "^1.0.1"
-
-mkdirp@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
- integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
- 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"
- integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-
-nanomatch@^1.2.9:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
- integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
- 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-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"
-
-normalize-path@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
- integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
- dependencies:
- remove-trailing-separator "^1.0.1"
-
-object-copy@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
- integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
- dependencies:
- copy-descriptor "^0.1.0"
- define-property "^0.2.5"
- kind-of "^3.0.3"
-
-object-visit@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
- integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
- dependencies:
- isobject "^3.0.0"
-
-object.omit@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
- integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
- dependencies:
- for-own "^0.1.4"
- is-extendable "^0.1.1"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
- dependencies:
- isobject "^3.0.1"
-
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-opn@^5.3.0:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035"
- integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==
- 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"
- integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
- 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-tmpdir@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
- integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-
-parse-glob@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
- integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
- dependencies:
- glob-base "^0.3.0"
- is-dotfile "^1.0.0"
- is-extglob "^1.0.0"
- is-glob "^2.0.0"
-
-pascalcase@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
- integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
-
-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"
- integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
- integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
-
-preserve@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
- integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
-
-prettier@^1.7.4:
- version "1.16.4"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717"
- integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==
-
-randomatic@^1.1.3:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
- integrity sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-rechoir@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
- integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
- dependencies:
- resolve "^1.1.6"
-
-regex-cache@^0.4.2:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
- integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
- dependencies:
- is-equal-shallow "^0.1.3"
-
-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"
- integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
- dependencies:
- extend-shallow "^3.0.2"
- safe-regex "^1.1.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"
- integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
-
-repeat-element@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
- integrity sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=
-
-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"
- integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-
-resolve-url@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
- integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-
-resolve@^1.1.6, resolve@^1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
- integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==
- dependencies:
- path-parse "^1.0.6"
-
-ret@~0.1.10:
- version "0.1.15"
- resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
- integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-
-rimraf@~2.6.2:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
- integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
- dependencies:
- glob "^7.1.3"
-
-rollup-plugin-amd@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-amd/-/rollup-plugin-amd-3.0.0.tgz#c09efa5e00ae092cfe581a62fb6f0b01bf788ec1"
- integrity sha512-nlazscW4UdlCKef12oxlombIWSicuHZDiY8fyU0dhpB7CQFb3JTX/qq17zDccn+K2QBbIvXlGdTusyQi5eMUIQ==
- dependencies:
- "@buxlabs/amd-to-es6" "^0.12.0"
- rollup-pluginutils "^2.0.1"
-
-rollup-plugin-commonjs@^9.2.1:
- version "9.2.1"
- resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.1.tgz#bb151ca8fa23600c7a03e25f9f0a45b1ee922dac"
- integrity sha512-X0A/Cp/t+zbONFinBhiTZrfuUaVwRIp4xsbKq/2ohA2CDULa/7ONSJTelqxon+Vds2R2t2qJTqJQucKUC8GKkw==
- dependencies:
- estree-walker "^0.5.2"
- magic-string "^0.25.1"
- resolve "^1.10.0"
- rollup-pluginutils "^2.3.3"
-
-rollup-plugin-json@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz#a18da0a4b30bf5ca1ee76ddb1422afbb84ae2b9e"
- integrity sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow==
- dependencies:
- rollup-pluginutils "^2.5.0"
-
-rollup-plugin-node-resolve@~4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.2.0.tgz#f1f38392a97360195be04d3c3d791ddd9715d755"
- integrity sha512-JhD9hcOFv4oPQ5zViwP3Z79WSXCvcoSDmtZ1tn2pOKry28+XpoRRzWZHp5qz1aPKtTHRLRoMMnrMxnwDhbtuUw==
- dependencies:
- "@types/resolve" "0.0.8"
- builtin-modules "^3.0.0"
- is-module "^1.0.0"
- resolve "^1.10.0"
-
-rollup-plugin-sourcemaps@^0.4.2:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz#62125aa94087aadf7b83ef4dfaf629b473135e87"
- integrity sha1-YhJaqUCHqt97g+9N+vYptHMTXoc=
- dependencies:
- rollup-pluginutils "^2.0.1"
- source-map-resolve "^0.5.0"
-
-rollup-pluginutils@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0"
- integrity sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=
- dependencies:
- estree-walker "^0.3.0"
- micromatch "^2.3.11"
-
-rollup-pluginutils@^2.3.3:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.4.1.tgz#de43ab54965bbf47843599a7f3adceb723de38db"
- integrity sha512-wesMQ9/172IJDIW/lYWm0vW0LiKe5Ekjws481R7z9WTRtmO59cqyM/2uUlxvf6yzm/fElFmHUobeQOYz46dZJw==
- dependencies:
- estree-walker "^0.6.0"
- micromatch "^3.1.10"
-
-rollup-pluginutils@^2.5.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.6.0.tgz#203706edd43dfafeaebc355d7351119402fc83ad"
- integrity sha512-aGQwspEF8oPKvg37u3p7h0cYNwmJR1sCBMZGZ5b9qy8HGtETknqjzcxrDRrcAnJNXN18lBH4Q9vZYth/p4n8jQ==
- dependencies:
- estree-walker "^0.6.0"
- micromatch "^3.1.10"
-
-rollup@1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.3.1.tgz#cf3bad0ba38ee4534e3057cc6b7e662b6db83d78"
- integrity sha512-XaVp/ggPVQ3zD4wktUzJo0XGbsnRHsGWk4B4497hE35emWods/WkrIEVgoLRSvMSxCpklLPBfWZAiTs/VeFSNg==
- dependencies:
- "@types/estree" "0.0.39"
- "@types/node" "^11.9.5"
- acorn "^6.1.0"
-
-safe-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
- integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
- dependencies:
- ret "~0.1.10"
-
-set-value@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
- integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE=
- 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"
- integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.3"
- split-string "^3.0.1"
-
-shelljs@0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
- integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==
- dependencies:
- glob "^7.0.0"
- interpret "^1.0.0"
- rechoir "^0.6.2"
-
-snapdragon-node@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
- integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
- 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"
- integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
- 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"
- integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
- 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"
-
-source-map-explorer@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/source-map-explorer/-/source-map-explorer-1.7.0.tgz#d6ff79eaf11990223c35ced78788c09d6e864968"
- integrity sha512-S9Tb48Ia4ozNLvr0khOzygfoFjtzRVLD/h2I0VzwUoWz+rmuvNMzuzmbAHcK7/F6Gley3yhr1Mhoavokv5qg8A==
- dependencies:
- btoa "^1.1.2"
- convert-source-map "^1.1.1"
- docopt "^0.6.2"
- ejs "^2.6.1"
- glob "^7.1.2"
- opn "^5.3.0"
- source-map "^0.5.1"
- temp "^0.9.0"
-
-source-map-resolve@^0.5.0:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a"
- integrity sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==
- dependencies:
- atob "^2.0.0"
- 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.5.9:
- version "0.5.10"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c"
- integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-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"
- integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-
-source-map@^0.5.1, source-map@^0.5.6:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-source-map@^0.6.0, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-sourcemap-codec@^1.4.4:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f"
- integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==
-
-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"
- integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
- dependencies:
- extend-shallow "^3.0.0"
-
-static-extend@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
- integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
- dependencies:
- define-property "^0.2.5"
- object-copy "^0.1.0"
-
-temp@^0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.0.tgz#61391795a11bd9738d4c4d7f55f012cb8f55edaa"
- integrity sha512-YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==
- dependencies:
- rimraf "~2.6.2"
-
-terser@^3.16.1:
- version "3.16.1"
- resolved "https://registry.yarnpkg.com/terser/-/terser-3.16.1.tgz#5b0dd4fa1ffd0b0b43c2493b2c364fd179160493"
- integrity sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==
- dependencies:
- commander "~2.17.1"
- source-map "~0.6.1"
- source-map-support "~0.5.9"
-
-tmp@0.0.33:
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
- integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
- dependencies:
- os-tmpdir "~1.0.2"
-
-to-ast@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/to-ast/-/to-ast-1.0.0.tgz#0c4a31c8c98edfde9aaf0192c794b4c8b11ee287"
- integrity sha1-DEoxyMmO396arwGSx5S0yLEe4oc=
- dependencies:
- ast-types "^0.7.2"
- esprima "^2.1.0"
-
-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"
- integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
- 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"
- integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
- 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"
- integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
- dependencies:
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- regex-not "^1.0.2"
- safe-regex "^1.1.0"
-
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
- dependencies:
- prelude-ls "~1.1.2"
-
-typescript@3.3.3333:
- version "3.3.3333"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6"
- integrity sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==
-
-union-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
- integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=
- dependencies:
- arr-union "^3.1.0"
- get-value "^2.0.6"
- is-extendable "^0.1.1"
- set-value "^0.4.3"
-
-unset-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
- integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
- dependencies:
- has-value "^0.3.1"
- isobject "^3.0.0"
-
-urix@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
- integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-
-use@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
- integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-
-wordwrap@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
- integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=