feat(bazel): add dts bundler as action to ng_module (#28588)
This enabled dts flattening in the final distrubutable package. Notes: - For the time being this is an opt-in feature via the `ng_module` attribute `bundle_dts`, however in the near future this will be turned on by default. - This only supports the legacy compiler `ngc`, as `ngtsc` emits namespaced imports `import * as __` from local modules which is not supported for the time being by API Extractor. See: https://github.com/Microsoft/web-build-tools/issues/1029 Ref: TOOL-611 PR Close #28588
This commit is contained in:
parent
3842dd6a6d
commit
3d39100c85
|
@ -37,6 +37,7 @@
|
||||||
"@angular-devkit/schematics": "^7.3.0-rc.0",
|
"@angular-devkit/schematics": "^7.3.0-rc.0",
|
||||||
"@bazel/karma": "0.23.2",
|
"@bazel/karma": "0.23.2",
|
||||||
"@bazel/typescript": "0.23.2",
|
"@bazel/typescript": "0.23.2",
|
||||||
|
"@microsoft/api-extractor": "^7.0.11",
|
||||||
"@schematics/angular": "^7.0.4",
|
"@schematics/angular": "^7.0.4",
|
||||||
"@types/angular": "^1.6.47",
|
"@types/angular": "^1.6.47",
|
||||||
"@types/base64-js": "1.2.5",
|
"@types/base64-js": "1.2.5",
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
"@angular-devkit/core": "^7.0.4",
|
"@angular-devkit/core": "^7.0.4",
|
||||||
"@angular-devkit/schematics": "^7.3.0-rc.0",
|
"@angular-devkit/schematics": "^7.3.0-rc.0",
|
||||||
"@bazel/typescript": "^0.23.2",
|
"@bazel/typescript": "^0.23.2",
|
||||||
|
"@microsoft/api-extractor": "^7.0.11",
|
||||||
"@schematics/angular": "^7.0.4",
|
"@schematics/angular": "^7.0.4",
|
||||||
"@types/node": "6.0.84",
|
"@types/node": "6.0.84",
|
||||||
"semver": "^5.6.0",
|
"semver": "^5.6.0",
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package(default_visibility = ["//packages:__subpackages__"])
|
||||||
|
|
||||||
|
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary")
|
||||||
|
load("//tools:defaults.bzl", "ts_library")
|
||||||
|
|
||||||
|
ts_library(
|
||||||
|
name = "lib",
|
||||||
|
srcs = [
|
||||||
|
"index.ts",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
"@ngdeps//@bazel/typescript",
|
||||||
|
"@ngdeps//@microsoft/api-extractor",
|
||||||
|
"@ngdeps//@types/node",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
nodejs_binary(
|
||||||
|
name = "api_extractor",
|
||||||
|
data = [
|
||||||
|
":lib",
|
||||||
|
"@ngdeps//@bazel/typescript",
|
||||||
|
"@ngdeps//@microsoft/api-extractor",
|
||||||
|
],
|
||||||
|
entry_point = "angular/packages/bazel/src/api-extractor/index.js",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
|
@ -0,0 +1,115 @@
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/// <reference types="node"/>
|
||||||
|
/// <reference lib="es2017"/>
|
||||||
|
|
||||||
|
import {format, parseTsconfig} from '@bazel/typescript';
|
||||||
|
import {Extractor, ExtractorValidationRulePolicy, IExtractorConfig, IExtractorOptions} from '@microsoft/api-extractor';
|
||||||
|
import * as fs from 'fs';
|
||||||
|
import * as path from 'path';
|
||||||
|
|
||||||
|
const DEBUG = false;
|
||||||
|
|
||||||
|
export function runMain(
|
||||||
|
tsConfig: string, entryPoint: string, dtsBundleOut?: string, apiReviewFolder?: string,
|
||||||
|
acceptApiUpdates = false): 1|0 {
|
||||||
|
const [parsedConfig, errors] = parseTsconfig(tsConfig);
|
||||||
|
if (errors && errors.length) {
|
||||||
|
console.error(format('', errors));
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
const pkgJson = path.resolve(path.dirname(entryPoint), 'package.json');
|
||||||
|
if (!fs.existsSync(pkgJson)) {
|
||||||
|
fs.writeFileSync(pkgJson, JSON.stringify({
|
||||||
|
'name': 'GENERATED-BY-BAZEL',
|
||||||
|
'version': '0.0.0',
|
||||||
|
'description': 'This is a dummy package.json as API Extractor always requires one.',
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
// API extractor doesn't always support the version of TypeScript used in the repo
|
||||||
|
// example: at the moment it is not compatable with 3.2
|
||||||
|
// to use the internal TypeScript we shall not create a program but rather pass a parsed tsConfig.
|
||||||
|
const parsedTsConfig = parsedConfig !.config as any;
|
||||||
|
const compilerOptions = parsedTsConfig.compilerOptions;
|
||||||
|
for (const [key, values] of Object.entries<string[]>(compilerOptions.paths)) {
|
||||||
|
if (key === '*') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// we shall not pass ts files as this will need to be parsed, and for example rxjs,
|
||||||
|
// cannot be compiled with our tsconfig, as ours is more strict
|
||||||
|
// hence amend the paths to point always to the '.d.ts' files.
|
||||||
|
compilerOptions.paths[key] = values.map(path => {
|
||||||
|
const pathSuffix = /(\*|index)$/.test(path) ? '.d.ts' : '/index.d.ts';
|
||||||
|
|
||||||
|
return path + pathSuffix;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const extractorOptions: IExtractorOptions = {
|
||||||
|
localBuild: acceptApiUpdates,
|
||||||
|
customLogger: DEBUG ? undefined : {
|
||||||
|
// don't log verbose messages when not in debug mode
|
||||||
|
logVerbose: _message => {}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const extractorConfig: IExtractorConfig = {
|
||||||
|
compiler: {
|
||||||
|
configType: 'tsconfig',
|
||||||
|
overrideTsconfig: parsedTsConfig,
|
||||||
|
rootFolder: path.resolve(path.dirname(tsConfig))
|
||||||
|
},
|
||||||
|
project: {
|
||||||
|
entryPointSourceFile: path.resolve(entryPoint),
|
||||||
|
},
|
||||||
|
apiReviewFile: {
|
||||||
|
enabled: !!apiReviewFolder,
|
||||||
|
apiReviewFolder: apiReviewFolder && path.resolve(apiReviewFolder),
|
||||||
|
},
|
||||||
|
apiJsonFile: {
|
||||||
|
enabled: false,
|
||||||
|
},
|
||||||
|
policies: {
|
||||||
|
namespaceSupport: 'permissive',
|
||||||
|
},
|
||||||
|
validationRules: {
|
||||||
|
missingReleaseTags: ExtractorValidationRulePolicy.allow,
|
||||||
|
},
|
||||||
|
dtsRollup: {
|
||||||
|
enabled: !!dtsBundleOut,
|
||||||
|
publishFolder: dtsBundleOut && path.resolve(path.dirname(dtsBundleOut)),
|
||||||
|
mainDtsRollupPath: dtsBundleOut && path.basename(dtsBundleOut),
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const extractor = new Extractor(extractorConfig, extractorOptions);
|
||||||
|
const isSuccessful = extractor.processProject();
|
||||||
|
|
||||||
|
// API extractor errors are emitted by it's logger.
|
||||||
|
return isSuccessful ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Entry point
|
||||||
|
if (require.main === module) {
|
||||||
|
if (DEBUG) {
|
||||||
|
console.error(`
|
||||||
|
api-extractor: running with
|
||||||
|
cwd: ${process.cwd()}
|
||||||
|
argv:
|
||||||
|
${process.argv.join('\n ')}
|
||||||
|
`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const [tsConfig, entryPoint, dtsBundleOut] = process.argv.slice(2);
|
||||||
|
process.exitCode = runMain(tsConfig, entryPoint, dtsBundleOut);
|
||||||
|
}
|
|
@ -30,3 +30,4 @@ ts_providers_dict_to_struct = _ts_providers_dict_to_struct
|
||||||
|
|
||||||
DEFAULT_NG_COMPILER = "@angular//:@angular/bazel/ngc-wrapped"
|
DEFAULT_NG_COMPILER = "@angular//:@angular/bazel/ngc-wrapped"
|
||||||
DEFAULT_NG_XI18N = "@npm//@angular/bazel/bin:xi18n"
|
DEFAULT_NG_XI18N = "@npm//@angular/bazel/bin:xi18n"
|
||||||
|
FLAT_DTS_FILE_SUFFIX = ".bundle.d.ts"
|
||||||
|
|
|
@ -12,6 +12,7 @@ load(
|
||||||
"DEFAULT_NG_COMPILER",
|
"DEFAULT_NG_COMPILER",
|
||||||
"DEFAULT_NG_XI18N",
|
"DEFAULT_NG_XI18N",
|
||||||
"DEPS_ASPECTS",
|
"DEPS_ASPECTS",
|
||||||
|
"FLAT_DTS_FILE_SUFFIX",
|
||||||
"NodeModuleInfo",
|
"NodeModuleInfo",
|
||||||
"collect_node_modules_aspect",
|
"collect_node_modules_aspect",
|
||||||
"compile_ts",
|
"compile_ts",
|
||||||
|
@ -121,6 +122,24 @@ def _flat_module_out_file(ctx):
|
||||||
return ctx.attr.flat_module_out_file
|
return ctx.attr.flat_module_out_file
|
||||||
return "%s_public_index" % ctx.label.name
|
return "%s_public_index" % ctx.label.name
|
||||||
|
|
||||||
|
def _should_produce_dts_bundle(ctx):
|
||||||
|
"""Should we produce dts bundles.
|
||||||
|
|
||||||
|
We only produce flatten dts outs when we expect the ng_module is meant to be published,
|
||||||
|
based on the value of the bundle_dts attribute.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
ctx: skylark rule execution context
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
true when we should produce bundled dts.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# At the moment we cannot use this with ngtsc compiler since it emits
|
||||||
|
# import * as ___ from local modules which is not supported
|
||||||
|
# see: https://github.com/Microsoft/web-build-tools/issues/1029
|
||||||
|
return _is_legacy_ngc(ctx) and ctx.attr.bundle_dts
|
||||||
|
|
||||||
def _should_produce_flat_module_outs(ctx):
|
def _should_produce_flat_module_outs(ctx):
|
||||||
"""Should we produce flat module outputs.
|
"""Should we produce flat module outputs.
|
||||||
|
|
||||||
|
@ -200,6 +219,14 @@ def _expected_outs(ctx):
|
||||||
if not _is_bazel():
|
if not _is_bazel():
|
||||||
metadata_files += [ctx.actions.declare_file(basename + ext) for ext in metadata]
|
metadata_files += [ctx.actions.declare_file(basename + ext) for ext in metadata]
|
||||||
|
|
||||||
|
dts_bundle = None
|
||||||
|
if _should_produce_dts_bundle(ctx):
|
||||||
|
# We need to add a suffix to bundle as it might collide with the flat module dts.
|
||||||
|
# The flat module dts out contains several other exports
|
||||||
|
# https://github.com/angular/angular/blob/master/packages/compiler-cli/src/metadata/index_writer.ts#L18
|
||||||
|
# the file name will be like 'core.bundle.d.ts'
|
||||||
|
dts_bundle = ctx.actions.declare_file(ctx.label.name + FLAT_DTS_FILE_SUFFIX)
|
||||||
|
|
||||||
# We do this just when producing a flat module index for a publishable ng_module
|
# We do this just when producing a flat module index for a publishable ng_module
|
||||||
if _should_produce_flat_module_outs(ctx):
|
if _should_produce_flat_module_outs(ctx):
|
||||||
flat_module_out = _flat_module_out_file(ctx)
|
flat_module_out = _flat_module_out_file(ctx)
|
||||||
|
@ -225,6 +252,7 @@ def _expected_outs(ctx):
|
||||||
declarations = declaration_files,
|
declarations = declaration_files,
|
||||||
summaries = summary_files,
|
summaries = summary_files,
|
||||||
metadata = metadata_files,
|
metadata = metadata_files,
|
||||||
|
dts_bundle = dts_bundle,
|
||||||
bundle_index_typings = bundle_index_typings,
|
bundle_index_typings = bundle_index_typings,
|
||||||
i18n_messages = i18n_messages_files,
|
i18n_messages = i18n_messages_files,
|
||||||
)
|
)
|
||||||
|
@ -302,6 +330,7 @@ def ngc_compile_action(
|
||||||
label,
|
label,
|
||||||
inputs,
|
inputs,
|
||||||
outputs,
|
outputs,
|
||||||
|
dts_bundle_out,
|
||||||
messages_out,
|
messages_out,
|
||||||
tsconfig_file,
|
tsconfig_file,
|
||||||
node_opts,
|
node_opts,
|
||||||
|
@ -317,6 +346,7 @@ def ngc_compile_action(
|
||||||
label: the label of the ng_module being compiled
|
label: the label of the ng_module being compiled
|
||||||
inputs: passed to the ngc action's inputs
|
inputs: passed to the ngc action's inputs
|
||||||
outputs: passed to the ngc action's outputs
|
outputs: passed to the ngc action's outputs
|
||||||
|
dts_bundle_out: produced flattened dts file
|
||||||
messages_out: produced xmb files
|
messages_out: produced xmb files
|
||||||
tsconfig_file: tsconfig file with settings used for the compilation
|
tsconfig_file: tsconfig file with settings used for the compilation
|
||||||
node_opts: list of strings, extra nodejs options.
|
node_opts: list of strings, extra nodejs options.
|
||||||
|
@ -380,6 +410,28 @@ def ngc_compile_action(
|
||||||
mnemonic = "Angular2MessageExtractor",
|
mnemonic = "Angular2MessageExtractor",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if dts_bundle_out != None:
|
||||||
|
# combine the inputs and outputs and filter .d.ts and json files
|
||||||
|
filter_inputs = [f for f in inputs + outputs if f.path.endswith(".d.ts") or f.path.endswith(".json")]
|
||||||
|
|
||||||
|
if _should_produce_flat_module_outs(ctx):
|
||||||
|
dts_entry_point = "%s.d.ts" % _flat_module_out_file(ctx)
|
||||||
|
else:
|
||||||
|
dts_entry_point = ctx.attr.entry_point.replace(".ts", ".d.ts")
|
||||||
|
|
||||||
|
ctx.actions.run(
|
||||||
|
progress_message = "Bundling DTS %s" % str(ctx.label),
|
||||||
|
mnemonic = "APIExtractor",
|
||||||
|
executable = ctx.executable._api_extractor,
|
||||||
|
inputs = filter_inputs,
|
||||||
|
outputs = [dts_bundle_out],
|
||||||
|
arguments = [
|
||||||
|
tsconfig_file.path,
|
||||||
|
"/".join([ctx.bin_dir.path, ctx.label.package, dts_entry_point]),
|
||||||
|
dts_bundle_out.path,
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
if not locale and not ctx.attr.no_i18n:
|
if not locale and not ctx.attr.no_i18n:
|
||||||
return struct(
|
return struct(
|
||||||
label = label,
|
label = label,
|
||||||
|
@ -400,7 +452,7 @@ def _filter_ts_inputs(all_inputs):
|
||||||
if f.path.endswith(".js") or f.path.endswith(".ts") or f.path.endswith(".json")
|
if f.path.endswith(".js") or f.path.endswith(".ts") or f.path.endswith(".json")
|
||||||
]
|
]
|
||||||
|
|
||||||
def _compile_action(ctx, inputs, outputs, messages_out, tsconfig_file, node_opts):
|
def _compile_action(ctx, inputs, outputs, dts_bundle_out, messages_out, tsconfig_file, node_opts):
|
||||||
# Give the Angular compiler all the user-listed assets
|
# Give the Angular compiler all the user-listed assets
|
||||||
file_inputs = list(ctx.files.assets)
|
file_inputs = list(ctx.files.assets)
|
||||||
|
|
||||||
|
@ -427,16 +479,16 @@ def _compile_action(ctx, inputs, outputs, messages_out, tsconfig_file, node_opts
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
return ngc_compile_action(ctx, ctx.label, action_inputs, outputs, messages_out, tsconfig_file, node_opts)
|
return ngc_compile_action(ctx, ctx.label, action_inputs, outputs, dts_bundle_out, messages_out, tsconfig_file, node_opts)
|
||||||
|
|
||||||
def _prodmode_compile_action(ctx, inputs, outputs, tsconfig_file, node_opts):
|
def _prodmode_compile_action(ctx, inputs, outputs, tsconfig_file, node_opts):
|
||||||
outs = _expected_outs(ctx)
|
outs = _expected_outs(ctx)
|
||||||
return _compile_action(ctx, inputs, outputs + outs.closure_js, outs.i18n_messages, tsconfig_file, node_opts)
|
return _compile_action(ctx, inputs, outputs + outs.closure_js, None, outs.i18n_messages, tsconfig_file, node_opts)
|
||||||
|
|
||||||
def _devmode_compile_action(ctx, inputs, outputs, tsconfig_file, node_opts):
|
def _devmode_compile_action(ctx, inputs, outputs, tsconfig_file, node_opts):
|
||||||
outs = _expected_outs(ctx)
|
outs = _expected_outs(ctx)
|
||||||
compile_action_outputs = outputs + outs.devmode_js + outs.declarations + outs.summaries + outs.metadata
|
compile_action_outputs = outputs + outs.devmode_js + outs.declarations + outs.summaries + outs.metadata
|
||||||
_compile_action(ctx, inputs, compile_action_outputs, None, tsconfig_file, node_opts)
|
_compile_action(ctx, inputs, compile_action_outputs, outs.dts_bundle, None, tsconfig_file, node_opts)
|
||||||
|
|
||||||
def _ts_expected_outs(ctx, label, srcs_files = []):
|
def _ts_expected_outs(ctx, label, srcs_files = []):
|
||||||
# rules_typescript expects a function with two or more arguments, but our
|
# rules_typescript expects a function with two or more arguments, but our
|
||||||
|
@ -497,6 +549,9 @@ def ng_module_impl(ctx, ts_compile_actions):
|
||||||
flat_module_out_file = _flat_module_out_file(ctx),
|
flat_module_out_file = _flat_module_out_file(ctx),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if outs.dts_bundle != None:
|
||||||
|
providers["dts_bundle"] = outs.dts_bundle
|
||||||
|
|
||||||
return providers
|
return providers
|
||||||
|
|
||||||
def _ng_module_impl(ctx):
|
def _ng_module_impl(ctx):
|
||||||
|
@ -551,6 +606,11 @@ NG_MODULE_ATTRIBUTES = {
|
||||||
executable = True,
|
executable = True,
|
||||||
cfg = "host",
|
cfg = "host",
|
||||||
),
|
),
|
||||||
|
"_api_extractor": attr.label(
|
||||||
|
default = Label("//packages/bazel/src/api-extractor:api_extractor"),
|
||||||
|
executable = True,
|
||||||
|
cfg = "host",
|
||||||
|
),
|
||||||
"_supports_workers": attr.bool(default = True),
|
"_supports_workers": attr.bool(default = True),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -630,6 +690,7 @@ NG_MODULE_RULE_ATTRS = dict(dict(COMMON_ATTRIBUTES, **NG_MODULE_ATTRIBUTES), **{
|
||||||
# See the flatModuleOutFile documentation in
|
# See the flatModuleOutFile documentation in
|
||||||
# https://github.com/angular/angular/blob/master/packages/compiler-cli/src/transformers/api.ts
|
# https://github.com/angular/angular/blob/master/packages/compiler-cli/src/transformers/api.ts
|
||||||
"flat_module_out_file": attr.string(),
|
"flat_module_out_file": attr.string(),
|
||||||
|
"bundle_dts": attr.bool(default = False),
|
||||||
})
|
})
|
||||||
|
|
||||||
ng_module = rule(
|
ng_module = rule(
|
||||||
|
|
|
@ -29,6 +29,7 @@ load(
|
||||||
"NPM_PACKAGE_OUTPUTS",
|
"NPM_PACKAGE_OUTPUTS",
|
||||||
"create_package",
|
"create_package",
|
||||||
)
|
)
|
||||||
|
load("//packages/bazel/src:external.bzl", "FLAT_DTS_FILE_SUFFIX")
|
||||||
load("//packages/bazel/src:esm5.bzl", "esm5_outputs_aspect", "esm5_root_dir", "flatten_esm5")
|
load("//packages/bazel/src:esm5.bzl", "esm5_outputs_aspect", "esm5_root_dir", "flatten_esm5")
|
||||||
load("//packages/bazel/src/ng_package:collect-type-definitions.bzl", "collect_type_definitions")
|
load("//packages/bazel/src/ng_package:collect-type-definitions.bzl", "collect_type_definitions")
|
||||||
|
|
||||||
|
@ -188,15 +189,6 @@ def _ng_package_impl(ctx):
|
||||||
esm_2015_files = _filter_out_generated_files(collect_es6_sources(ctx), "js")
|
esm_2015_files = _filter_out_generated_files(collect_es6_sources(ctx), "js")
|
||||||
esm5_sources = _filter_out_generated_files(flatten_esm5(ctx), "js")
|
esm5_sources = _filter_out_generated_files(flatten_esm5(ctx), "js")
|
||||||
|
|
||||||
# Filter out all TypeScript definitions generated by NGC as well as definition files
|
|
||||||
# that do not belong to the current package. We only want to package types that belong
|
|
||||||
# to the current package.
|
|
||||||
type_definitions = _filter_out_generated_files(
|
|
||||||
collect_type_definitions(ctx),
|
|
||||||
"d.ts",
|
|
||||||
ctx.label.package,
|
|
||||||
)
|
|
||||||
|
|
||||||
# These accumulators match the directory names where the files live in the
|
# These accumulators match the directory names where the files live in the
|
||||||
# Angular package format.
|
# Angular package format.
|
||||||
fesm2015 = []
|
fesm2015 = []
|
||||||
|
@ -204,6 +196,8 @@ def _ng_package_impl(ctx):
|
||||||
esm2015 = []
|
esm2015 = []
|
||||||
esm5 = []
|
esm5 = []
|
||||||
bundles = []
|
bundles = []
|
||||||
|
bundled_type_definitions = []
|
||||||
|
type_definitions = []
|
||||||
|
|
||||||
# For Angular Package Format v6, we put all the individual .js files in the
|
# For Angular Package Format v6, we put all the individual .js files in the
|
||||||
# esm5/ and esm2015/ folders.
|
# esm5/ and esm2015/ folders.
|
||||||
|
@ -235,6 +229,22 @@ def _ng_package_impl(ctx):
|
||||||
# fallback to a reasonable default
|
# fallback to a reasonable default
|
||||||
flat_module_out_file = "index.js"
|
flat_module_out_file = "index.js"
|
||||||
|
|
||||||
|
if hasattr(dep, "dts_bundle"):
|
||||||
|
bundled_type_definitions.append(dep.dts_bundle)
|
||||||
|
elif len(type_definitions) == 0:
|
||||||
|
# Filter out all TypeScript definitions generated by NGC as well as definition files
|
||||||
|
# that do not belong to the current package. We only want to package types that belong
|
||||||
|
# to the current package.
|
||||||
|
type_definitions = _filter_out_generated_files(
|
||||||
|
collect_type_definitions(ctx),
|
||||||
|
"d.ts",
|
||||||
|
ctx.label.package,
|
||||||
|
).to_list()
|
||||||
|
|
||||||
|
if len(type_definitions) > 0 and len(bundled_type_definitions) > 0:
|
||||||
|
# bundle_dts needs to be enabled/disabled for all ng module packages.
|
||||||
|
fail("Expected all or none of the 'ng_module' dependencies to have 'bundle_dts' enabled.")
|
||||||
|
|
||||||
es2015_entry_point = "/".join([p for p in [
|
es2015_entry_point = "/".join([p for p in [
|
||||||
ctx.bin_dir.path,
|
ctx.bin_dir.path,
|
||||||
ctx.label.package,
|
ctx.label.package,
|
||||||
|
@ -304,7 +314,8 @@ def _ng_package_impl(ctx):
|
||||||
ctx.files.srcs +
|
ctx.files.srcs +
|
||||||
ctx.files.data +
|
ctx.files.data +
|
||||||
esm5_sources.to_list() +
|
esm5_sources.to_list() +
|
||||||
type_definitions.to_list() +
|
type_definitions +
|
||||||
|
bundled_type_definitions +
|
||||||
[f.js for f in fesm2015 + fesm5 + esm2015 + esm5 + bundles] +
|
[f.js for f in fesm2015 + fesm5 + esm2015 + esm5 + bundles] +
|
||||||
[f.map for f in fesm2015 + fesm5 + esm2015 + esm5 + bundles if f.map]
|
[f.map for f in fesm2015 + fesm5 + esm2015 + esm5 + bundles if f.map]
|
||||||
)
|
)
|
||||||
|
@ -355,6 +366,9 @@ def _ng_package_impl(ctx):
|
||||||
# placeholder
|
# placeholder
|
||||||
packager_args.add("")
|
packager_args.add("")
|
||||||
|
|
||||||
|
packager_args.add_joined([d.path for d in bundled_type_definitions], join_with = ",", omit_if_empty = False)
|
||||||
|
packager_args.add(FLAT_DTS_FILE_SUFFIX)
|
||||||
|
|
||||||
ctx.actions.run(
|
ctx.actions.run(
|
||||||
progress_message = "Angular Packaging: building npm package %s" % str(ctx.label),
|
progress_message = "Angular Packaging: building npm package %s" % str(ctx.label),
|
||||||
mnemonic = "AngularPackage",
|
mnemonic = "AngularPackage",
|
||||||
|
|
|
@ -45,7 +45,7 @@ function main(args: string[]): number {
|
||||||
// flat module metadata, for example
|
// flat module metadata, for example
|
||||||
// {"@angular/core": {
|
// {"@angular/core": {
|
||||||
// "index": "bazel-bin/packages/core/core.js",
|
// "index": "bazel-bin/packages/core/core.js",
|
||||||
// "typing": "bazel-bin/packages/core/core.d.ts",
|
// "typings": "bazel-bin/packages/core/core.d.ts",
|
||||||
// "metadata": "bazel-bin/packages/core/core.metadata.json"
|
// "metadata": "bazel-bin/packages/core/core.metadata.json"
|
||||||
// },
|
// },
|
||||||
// ...
|
// ...
|
||||||
|
@ -81,6 +81,12 @@ function main(args: string[]): number {
|
||||||
|
|
||||||
// Path to the package's LICENSE.
|
// Path to the package's LICENSE.
|
||||||
licenseFile,
|
licenseFile,
|
||||||
|
|
||||||
|
// List of all dts bundles generated by the API extractor.
|
||||||
|
dtsBundleArg,
|
||||||
|
|
||||||
|
// The dts bundle file suffix example: '.bundle.d.ts'
|
||||||
|
dtsBundleFileSuffix,
|
||||||
] = params;
|
] = params;
|
||||||
|
|
||||||
const fesm2015 = fesm2015Arg.split(',').filter(s => !!s);
|
const fesm2015 = fesm2015Arg.split(',').filter(s => !!s);
|
||||||
|
@ -92,6 +98,7 @@ function main(args: string[]): number {
|
||||||
const srcs = srcsArg.split(',').filter(s => !!s);
|
const srcs = srcsArg.split(',').filter(s => !!s);
|
||||||
const dataFiles: string[] = dataArg.split(',').filter(s => !!s);
|
const dataFiles: string[] = dataArg.split(',').filter(s => !!s);
|
||||||
const modulesManifest = JSON.parse(modulesManifestArg);
|
const modulesManifest = JSON.parse(modulesManifestArg);
|
||||||
|
const dtsBundles: string[] = dtsBundleArg.split(',').filter(s => !!s);
|
||||||
|
|
||||||
if (readmeMd) {
|
if (readmeMd) {
|
||||||
copyFile(readmeMd, out);
|
copyFile(readmeMd, out);
|
||||||
|
@ -155,12 +162,7 @@ function main(args: string[]): number {
|
||||||
|
|
||||||
// Copy all type definitions into the package. This is necessary so that developers can use
|
// Copy all type definitions into the package. This is necessary so that developers can use
|
||||||
// the package with type definitions.
|
// the package with type definitions.
|
||||||
typeDefinitions.forEach((f: string) => {
|
typeDefinitions.forEach(f => writeFileFromInputPath(f, readTypingsAndStripAmdModule(f)));
|
||||||
const content = fs.readFileSync(f, 'utf-8')
|
|
||||||
// Strip the named AMD module for compatibility with non-bazel users
|
|
||||||
.replace(/^\/\/\/ <amd-module name=.*\/>[\r\n]+/gm, '');
|
|
||||||
writeFileFromInputPath(f, content);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Copy all `data` files into the package. These are files that aren't built by the ng_package
|
// Copy all `data` files into the package. These are files that aren't built by the ng_package
|
||||||
// rule, but instead are just straight copied into the package, e.g. global CSS assets.
|
// rule, but instead are just straight copied into the package, e.g. global CSS assets.
|
||||||
|
@ -176,7 +178,30 @@ function main(args: string[]): number {
|
||||||
moduleFiles['esm5_index'] = path.join(binDir, 'esm5', relative);
|
moduleFiles['esm5_index'] = path.join(binDir, 'esm5', relative);
|
||||||
moduleFiles['esm2015_index'] = path.join(binDir, 'esm2015', relative);
|
moduleFiles['esm2015_index'] = path.join(binDir, 'esm2015', relative);
|
||||||
|
|
||||||
copyFileFromInputPath(moduleFiles['metadata']);
|
const metadataFile = moduleFiles['metadata'];
|
||||||
|
const typingsOutFile = moduleFiles['typings'];
|
||||||
|
|
||||||
|
// We only support all modules within a package to be dts bundled
|
||||||
|
// ie: if @angular/common/http has flat dts, so should @angular/common
|
||||||
|
if (dtsBundles.length) {
|
||||||
|
const metadataContent = rewireMetadata(metadataFile, typingsOutFile);
|
||||||
|
writeFileFromInputPath(metadataFile, metadataContent);
|
||||||
|
} else {
|
||||||
|
copyFileFromInputPath(metadataFile);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const licenseBanner = licenseFile ? fs.readFileSync(licenseFile, 'utf-8') : '';
|
||||||
|
|
||||||
|
dtsBundles.forEach(bundleFile => {
|
||||||
|
const cleanDistPath = bundleFile.replace(dtsBundleFileSuffix, '.d.ts');
|
||||||
|
// API extractor will not dedupe license comments from various files
|
||||||
|
// this will remove all the license comments and append the license banner.
|
||||||
|
const content = licenseBanner + '\n' +
|
||||||
|
readTypingsAndStripAmdModule(bundleFile)
|
||||||
|
.replace(/(\/\*\*\s+\*\s\@license(((?!\*\/).|\s)*)\*\/)/gm, '');
|
||||||
|
|
||||||
|
writeFileFromInputPath(cleanDistPath, content);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Root package name (e.g. '@angular/common'), captures as we iterate through sources below.
|
// Root package name (e.g. '@angular/common'), captures as we iterate through sources below.
|
||||||
|
@ -210,8 +235,6 @@ function main(args: string[]): number {
|
||||||
writeFileFromInputPath(src, content);
|
writeFileFromInputPath(src, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
const licenseBanner = licenseFile ? fs.readFileSync(licenseFile, 'utf-8') : '';
|
|
||||||
|
|
||||||
// Generate extra files for secondary entry-points.
|
// Generate extra files for secondary entry-points.
|
||||||
Object.keys(modulesManifest).forEach(entryPointPackageName => {
|
Object.keys(modulesManifest).forEach(entryPointPackageName => {
|
||||||
const entryPointName = entryPointPackageName.substr(rootPackageName.length + 1);
|
const entryPointName = entryPointPackageName.substr(rootPackageName.length + 1);
|
||||||
|
@ -368,6 +391,39 @@ export * from '${srcDirRelative(inputPath, typingsFile.replace(/\.d\.tsx?$/, '')
|
||||||
* forward slash separators.
|
* forward slash separators.
|
||||||
*/
|
*/
|
||||||
function normalizeSeparators(path: string): string { return path.replace(/\\/g, '/'); }
|
function normalizeSeparators(path: string): string { return path.replace(/\\/g, '/'); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rewires metadata to point to the flattened dts file.
|
||||||
|
*
|
||||||
|
* @param metadataPath the metadata file path
|
||||||
|
* @param typingsPath the typings bundle entrypoint
|
||||||
|
*/
|
||||||
|
function rewireMetadata(metadataPath: string, typingsPath: string): string {
|
||||||
|
const metadata = fs.readFileSync(metadataPath, 'utf-8');
|
||||||
|
|
||||||
|
let typingsRelativePath =
|
||||||
|
normalizeSeparators(path.relative(path.dirname(metadataPath), typingsPath));
|
||||||
|
if (!typingsRelativePath.startsWith('..')) {
|
||||||
|
typingsRelativePath = `./${typingsRelativePath}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
typingsRelativePath = typingsRelativePath.replace('.d.ts', '');
|
||||||
|
|
||||||
|
// the regexp here catches all relative paths such as:
|
||||||
|
// ./src/core/foo.d.ts and ../src/core/foo.d.ts
|
||||||
|
return metadata.replace(/\.?\.\/[\w\.\-_\/]+/g, typingsRelativePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Strip the named AMD module for compatibility with non-bazel users from typings content
|
||||||
|
* @param filePath dts file path
|
||||||
|
*/
|
||||||
|
function readTypingsAndStripAmdModule(filePath: string): string {
|
||||||
|
return fs
|
||||||
|
.readFileSync(filePath, 'utf-8')
|
||||||
|
// Strip the named AMD module for compatibility with non-bazel users
|
||||||
|
.replace(/^\/\/\/ <amd-module name=.*\/>[\r\n]+/gm, '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (require.main === module) {
|
if (require.main === module) {
|
||||||
|
|
|
@ -70,6 +70,51 @@
|
||||||
source-map-support "0.5.9"
|
source-map-support "0.5.9"
|
||||||
tsutils "2.27.2"
|
tsutils "2.27.2"
|
||||||
|
|
||||||
|
"@microsoft/api-extractor@^7.0.11":
|
||||||
|
version "7.0.14"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.0.14.tgz#cc137b203cb5ad1bcca1e9bdf32d2593f867437b"
|
||||||
|
integrity sha512-ZKieNJBQLJx+5c4DrpTbRw8wuiAvffZesZs3HFBlUz1DSr23A2JrD+obqe07iRCXymSYSDp4Nh5wN9JydnR/Rw==
|
||||||
|
dependencies:
|
||||||
|
"@microsoft/node-core-library" "3.9.0"
|
||||||
|
"@microsoft/ts-command-line" "4.2.3"
|
||||||
|
"@microsoft/tsdoc" "0.12.5"
|
||||||
|
"@types/node" "8.5.8"
|
||||||
|
"@types/z-schema" "3.16.31"
|
||||||
|
colors "~1.2.1"
|
||||||
|
lodash "~4.17.5"
|
||||||
|
resolve "1.8.1"
|
||||||
|
typescript "~3.1.6"
|
||||||
|
z-schema "~3.18.3"
|
||||||
|
|
||||||
|
"@microsoft/node-core-library@3.9.0":
|
||||||
|
version "3.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/node-core-library/-/node-core-library-3.9.0.tgz#a999c15c45707bfd5e2329518e00cb2c8d33b55c"
|
||||||
|
integrity sha512-zmP6zNddcIrRXbg8NX9oHX2iCBLU9hZF/+7GeUi3hLbp13xMDHfdT4KepoT+8ZMOMZzRF1lcqiTiVy24VYvCEg==
|
||||||
|
dependencies:
|
||||||
|
"@types/fs-extra" "5.0.4"
|
||||||
|
"@types/jju" "~1.4.0"
|
||||||
|
"@types/node" "8.5.8"
|
||||||
|
"@types/z-schema" "3.16.31"
|
||||||
|
colors "~1.2.1"
|
||||||
|
fs-extra "~7.0.1"
|
||||||
|
jju "~1.4.0"
|
||||||
|
z-schema "~3.18.3"
|
||||||
|
|
||||||
|
"@microsoft/ts-command-line@4.2.3":
|
||||||
|
version "4.2.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/ts-command-line/-/ts-command-line-4.2.3.tgz#20d6a1684148b9fc0df25ee7335c3bb227d47d4f"
|
||||||
|
integrity sha512-SIs4q7RcG7efBbh5Ffrf6V4jVLxWihD4NDRY3+gPiOG8CYawBzE22tTEloZ1yj/FBvBZQkQ0GYwXoPhn6ElYXA==
|
||||||
|
dependencies:
|
||||||
|
"@types/argparse" "1.0.33"
|
||||||
|
"@types/node" "8.5.8"
|
||||||
|
argparse "~1.0.9"
|
||||||
|
colors "~1.2.1"
|
||||||
|
|
||||||
|
"@microsoft/tsdoc@0.12.5":
|
||||||
|
version "0.12.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.5.tgz#c448a38902ccb5601c1b2ef3b1a105012ef7712c"
|
||||||
|
integrity sha512-xEAyvLXo4Cter/b0EMCWUZTgXOfLOPJ/Xr52WdjVclPx9eDmNTGFtZl8Pn/nqSnZsQBNcHL0eHk/YyRyyXXpiQ==
|
||||||
|
|
||||||
"@schematics/angular@^7.0.4":
|
"@schematics/angular@^7.0.4":
|
||||||
version "7.1.2"
|
version "7.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.1.2.tgz#b3eefbc81d12b0b53816896f6172eb613885826c"
|
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.1.2.tgz#b3eefbc81d12b0b53816896f6172eb613885826c"
|
||||||
|
@ -79,11 +124,43 @@
|
||||||
"@angular-devkit/schematics" "7.1.2"
|
"@angular-devkit/schematics" "7.1.2"
|
||||||
typescript "3.1.6"
|
typescript "3.1.6"
|
||||||
|
|
||||||
|
"@types/argparse@1.0.33":
|
||||||
|
version "1.0.33"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.33.tgz#2728669427cdd74a99e53c9f457ca2866a37c52d"
|
||||||
|
integrity sha512-VQgHxyPMTj3hIlq9SY1mctqx+Jj8kpQfoLvDlVSDNOyuYs8JYfkuY3OW/4+dO657yPmNhHpePRx0/Tje5ImNVQ==
|
||||||
|
|
||||||
|
"@types/fs-extra@5.0.4":
|
||||||
|
version "5.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599"
|
||||||
|
integrity sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
|
||||||
|
"@types/jju@~1.4.0":
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/jju/-/jju-1.4.0.tgz#ee074af79540c0e187426f46f12acbe8f6c31232"
|
||||||
|
integrity sha512-s6l49zLzFiXYHaTXbA+FNcDRo8ufZgC2/T5/jH+Wfr+ZV2tYbrBpEpN9oPkXXfug+y7pTZFkdeyQ0L/88Z34JA==
|
||||||
|
|
||||||
|
"@types/node@*":
|
||||||
|
version "10.12.21"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
|
||||||
|
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
|
||||||
|
|
||||||
"@types/node@6.0.84":
|
"@types/node@6.0.84":
|
||||||
version "6.0.84"
|
version "6.0.84"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.84.tgz#193ffe5a9f42864d425ffd9739d95b753c6a1eab"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.84.tgz#193ffe5a9f42864d425ffd9739d95b753c6a1eab"
|
||||||
integrity sha512-1SvEazClhUBRNroJM3oB3xf3u2r6xGmHDGbdigqNPHvNKLl8/BtATgO9eC04ZLuovpSh0B20BF1QJxdi+qmTlg==
|
integrity sha512-1SvEazClhUBRNroJM3oB3xf3u2r6xGmHDGbdigqNPHvNKLl8/BtATgO9eC04ZLuovpSh0B20BF1QJxdi+qmTlg==
|
||||||
|
|
||||||
|
"@types/node@8.5.8":
|
||||||
|
version "8.5.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.8.tgz#92509422653f10e9c0ac18d87e0610b39f9821c7"
|
||||||
|
integrity sha512-8KmlRxwbKZfjUHFIt3q8TF5S2B+/E5BaAoo/3mgc5h6FJzqxXkCK/VMetO+IRDtwtU6HUvovHMBn+XRj7SV9Qg==
|
||||||
|
|
||||||
|
"@types/z-schema@3.16.31":
|
||||||
|
version "3.16.31"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/z-schema/-/z-schema-3.16.31.tgz#2eb1d00a5e4ec3fa58c76afde12e182b66dc5c1c"
|
||||||
|
integrity sha1-LrHQCl5Ow/pYx2r94S4YK2bcXBw=
|
||||||
|
|
||||||
abbrev@1:
|
abbrev@1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||||
|
@ -140,6 +217,13 @@ are-we-there-yet@~1.1.2:
|
||||||
delegates "^1.0.0"
|
delegates "^1.0.0"
|
||||||
readable-stream "^2.0.6"
|
readable-stream "^2.0.6"
|
||||||
|
|
||||||
|
argparse@~1.0.9:
|
||||||
|
version "1.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||||
|
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
|
||||||
|
dependencies:
|
||||||
|
sprintf-js "~1.0.2"
|
||||||
|
|
||||||
arr-diff@^4.0.0:
|
arr-diff@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
|
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
|
||||||
|
@ -319,11 +403,21 @@ collection-visit@^1.0.0:
|
||||||
map-visit "^1.0.0"
|
map-visit "^1.0.0"
|
||||||
object-visit "^1.0.0"
|
object-visit "^1.0.0"
|
||||||
|
|
||||||
|
colors@~1.2.1:
|
||||||
|
version "1.2.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
|
||||||
|
integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==
|
||||||
|
|
||||||
colour@~0.7.1:
|
colour@~0.7.1:
|
||||||
version "0.7.1"
|
version "0.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778"
|
resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778"
|
||||||
integrity sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=
|
integrity sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=
|
||||||
|
|
||||||
|
commander@^2.7.1:
|
||||||
|
version "2.19.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
|
||||||
|
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
|
||||||
|
|
||||||
component-emitter@^1.2.1:
|
component-emitter@^1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
|
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
|
||||||
|
@ -477,6 +571,15 @@ fragment-cache@^0.2.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
map-cache "^0.2.2"
|
map-cache "^0.2.2"
|
||||||
|
|
||||||
|
fs-extra@~7.0.1:
|
||||||
|
version "7.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
|
||||||
|
integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
|
||||||
|
dependencies:
|
||||||
|
graceful-fs "^4.1.2"
|
||||||
|
jsonfile "^4.0.0"
|
||||||
|
universalify "^0.1.0"
|
||||||
|
|
||||||
fs-minipass@^1.2.5:
|
fs-minipass@^1.2.5:
|
||||||
version "1.2.5"
|
version "1.2.5"
|
||||||
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
|
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
|
||||||
|
@ -536,7 +639,7 @@ glob@^7.0.0, glob@^7.0.5:
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
path-is-absolute "^1.0.0"
|
path-is-absolute "^1.0.0"
|
||||||
|
|
||||||
graceful-fs@^4.1.11:
|
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
|
||||||
version "4.1.15"
|
version "4.1.15"
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
|
||||||
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
|
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
|
||||||
|
@ -761,11 +864,23 @@ jasmine-core@2.8.0:
|
||||||
resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e"
|
resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e"
|
||||||
integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=
|
integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=
|
||||||
|
|
||||||
|
jju@~1.4.0:
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a"
|
||||||
|
integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo=
|
||||||
|
|
||||||
json-schema-traverse@^0.4.1:
|
json-schema-traverse@^0.4.1:
|
||||||
version "0.4.1"
|
version "0.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
|
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
|
||||||
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
||||||
|
|
||||||
|
jsonfile@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||||
|
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
|
||||||
|
optionalDependencies:
|
||||||
|
graceful-fs "^4.1.6"
|
||||||
|
|
||||||
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
|
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
|
||||||
version "3.2.2"
|
version "3.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
||||||
|
@ -802,6 +917,21 @@ lodash.debounce@^4.0.8:
|
||||||
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
||||||
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
|
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
|
||||||
|
|
||||||
|
lodash.get@^4.0.0:
|
||||||
|
version "4.4.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
||||||
|
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
|
||||||
|
|
||||||
|
lodash.isequal@^4.0.0:
|
||||||
|
version "4.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||||
|
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
|
||||||
|
|
||||||
|
lodash@~4.17.5:
|
||||||
|
version "4.17.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||||
|
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||||
|
|
||||||
long@~3:
|
long@~3:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b"
|
resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b"
|
||||||
|
@ -1157,7 +1287,7 @@ resolve-url@^0.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||||
|
|
||||||
resolve@^1.1.6:
|
resolve@1.8.1, resolve@^1.1.6:
|
||||||
version "1.8.1"
|
version "1.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
|
||||||
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
|
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
|
||||||
|
@ -1325,6 +1455,11 @@ split-string@^3.0.1, split-string@^3.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
extend-shallow "^3.0.0"
|
extend-shallow "^3.0.0"
|
||||||
|
|
||||||
|
sprintf-js@~1.0.2:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
|
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||||
|
|
||||||
static-extend@^0.1.1:
|
static-extend@^0.1.1:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
|
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
|
||||||
|
@ -1435,7 +1570,7 @@ tsutils@2.27.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib "^1.8.1"
|
tslib "^1.8.1"
|
||||||
|
|
||||||
typescript@3.1.6:
|
typescript@3.1.6, typescript@~3.1.6:
|
||||||
version "3.1.6"
|
version "3.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
||||||
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
||||||
|
@ -1450,6 +1585,11 @@ union-value@^1.0.0:
|
||||||
is-extendable "^0.1.1"
|
is-extendable "^0.1.1"
|
||||||
set-value "^0.4.3"
|
set-value "^0.4.3"
|
||||||
|
|
||||||
|
universalify@^0.1.0:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
||||||
|
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
|
||||||
|
|
||||||
unset-value@^1.0.0:
|
unset-value@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
|
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
|
||||||
|
@ -1485,6 +1625,11 @@ util-deprecate@~1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||||
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
|
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
|
||||||
|
|
||||||
|
validator@^8.0.0:
|
||||||
|
version "8.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9"
|
||||||
|
integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==
|
||||||
|
|
||||||
wide-align@^1.1.0:
|
wide-align@^1.1.0:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
|
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
|
||||||
|
@ -1532,3 +1677,14 @@ yargs@^3.10.0:
|
||||||
string-width "^1.0.1"
|
string-width "^1.0.1"
|
||||||
window-size "^0.1.4"
|
window-size "^0.1.4"
|
||||||
y18n "^3.2.0"
|
y18n "^3.2.0"
|
||||||
|
|
||||||
|
z-schema@~3.18.3:
|
||||||
|
version "3.18.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2"
|
||||||
|
integrity sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==
|
||||||
|
dependencies:
|
||||||
|
lodash.get "^4.0.0"
|
||||||
|
lodash.isequal "^4.0.0"
|
||||||
|
validator "^8.0.0"
|
||||||
|
optionalDependencies:
|
||||||
|
commander "^2.7.1"
|
||||||
|
|
144
yarn.lock
144
yarn.lock
|
@ -248,6 +248,51 @@
|
||||||
through2 "^2.0.0"
|
through2 "^2.0.0"
|
||||||
xdg-basedir "^3.0.0"
|
xdg-basedir "^3.0.0"
|
||||||
|
|
||||||
|
"@microsoft/api-extractor@^7.0.11":
|
||||||
|
version "7.0.15"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.0.15.tgz#58a0fe18b72e648e4b38f5666e5db8a6c14977bf"
|
||||||
|
integrity sha512-C9HqdZ8LzkYno0BsllyvezsBfDeyNLntkF3fAIF90wPG322NUkAIOGvU127aVjcfPVNmt2a/oOkOy8k9N2bQwQ==
|
||||||
|
dependencies:
|
||||||
|
"@microsoft/node-core-library" "3.10.0"
|
||||||
|
"@microsoft/ts-command-line" "4.2.3"
|
||||||
|
"@microsoft/tsdoc" "0.12.5"
|
||||||
|
"@types/node" "8.5.8"
|
||||||
|
"@types/z-schema" "3.16.31"
|
||||||
|
colors "~1.2.1"
|
||||||
|
lodash "~4.17.5"
|
||||||
|
resolve "1.8.1"
|
||||||
|
typescript "~3.1.6"
|
||||||
|
z-schema "~3.18.3"
|
||||||
|
|
||||||
|
"@microsoft/node-core-library@3.10.0":
|
||||||
|
version "3.10.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz#70e089534d8e20f6a0f9c7a4a12a6aeafd6a1ddb"
|
||||||
|
integrity sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==
|
||||||
|
dependencies:
|
||||||
|
"@types/fs-extra" "5.0.4"
|
||||||
|
"@types/jju" "~1.4.0"
|
||||||
|
"@types/node" "8.5.8"
|
||||||
|
"@types/z-schema" "3.16.31"
|
||||||
|
colors "~1.2.1"
|
||||||
|
fs-extra "~7.0.1"
|
||||||
|
jju "~1.4.0"
|
||||||
|
z-schema "~3.18.3"
|
||||||
|
|
||||||
|
"@microsoft/ts-command-line@4.2.3":
|
||||||
|
version "4.2.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/ts-command-line/-/ts-command-line-4.2.3.tgz#20d6a1684148b9fc0df25ee7335c3bb227d47d4f"
|
||||||
|
integrity sha512-SIs4q7RcG7efBbh5Ffrf6V4jVLxWihD4NDRY3+gPiOG8CYawBzE22tTEloZ1yj/FBvBZQkQ0GYwXoPhn6ElYXA==
|
||||||
|
dependencies:
|
||||||
|
"@types/argparse" "1.0.33"
|
||||||
|
"@types/node" "8.5.8"
|
||||||
|
argparse "~1.0.9"
|
||||||
|
colors "~1.2.1"
|
||||||
|
|
||||||
|
"@microsoft/tsdoc@0.12.5":
|
||||||
|
version "0.12.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.5.tgz#c448a38902ccb5601c1b2ef3b1a105012ef7712c"
|
||||||
|
integrity sha512-xEAyvLXo4Cter/b0EMCWUZTgXOfLOPJ/Xr52WdjVclPx9eDmNTGFtZl8Pn/nqSnZsQBNcHL0eHk/YyRyyXXpiQ==
|
||||||
|
|
||||||
"@schematics/angular@7.3.0-rc.0":
|
"@schematics/angular@7.3.0-rc.0":
|
||||||
version "7.3.0-rc.0"
|
version "7.3.0-rc.0"
|
||||||
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.3.0-rc.0.tgz#7519aa692dcaed63b9caa7d824846511905b1bfc"
|
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.3.0-rc.0.tgz#7519aa692dcaed63b9caa7d824846511905b1bfc"
|
||||||
|
@ -290,6 +335,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.48.tgz#e8f77bf41d00d3293421cbaaed2bafb4d5f399f9"
|
resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.48.tgz#e8f77bf41d00d3293421cbaaed2bafb4d5f399f9"
|
||||||
integrity sha512-zF0WlsWOjTkZjWq93ESfvq/4s3E9P8EnbIjOFzlDbhepL2iOBk9SJf98eqnV2fvjstwrPF+uYZvcAggL7Xw1FA==
|
integrity sha512-zF0WlsWOjTkZjWq93ESfvq/4s3E9P8EnbIjOFzlDbhepL2iOBk9SJf98eqnV2fvjstwrPF+uYZvcAggL7Xw1FA==
|
||||||
|
|
||||||
|
"@types/argparse@1.0.33":
|
||||||
|
version "1.0.33"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.33.tgz#2728669427cdd74a99e53c9f457ca2866a37c52d"
|
||||||
|
integrity sha512-VQgHxyPMTj3hIlq9SY1mctqx+Jj8kpQfoLvDlVSDNOyuYs8JYfkuY3OW/4+dO657yPmNhHpePRx0/Tje5ImNVQ==
|
||||||
|
|
||||||
"@types/base64-js@1.2.5":
|
"@types/base64-js@1.2.5":
|
||||||
version "1.2.5"
|
version "1.2.5"
|
||||||
resolved "https://registry.yarnpkg.com/@types/base64-js/-/base64-js-1.2.5.tgz#582b2476169a6cba460a214d476c744441d873d5"
|
resolved "https://registry.yarnpkg.com/@types/base64-js/-/base64-js-1.2.5.tgz#582b2476169a6cba460a214d476c744441d873d5"
|
||||||
|
@ -329,6 +379,13 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
"@types/fs-extra@5.0.4":
|
||||||
|
version "5.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599"
|
||||||
|
integrity sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/glob@*":
|
"@types/glob@*":
|
||||||
version "5.0.35"
|
version "5.0.35"
|
||||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a"
|
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a"
|
||||||
|
@ -360,6 +417,11 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/jasmine" "*"
|
"@types/jasmine" "*"
|
||||||
|
|
||||||
|
"@types/jju@~1.4.0":
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/jju/-/jju-1.4.0.tgz#ee074af79540c0e187426f46f12acbe8f6c31232"
|
||||||
|
integrity sha512-s6l49zLzFiXYHaTXbA+FNcDRo8ufZgC2/T5/jH+Wfr+ZV2tYbrBpEpN9oPkXXfug+y7pTZFkdeyQ0L/88Z34JA==
|
||||||
|
|
||||||
"@types/minimatch@*":
|
"@types/minimatch@*":
|
||||||
version "3.0.3"
|
version "3.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
|
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
|
||||||
|
@ -382,6 +444,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.2.tgz#f19f05314d5421fe37e74153254201a7bf00a707"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.2.tgz#f19f05314d5421fe37e74153254201a7bf00a707"
|
||||||
integrity sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==
|
integrity sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==
|
||||||
|
|
||||||
|
"@types/node@8.5.8":
|
||||||
|
version "8.5.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.8.tgz#92509422653f10e9c0ac18d87e0610b39f9821c7"
|
||||||
|
integrity sha512-8KmlRxwbKZfjUHFIt3q8TF5S2B+/E5BaAoo/3mgc5h6FJzqxXkCK/VMetO+IRDtwtU6HUvovHMBn+XRj7SV9Qg==
|
||||||
|
|
||||||
"@types/node@^10.9.4":
|
"@types/node@^10.9.4":
|
||||||
version "10.9.4"
|
version "10.9.4"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.4.tgz#0f4cb2dc7c1de6096055357f70179043c33e9897"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.4.tgz#0f4cb2dc7c1de6096055357f70179043c33e9897"
|
||||||
|
@ -427,6 +494,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-11.1.1.tgz#2e724257167fd6b615dbe4e54301e65fe597433f"
|
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-11.1.1.tgz#2e724257167fd6b615dbe4e54301e65fe597433f"
|
||||||
integrity sha512-Awgju4dqD8kHXX3jc/B/LaryJC7MsyNfnbN62lIbFzTi0GewH64zrkh4bxo/YTgVEK6r9V3GNecxMhXTJw0+jA==
|
integrity sha512-Awgju4dqD8kHXX3jc/B/LaryJC7MsyNfnbN62lIbFzTi0GewH64zrkh4bxo/YTgVEK6r9V3GNecxMhXTJw0+jA==
|
||||||
|
|
||||||
|
"@types/z-schema@3.16.31":
|
||||||
|
version "3.16.31"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/z-schema/-/z-schema-3.16.31.tgz#2eb1d00a5e4ec3fa58c76afde12e182b66dc5c1c"
|
||||||
|
integrity sha1-LrHQCl5Ow/pYx2r94S4YK2bcXBw=
|
||||||
|
|
||||||
"@webcomponents/custom-elements@^1.0.4":
|
"@webcomponents/custom-elements@^1.0.4":
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/@webcomponents/custom-elements/-/custom-elements-1.1.2.tgz#041e4c20df35245f4d160b50d044b8cff192962c"
|
resolved "https://registry.yarnpkg.com/@webcomponents/custom-elements/-/custom-elements-1.1.2.tgz#041e4c20df35245f4d160b50d044b8cff192962c"
|
||||||
|
@ -818,6 +890,13 @@ are-we-there-yet@~1.1.2:
|
||||||
delegates "^1.0.0"
|
delegates "^1.0.0"
|
||||||
readable-stream "^2.0.6"
|
readable-stream "^2.0.6"
|
||||||
|
|
||||||
|
argparse@~1.0.9:
|
||||||
|
version "1.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||||
|
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
|
||||||
|
dependencies:
|
||||||
|
sprintf-js "~1.0.2"
|
||||||
|
|
||||||
arr-diff@^1.0.1:
|
arr-diff@^1.0.1:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
|
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
|
||||||
|
@ -1982,6 +2061,11 @@ colors@^1.1.0, colors@^1.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e"
|
resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e"
|
||||||
integrity sha512-EDpX3a7wHMWFA7PUHWPHNWqOxIIRSJetuwl0AS5Oi/5FMV8kWm69RTlgm00GKjBO1xFHMtBbL49yRtMMdticBw==
|
integrity sha512-EDpX3a7wHMWFA7PUHWPHNWqOxIIRSJetuwl0AS5Oi/5FMV8kWm69RTlgm00GKjBO1xFHMtBbL49yRtMMdticBw==
|
||||||
|
|
||||||
|
colors@~1.2.1:
|
||||||
|
version "1.2.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
|
||||||
|
integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==
|
||||||
|
|
||||||
colour@~0.7.1:
|
colour@~0.7.1:
|
||||||
version "0.7.1"
|
version "0.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778"
|
resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778"
|
||||||
|
@ -2025,7 +2109,7 @@ commander@^2.5.0, commander@^2.9.0:
|
||||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50"
|
resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50"
|
||||||
integrity sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==
|
integrity sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==
|
||||||
|
|
||||||
commander@^2.8.1:
|
commander@^2.7.1, commander@^2.8.1:
|
||||||
version "2.19.0"
|
version "2.19.0"
|
||||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
|
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
|
||||||
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
|
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
|
||||||
|
@ -3964,6 +4048,15 @@ fs-extra@~2.1.2:
|
||||||
graceful-fs "^4.1.2"
|
graceful-fs "^4.1.2"
|
||||||
jsonfile "^2.1.0"
|
jsonfile "^2.1.0"
|
||||||
|
|
||||||
|
fs-extra@~7.0.1:
|
||||||
|
version "7.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
|
||||||
|
integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
|
||||||
|
dependencies:
|
||||||
|
graceful-fs "^4.1.2"
|
||||||
|
jsonfile "^4.0.0"
|
||||||
|
universalify "^0.1.0"
|
||||||
|
|
||||||
fs-minipass@^1.2.5:
|
fs-minipass@^1.2.5:
|
||||||
version "1.2.5"
|
version "1.2.5"
|
||||||
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
|
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
|
||||||
|
@ -5612,7 +5705,7 @@ jetpack-validation@0.0.7:
|
||||||
resolve "^0.7.1"
|
resolve "^0.7.1"
|
||||||
semver "^5.3.0"
|
semver "^5.3.0"
|
||||||
|
|
||||||
jju@^1.1.0:
|
jju@^1.1.0, jju@~1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a"
|
resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a"
|
||||||
integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo=
|
integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo=
|
||||||
|
@ -6228,6 +6321,11 @@ lodash.escape@^3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash._root "^3.0.0"
|
lodash._root "^3.0.0"
|
||||||
|
|
||||||
|
lodash.get@^4.0.0:
|
||||||
|
version "4.4.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
||||||
|
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
|
||||||
|
|
||||||
lodash.includes@^4.3.0:
|
lodash.includes@^4.3.0:
|
||||||
version "4.3.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
|
resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
|
||||||
|
@ -6253,6 +6351,11 @@ lodash.isboolean@^3.0.3:
|
||||||
resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
|
resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
|
||||||
integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
|
integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
|
||||||
|
|
||||||
|
lodash.isequal@^4.0.0:
|
||||||
|
version "4.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||||
|
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
|
||||||
|
|
||||||
lodash.isinteger@^4.0.4:
|
lodash.isinteger@^4.0.4:
|
||||||
version "4.0.4"
|
version "4.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
|
resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
|
||||||
|
@ -6388,7 +6491,7 @@ lodash@^4.0.0, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.2.1, lodash@^4.5.0, lod
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
||||||
integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==
|
integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==
|
||||||
|
|
||||||
lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0:
|
lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@~4.17.5:
|
||||||
version "4.17.11"
|
version "4.17.11"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||||
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||||
|
@ -8672,18 +8775,18 @@ resolve@0.2.3:
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.2.3.tgz#f1eb7fb76436f91d87fd19c5f973fe7d506f6571"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.2.3.tgz#f1eb7fb76436f91d87fd19c5f973fe7d506f6571"
|
||||||
integrity sha1-8et/t2Q2+R2H/RnF+XP+fVBvZXE=
|
integrity sha1-8et/t2Q2+R2H/RnF+XP+fVBvZXE=
|
||||||
|
|
||||||
resolve@^0.7.1:
|
resolve@1.8.1, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2:
|
||||||
version "0.7.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.7.4.tgz#395a9ef9e873fbfe12bd14408bd91bb936003d69"
|
|
||||||
integrity sha1-OVqe+ehz+/4SvRRAi9kbuTYAPWk=
|
|
||||||
|
|
||||||
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2:
|
|
||||||
version "1.8.1"
|
version "1.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
|
||||||
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
|
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
|
||||||
dependencies:
|
dependencies:
|
||||||
path-parse "^1.0.5"
|
path-parse "^1.0.5"
|
||||||
|
|
||||||
|
resolve@^0.7.1:
|
||||||
|
version "0.7.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.7.4.tgz#395a9ef9e873fbfe12bd14408bd91bb936003d69"
|
||||||
|
integrity sha1-OVqe+ehz+/4SvRRAi9kbuTYAPWk=
|
||||||
|
|
||||||
resolve@^1.8.1:
|
resolve@^1.8.1:
|
||||||
version "1.9.0"
|
version "1.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06"
|
||||||
|
@ -9491,6 +9594,11 @@ split@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
through "2"
|
through "2"
|
||||||
|
|
||||||
|
sprintf-js@~1.0.2:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
|
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||||
|
|
||||||
sshpk@^1.7.0:
|
sshpk@^1.7.0:
|
||||||
version "1.14.2"
|
version "1.14.2"
|
||||||
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
|
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
|
||||||
|
@ -10231,7 +10339,7 @@ typedarray@^0.0.6:
|
||||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||||
|
|
||||||
typescript@3.1.6:
|
typescript@3.1.6, typescript@~3.1.6:
|
||||||
version "3.1.6"
|
version "3.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
||||||
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
||||||
|
@ -10591,6 +10699,11 @@ validate-npm-package-name@^3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
builtins "^1.0.3"
|
builtins "^1.0.3"
|
||||||
|
|
||||||
|
validator@^8.0.0:
|
||||||
|
version "8.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9"
|
||||||
|
integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==
|
||||||
|
|
||||||
vary@^1, vary@~1.1.2:
|
vary@^1, vary@~1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
|
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
|
||||||
|
@ -11097,6 +11210,17 @@ yeast@0.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
|
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
|
||||||
integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=
|
integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=
|
||||||
|
|
||||||
|
z-schema@~3.18.3:
|
||||||
|
version "3.18.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2"
|
||||||
|
integrity sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==
|
||||||
|
dependencies:
|
||||||
|
lodash.get "^4.0.0"
|
||||||
|
lodash.isequal "^4.0.0"
|
||||||
|
validator "^8.0.0"
|
||||||
|
optionalDependencies:
|
||||||
|
commander "^2.7.1"
|
||||||
|
|
||||||
zip-dir@1.0.2:
|
zip-dir@1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/zip-dir/-/zip-dir-1.0.2.tgz#253f907aead62a21acd8721d8b88032b2411c051"
|
resolved "https://registry.yarnpkg.com/zip-dir/-/zip-dir-1.0.2.tgz#253f907aead62a21acd8721d8b88032b2411c051"
|
||||||
|
|
Loading…
Reference in New Issue