diff --git a/.denolint.json b/.denolint.json new file mode 100644 index 00000000..8825a84e --- /dev/null +++ b/.denolint.json @@ -0,0 +1,20 @@ +{ + "rules": { + "tags": [ + "recommended" + ], + "exclude": [ + "no-explicit-any", + "camelcase", + "ban-unknown-rule-code", + "no-window-prefix", + "no-empty-interface", + "ban-types", + "ban-untagged-todo", + "no-unused-vars", + "ban-ts-comment", + "no-case-declarations", + "no-this-alias" + ] + } +} \ No newline at end of file diff --git a/package.json b/package.json index cb5bd5ff..8fbe71e7 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ "devDependencies": { "@napi-rs/cli": "^1.3.1", "@swc-node/register": "^1.3.4", - "@typescript-eslint/eslint-plugin": "^4.30.0", - "@typescript-eslint/parser": "^4.30.0", + "@typescript-eslint/eslint-plugin": "^4.31.0", + "@typescript-eslint/parser": "^4.31.0", "ava": "^3.15.0", "benchmark": "^2.1.4", "codecov": "^3.8.3", diff --git a/packages/bcrypt/simple-test.js b/packages/bcrypt/simple-test.js deleted file mode 100644 index 4daaf663..00000000 --- a/packages/bcrypt/simple-test.js +++ /dev/null @@ -1,5 +0,0 @@ -const { verifySync } = require('./index') - -console.assert(verifySync('hello', '$2b$12$k4V9p7YpSYHY05bORujyyeesfPaWNQfPkjVzETFGfozAN/fH0LtdG')) - -console.info('bcrypt simple test passed') diff --git a/packages/crc32/simple-test.js b/packages/crc32/simple-test.js deleted file mode 100644 index a6208a7d..00000000 --- a/packages/crc32/simple-test.js +++ /dev/null @@ -1,5 +0,0 @@ -const { crc32 } = require('./index') - -console.assert(crc32('hello') === 907060870) - -console.info('crc32 simple test passed') diff --git a/packages/deno-lint/.gitignore b/packages/deno-lint/.gitignore new file mode 100644 index 00000000..21738712 --- /dev/null +++ b/packages/deno-lint/.gitignore @@ -0,0 +1,3 @@ +cli.js +cli.d.ts +cli.js.map diff --git a/packages/deno-lint/Cargo.toml b/packages/deno-lint/Cargo.toml index 5265444a..80c4e952 100644 --- a/packages/deno-lint/Cargo.toml +++ b/packages/deno-lint/Cargo.toml @@ -9,14 +9,16 @@ crate-type = ["cdylib"] [dependencies] annotate-snippets = {version = "0.9", features = ["color"]} -ast_view = {version = "0.33.1", package = "dprint-swc-ecma-ast-view"} -deno_lint = "=0.14.0" +anyhow = "1" +deno_ast = "0.1" +deno_lint = "0.15" +env_logger = "0.9" +globwalk = "0.8" ignore = "0.4" napi = {version = "1", features = ["serde-json"]} napi-derive = "1" serde = "1" serde_json = "1" -swc_ecmascript = {version = "=0.61.0", features = ["parser", "transforms", "utils", "visit"]} [target.'cfg(all(target_arch = "x86_64", not(target_env = "musl")))'.dependencies] mimalloc = {version = "0.1"} diff --git a/packages/deno-lint/README.md b/packages/deno-lint/README.md index b148f2ad..edc08bce 100644 --- a/packages/deno-lint/README.md +++ b/packages/deno-lint/README.md @@ -105,6 +105,30 @@ Emit nothing even if there were errors happened. `npx denolint` -### `--all`, `-a` +### `--config`, `-c` + +Config path relative to the lint path. Config file must be a JSON file: + +Example: + +```json +{ + "rules": { + "tags": ["recommended"], + "exclude": [ + "no-explicit-any", + "ban-unknown-rule-code", + "no-window-prefix", + "no-empty-interface", + "ban-types", + "ban-untagged-todo", + "no-unused-vars", + "ban-ts-comment", + "no-case-declarations", + "no-this-alias" + ] + } +} +``` -Enable all rules flag, if not present, denolint will run with recommend rules. +Checkout [deno_lint rules](https://github.com/denoland/deno_lint/tree/main/docs/rules) for all rules. diff --git a/packages/deno-lint/benchmark/lint.js b/packages/deno-lint/benchmark/lint.js index a277b890..4a96cfea 100644 --- a/packages/deno-lint/benchmark/lint.js +++ b/packages/deno-lint/benchmark/lint.js @@ -26,7 +26,7 @@ suite const parseForESLintResult = parseForESLint(sourcecode, { filePath: filepath, sourceType: 'module', - ecmaVersion: 2019, + ecmaVersion: 2020, project: tsconfigPath, loc: true, range: true, diff --git a/packages/deno-lint/bin.js b/packages/deno-lint/bin.js index 12424987..c24fb722 100755 --- a/packages/deno-lint/bin.js +++ b/packages/deno-lint/bin.js @@ -1,13 +1,19 @@ #!/usr/bin/env node -const { binding } = require('@node-rs/deno-lint') +const { cli } = require('./cli') -const { argv } = process - -const enableAllRules = argv.includes('--all') || argv.includes('-a') - -const hasError = binding.denolint(__dirname, enableAllRules) - -if (hasError) { - process.exit(1) -} +cli + .run(process.argv.slice(2), { + stdin: process.stdin, + stdout: process.stdout, + stderr: process.stderr, + }) + .then((code) => { + if (code !== 0) { + process.exit(code) + } + }) + .catch((e) => { + console.error(e) + process.exit(1) + }) diff --git a/packages/deno-lint/cli.ts b/packages/deno-lint/cli.ts new file mode 100644 index 00000000..4d5823f8 --- /dev/null +++ b/packages/deno-lint/cli.ts @@ -0,0 +1,26 @@ +import { denolint } from '@node-rs/deno-lint' +import { Cli, Command, Option } from 'clipanion' + +class LintCommand extends Command { + static usage = { + description: 'deno lint [options] [path]', + } + + private readonly cwd = Option.String({ required: false }) + + private readonly configPath = Option.String('-c,--config', { required: false }) + + private readonly checkOnly = Option.Boolean('--check-only', { required: false }) + + execute() { + const hasError = denolint(this.cwd ?? __dirname, this.configPath ?? '.denolint.json') + return Promise.resolve(hasError && !this.checkOnly ? 1 : 0) + } +} + +export const cli = new Cli({ + binaryLabel: 'deno-lint', + binaryVersion: require('./package.json').version, +}) + +cli.register(LintCommand) diff --git a/packages/deno-lint/index.d.ts b/packages/deno-lint/index.d.ts index f0870da0..e9c87c24 100644 --- a/packages/deno-lint/index.d.ts +++ b/packages/deno-lint/index.d.ts @@ -1 +1,2 @@ export function lint(filename: string, source: string | Buffer): string[] +export function denolint(cwd: string, configPath?: string): boolean diff --git a/packages/deno-lint/index.js b/packages/deno-lint/index.js index f45b25e6..135a37bd 100644 --- a/packages/deno-lint/index.js +++ b/packages/deno-lint/index.js @@ -3,7 +3,7 @@ const { loadBinding } = require('@node-rs/helper') const binding = loadBinding(__dirname, 'deno-lint', '@node-rs/deno-lint') module.exports = { - binding, + ...binding, lint: function lint(path, sourcecode, allRules = false) { const source = Buffer.isBuffer(sourcecode) ? sourcecode : Buffer.from(sourcecode) return binding.lint(path, source, allRules) diff --git a/packages/deno-lint/package.json b/packages/deno-lint/package.json index 914cbd61..41b36cdf 100644 --- a/packages/deno-lint/package.json +++ b/packages/deno-lint/package.json @@ -11,7 +11,7 @@ "denolint": "./bin.js" }, "typings": "index.d.ts", - "files": ["index.js", "index.d.ts", "bin.js", "webpack-loader.js", "LICENSE"], + "files": ["index.js", "index.d.ts", "bin.js", "cli.js", "webpack-loader.js", "LICENSE"], "napi": { "name": "deno-lint", "triples": { @@ -53,6 +53,7 @@ }, "dependencies": { "@node-rs/helper": "^1.2.1", + "clipanion": "^3.0.1", "loader-utils": "^2.0.0" }, "devDependencies": { diff --git a/packages/deno-lint/simple-test.js b/packages/deno-lint/simple-test.js deleted file mode 100644 index 6561ff74..00000000 --- a/packages/deno-lint/simple-test.js +++ /dev/null @@ -1,12 +0,0 @@ -const { readFileSync } = require('fs') - -const { lint } = require('./index') - -const filepath = require.resolve('rxjs/src/internal/Subscriber.ts') - -const sourceCodeBuffer = readFileSync(filepath) - -const result = lint(filepath, sourceCodeBuffer) - -console.assert(Array.isArray(result)) -console.info('deno-lint simple test passed') diff --git a/packages/deno-lint/src/config.rs b/packages/deno-lint/src/config.rs new file mode 100644 index 00000000..5d0e5489 --- /dev/null +++ b/packages/deno-lint/src/config.rs @@ -0,0 +1,126 @@ +// Copyright 2020-2021 the Deno authors. All rights reserved. MIT license. +use std::path::Path; +use std::sync::Arc; + +use deno_lint::rules::{get_filtered_rules, LintRule}; +use serde::Deserialize; + +#[derive(Debug, Default, Deserialize)] +#[serde(default)] +pub struct RulesConfig { + pub tags: Vec, + pub include: Vec, + pub exclude: Vec, +} + +#[derive(Debug, Default, Deserialize)] +#[serde(default)] +pub struct FilesConfig { + pub include: Vec, + pub exclude: Vec, +} + +#[derive(Debug, Default, Deserialize)] +#[serde(default)] +pub struct Config { + pub rules: RulesConfig, + pub ignore: Option>, +} + +impl Config { + pub fn get_rules(&self) -> Arc>> { + get_filtered_rules( + Some(self.rules.tags.clone()), + Some(self.rules.exclude.clone()), + Some(self.rules.include.clone()), + ) + } +} + +pub fn load_from_json(config_path: &Path) -> Result { + let json_str = std::fs::read_to_string(config_path)?; + let config: Config = serde_json::from_str(&json_str)?; + Ok(config) +} + +#[cfg(test)] +mod tests { + use super::*; + use deno_lint::rules::get_recommended_rules; + use std::collections::HashSet; + + macro_rules! svec { + ($( $elem:literal ),* $(,)?) => {{ + vec![$( $elem.to_string() ),*] + }} + } + macro_rules! set { + ($( $elem:literal ),* $(,)?) => {{ + vec![$( $elem ),*].into_iter().collect::>() + }} + } + + fn into_codes(rules: &Vec>) -> HashSet<&'static str> { + rules.iter().map(|rule| rule.code()).collect() + } + + #[test] + fn test_get_rules() { + let config = Config { + rules: RulesConfig { + tags: svec![], + include: svec![], + exclude: svec![], + }, + ..Default::default() + }; + assert!(config.get_rules().is_empty()); + + let config = Config { + rules: RulesConfig { + tags: svec!["recommended"], + include: svec![], + exclude: svec![], + }, + ..Default::default() + }; + let recommended_rules_codes = into_codes(&get_recommended_rules()); + assert_eq!(into_codes(&config.get_rules()), recommended_rules_codes); + + // even if "recommended" is specified in `tags` and `include` contains a rule + // code that is in the "recommended" set, we have to make sure that each + // rule is run just once respectively. + let config = Config { + rules: RulesConfig { + tags: svec!["recommended"], + include: svec!["no-empty"], // "no-empty" belongs to "recommended" + exclude: svec![], + }, + ..Default::default() + }; + let recommended_rules_codes = into_codes(&get_recommended_rules()); + assert_eq!(into_codes(&config.get_rules()), recommended_rules_codes); + + // `include` has higher precedence over `exclude` + let config = Config { + rules: RulesConfig { + tags: svec![], + include: svec!["eqeqeq"], + exclude: svec!["eqeqeq"], + }, + ..Default::default() + }; + assert_eq!(into_codes(&config.get_rules()), set!["eqeqeq"]); + + // if unknown rule is specified, just ignore it + let config = Config { + rules: RulesConfig { + tags: svec![], + include: svec!["this-is-a-totally-unknown-rule"], + exclude: svec!["this-is-also-another-unknown-rule"], + }, + ..Default::default() + }; + assert_eq!(into_codes(&config.get_rules()), set![]); + } +} diff --git a/packages/deno-lint/src/diagnostics.rs b/packages/deno-lint/src/diagnostics.rs new file mode 100644 index 00000000..6f6ab947 --- /dev/null +++ b/packages/deno-lint/src/diagnostics.rs @@ -0,0 +1,210 @@ +use std::vec; + +// Copyright 2020-2021 the Deno authors. All rights reserved. MIT license. +use annotate_snippets::display_list; +use annotate_snippets::snippet; +use deno_ast::SourceTextInfo; +use deno_lint::diagnostic::LintDiagnostic; +use deno_lint::diagnostic::Range; + +pub fn display_diagnostics<'a>( + diagnostics: &'a [LintDiagnostic], + source_file: &'a SourceTextInfo, + print: bool, +) -> Vec> { + let mut display_list_vec = if print { + vec![] + } else { + Vec::with_capacity(diagnostics.len()) + }; + for diagnostic in diagnostics { + let (slice_source, char_range) = get_slice_source_and_range(source_file, &diagnostic.range); + let footer = if let Some(hint) = &diagnostic.hint { + vec![snippet::Annotation { + label: Some(hint), + id: None, + annotation_type: snippet::AnnotationType::Help, + }] + } else { + vec![] + }; + + let snippet = snippet::Snippet { + title: Some(snippet::Annotation { + label: Some(&diagnostic.message), + id: Some(&diagnostic.code), + annotation_type: snippet::AnnotationType::Error, + }), + footer, + slices: vec![snippet::Slice { + source: slice_source, + line_start: diagnostic.range.start.line_index + 1, // make 1-indexed + origin: Some(&diagnostic.filename), + fold: false, + annotations: vec![snippet::SourceAnnotation { + range: char_range.as_tuple(), + label: "", + annotation_type: snippet::AnnotationType::Error, + }], + }], + opt: display_list::FormatOptions { + color: true, + anonymized_line_numbers: false, + margin: None, + }, + }; + let display_list = display_list::DisplayList::from(snippet); + if print { + eprintln!("{}", display_list); + } else { + display_list_vec.push(display_list); + } + } + display_list_vec +} + +#[derive(Debug, PartialEq, Eq)] +struct CharRange { + /// 0-indexed number that represents what index this range starts at in the + /// snippet. + /// Counted on a character basis, not UTF-8 bytes. + start_index: usize, + + /// 0-indexed number that represents what index this range ends at in the + /// snippet. + /// Counted on a character basis, not UTF-8 bytes. + end_index: usize, +} + +impl CharRange { + fn as_tuple(&self) -> (usize, usize) { + (self.start_index, self.end_index) + } +} + +// Return slice of source code covered by diagnostic +// and adjusted range of diagnostic (ie. original range - start line +// of sliced source code). +fn get_slice_source_and_range<'a>( + source_file: &'a SourceTextInfo, + range: &Range, +) -> (&'a str, CharRange) { + let first_line_start = source_file.line_start(range.start.line_index).0 as usize; + let last_line_end = source_file.line_end(range.end.line_index).0 as usize; + let text = source_file.text_str(); + let start_index = text[first_line_start..range.start.byte_pos].chars().count(); + let end_index = text[first_line_start..range.end.byte_pos].chars().count(); + let slice_str = &text[first_line_start..last_line_end]; + ( + slice_str, + CharRange { + start_index, + end_index, + }, + ) +} + +#[cfg(test)] +mod tests { + use super::*; + use deno_ast::swc::common::BytePos; + use deno_lint::diagnostic::{Position, Range}; + + fn into_text_info(source_code: impl Into) -> SourceTextInfo { + SourceTextInfo::from_string(source_code.into()) + } + + fn position(byte: u32, info: &SourceTextInfo) -> Position { + let b = BytePos(byte); + Position::new(b, info.line_and_column_index(b)) + } + + #[test] + fn slice_range_a() { + let text_info = into_text_info("const a = 42;"); + // 'a' + let range = Range { + start: position(6, &text_info), + end: position(7, &text_info), + }; + + let (slice, char_range) = get_slice_source_and_range(&text_info, &range); + assert_eq!(slice, "const a = 42;"); + assert_eq!( + char_range, + CharRange { + start_index: 6, + end_index: 7, + } + ); + } + + #[test] + fn slice_range_あ() { + let text_info = into_text_info("const あ = 42;"); + // 'あ', which takes up three bytes + let range = Range { + start: position(6, &text_info), + end: position(9, &text_info), + }; + + let (slice, char_range) = get_slice_source_and_range(&text_info, &range); + assert_eq!(slice, "const あ = 42;"); + assert_eq!( + char_range, + CharRange { + start_index: 6, + end_index: 7, + } + ); + } + + #[test] + fn slice_range_あい() { + let text_info = into_text_info("const あい = 42;"); + // 'い', which takes up three bytes + let range = Range { + start: position(9, &text_info), + end: position(12, &text_info), + }; + + let (slice, char_range) = get_slice_source_and_range(&text_info, &range); + assert_eq!(slice, "const あい = 42;"); + assert_eq!( + char_range, + CharRange { + start_index: 7, + end_index: 8, + } + ); + } + + #[test] + fn slice_range_across_lines() { + let src = r#" +const a = `あいうえお +かきくけこ`; +const b = 42; +"#; + let text_info = into_text_info(src); + // "えお\nかきく" + let range = Range { + start: position(21, &text_info), + end: position(37, &text_info), + }; + + let (slice, char_range) = get_slice_source_and_range(&text_info, &range); + assert_eq!( + slice, + r#"const a = `あいうえお +かきくけこ`;"# + ); + assert_eq!( + char_range, + CharRange { + start_index: 14, + end_index: 20, + } + ); + } +} diff --git a/packages/deno-lint/src/lib.rs b/packages/deno-lint/src/lib.rs index 78b9b574..af2ffd2f 100644 --- a/packages/deno-lint/src/lib.rs +++ b/packages/deno-lint/src/lib.rs @@ -6,19 +6,20 @@ extern crate napi_derive; use std::env; use std::fs; +use std::path; use std::str; +use std::sync::Arc; -use annotate_snippets::{display_list, snippet}; -use ast_view::{SourceFile, SourceFileTextInfo}; +use deno_ast::swc::parser::{Syntax, TsConfig}; use deno_lint::ast_parser::get_default_ts_config; -use deno_lint::diagnostic::{LintDiagnostic, Range}; use deno_lint::linter::LinterBuilder; use deno_lint::rules::{get_all_rules, get_recommended_rules}; use ignore::types::TypesBuilder; use ignore::WalkBuilder; use napi::{CallContext, Error, JsBoolean, JsBuffer, JsObject, JsString, Result, Status}; -use swc_ecmascript::parser::Syntax; -use swc_ecmascript::parser::TsConfig; + +mod config; +mod diagnostics; #[cfg(all( target_arch = "x86_64", @@ -28,64 +29,10 @@ use swc_ecmascript::parser::TsConfig; #[global_allocator] static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc; -// Return slice of source code covered by diagnostic -// and adjusted range of diagnostic (ie. original range - start line -// of sliced source code). -fn get_slice_source_and_range<'a>( - source_file: &'a SourceFileTextInfo, - range: &Range, -) -> (&'a str, (usize, usize)) { - let first_line_start = source_file.line_start(range.start.line_index).0 as usize; - let last_line_end = source_file.line_end(range.end.line_index).0 as usize; - let adjusted_start = range.start.byte_pos - first_line_start; - let adjusted_end = range.end.byte_pos - first_line_start; - let adjusted_range = (adjusted_start, adjusted_end); - let slice_str = &source_file.text()[first_line_start..last_line_end]; - (slice_str, adjusted_range) -} - -fn format_diagnostic(diagnostic: &LintDiagnostic, source_file: &SourceFileTextInfo) -> String { - let (slice_source, range) = get_slice_source_and_range(source_file, &diagnostic.range); - let footer = if let Some(hint) = &diagnostic.hint { - vec![snippet::Annotation { - label: Some(hint), - id: None, - annotation_type: snippet::AnnotationType::Help, - }] - } else { - vec![] - }; - - let snippet = snippet::Snippet { - title: Some(snippet::Annotation { - label: Some(&diagnostic.message), - id: Some(&diagnostic.code), - annotation_type: snippet::AnnotationType::Error, - }), - footer, - slices: vec![snippet::Slice { - source: slice_source, - line_start: diagnostic.range.start.line_index + 1, // make 1-indexed - origin: Some(&diagnostic.filename), - fold: false, - annotations: vec![snippet::SourceAnnotation { - range, - label: "", - annotation_type: snippet::AnnotationType::Error, - }], - }], - opt: display_list::FormatOptions { - color: true, - anonymized_line_numbers: false, - margin: None, - }, - }; - let display_list = display_list::DisplayList::from(snippet); - format!("{}", display_list) -} - #[module_exports] fn init(mut exports: JsObject) -> Result<()> { + env_logger::init(); + exports.create_named_method("lint", lint)?; exports.create_named_method("denolint", lint_command)?; @@ -104,6 +51,7 @@ fn lint(ctx: CallContext) -> Result { get_recommended_rules() }) .syntax(get_default_ts_config()) + .ignore_diagnostic_directive("eslint-disable-next-line") .build(); let source_string = str::from_utf8(&source_code).map_err(|e| Error { @@ -122,12 +70,11 @@ fn lint(ctx: CallContext) -> Result { let mut result = ctx.env.create_array_with_length(file_diagnostics.len())?; - for (index, diagnostic) in file_diagnostics.iter().enumerate() { + let d = diagnostics::display_diagnostics(&file_diagnostics, s.source(), false); + for (index, diagnostic) in d.iter().enumerate() { result.set_element( index as _, - ctx - .env - .create_string(format_diagnostic(diagnostic, &s).as_str())?, + ctx.env.create_string_from_std(format!("{}", diagnostic))?, )?; } @@ -137,7 +84,8 @@ fn lint(ctx: CallContext) -> Result { #[js_function(2)] fn lint_command(ctx: CallContext) -> Result { let __dirname = ctx.get::(0)?.into_utf8()?; - let enable_all_rules = ctx.get::(1)?.get_value()?; + let config_path_js = ctx.get::(1)?.into_utf8()?; + let config_path = config_path_js.as_str()?; let mut has_error = false; let cwd = env::current_dir().map_err(|e| { Error::new( @@ -145,6 +93,16 @@ fn lint_command(ctx: CallContext) -> Result { format!("Get current_dir failed {}", e), ) })?; + let config_existed = fs::metadata(&config_path) + .map(|m| m.is_file()) + .unwrap_or(false); + + let (rules, cfg_ignore_files) = if config_existed { + let cfg = config::load_from_json(path::Path::new(&config_path))?; + (cfg.get_rules(), cfg.ignore) + } else { + (get_recommended_rules(), None) + }; let mut eslint_ignore_file = cwd.clone(); @@ -154,6 +112,12 @@ fn lint_command(ctx: CallContext) -> Result { denolint_ignore_file.push(".denolintignore"); + if let Some(ignore_files) = cfg_ignore_files { + for i in ignore_files { + denolint_ignore_file.push(i); + } + } + let mut type_builder = TypesBuilder::new(); type_builder @@ -212,12 +176,10 @@ fn lint_command(ctx: CallContext) -> Result { }; let syntax = Syntax::Typescript(ts_config); let linter = LinterBuilder::default() - .rules(if enable_all_rules { - get_all_rules() - } else { - get_recommended_rules() - }) + .rules(Arc::clone(&rules)) .syntax(syntax) + .ignore_file_directive("eslint-disable") + .ignore_diagnostic_directive("eslint-disable-next-line") .build(); let (s, file_diagnostics) = linter .lint( @@ -233,10 +195,8 @@ fn lint_command(ctx: CallContext) -> Result { status: Status::GenericFailure, reason: format!("Lint failed: {}, at: {:?}", e, &p), })?; - for diagnostic in file_diagnostics { - has_error = true; - println!("{}", format_diagnostic(&diagnostic, &s)); - } + has_error = !file_diagnostics.is_empty(); + diagnostics::display_diagnostics(&file_diagnostics, s.source(), true); } } diff --git a/packages/deno-lint/tsconfig.json b/packages/deno-lint/tsconfig.json new file mode 100644 index 00000000..4ae69857 --- /dev/null +++ b/packages/deno-lint/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "target": "ES2018", + "rootDir": ".", + "composite": true, + "sourceMap": true, + "inlineSourceMap": false, + "noEmitHelpers": false, + "importHelpers": false + }, + "include": ["."], + "exclude": ["*.js", "*.d.ts"] +} diff --git a/packages/jieba/simple-test.js b/packages/jieba/simple-test.js deleted file mode 100644 index 2d74a7e7..00000000 --- a/packages/jieba/simple-test.js +++ /dev/null @@ -1,8 +0,0 @@ -const { cut } = require('./index') - -const [first, second] = cut('武汉市长江大桥') - -console.assert(first === '武汉市') -console.assert(second === '长江大桥') - -console.info('jieba simple test passed') diff --git a/scripts/simple-tests.js b/scripts/simple-tests.js deleted file mode 100644 index de0a2346..00000000 --- a/scripts/simple-tests.js +++ /dev/null @@ -1,5 +0,0 @@ -const packages = require('./packages') - -for (const pkg of packages) { - require(`../packages/${pkg}/simple-test.js`) -} diff --git a/tsconfig.project.json b/tsconfig.project.json index cce2bc98..c8b38d0c 100644 --- a/tsconfig.project.json +++ b/tsconfig.project.json @@ -1,6 +1,7 @@ { - "references": [{ "path": "./packages/helper" }], + "references": [{ "path": "./packages/helper" }, { "path": "./packages/deno-lint" }], "compilerOptions": { "noEmit": true - } + }, + "include": [] } diff --git a/yarn.lock b/yarn.lock index c81114bb..9657c15f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,19 +22,19 @@ integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== "@babel/core@^7.7.5": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8" - integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw== + version "7.15.5" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" + integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== dependencies: "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.0" - "@babel/helper-module-transforms" "^7.15.0" - "@babel/helpers" "^7.14.8" - "@babel/parser" "^7.15.0" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/generator" "^7.15.4" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helpers" "^7.15.4" + "@babel/parser" "^7.15.5" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -42,106 +42,106 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" - integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ== +"@babel/generator@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" + integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== dependencies: - "@babel/types" "^7.15.0" + "@babel/types" "^7.15.4" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-compilation-targets@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz#973df8cbd025515f3ff25db0c05efc704fa79818" - integrity sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A== +"@babel/helper-compilation-targets@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" + integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== dependencies: "@babel/compat-data" "^7.15.0" "@babel/helper-validator-option" "^7.14.5" browserslist "^4.16.6" semver "^6.3.0" -"@babel/helper-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" - integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== +"@babel/helper-function-name@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" + integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== dependencies: - "@babel/helper-get-function-arity" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-get-function-arity" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-get-function-arity@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" - integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== +"@babel/helper-get-function-arity@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" + integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-hoist-variables@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" - integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== +"@babel/helper-hoist-variables@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" + integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-member-expression-to-functions@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b" - integrity sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg== +"@babel/helper-member-expression-to-functions@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" + integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== dependencies: - "@babel/types" "^7.15.0" + "@babel/types" "^7.15.4" -"@babel/helper-module-imports@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" - integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== +"@babel/helper-module-imports@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" + integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-module-transforms@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08" - integrity sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg== +"@babel/helper-module-transforms@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz#962cc629a7f7f9a082dd62d0307fa75fe8788d7c" + integrity sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw== dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-replace-supers" "^7.15.0" - "@babel/helper-simple-access" "^7.14.8" - "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-simple-access" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" "@babel/helper-validator-identifier" "^7.14.9" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-optimise-call-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" - integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== +"@babel/helper-optimise-call-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" + integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-replace-supers@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz#ace07708f5bf746bf2e6ba99572cce79b5d4e7f4" - integrity sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA== +"@babel/helper-replace-supers@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" + integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.15.0" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-simple-access@^7.14.8": - version "7.14.8" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" - integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== +"@babel/helper-simple-access@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" + integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== dependencies: - "@babel/types" "^7.14.8" + "@babel/types" "^7.15.4" -"@babel/helper-split-export-declaration@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" - integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== +"@babel/helper-split-export-declaration@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" + integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": version "7.14.9" @@ -153,14 +153,14 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helpers@^7.14.8": - version "7.15.3" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz#c96838b752b95dcd525b4e741ed40bb1dc2a1357" - integrity sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g== +"@babel/helpers@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" + integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== dependencies: - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": version "7.14.5" @@ -171,39 +171,39 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.14.5", "@babel/parser@^7.15.0": - version "7.15.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" - integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== +"@babel/parser@^7.15.4", "@babel/parser@^7.15.5": + version "7.15.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz#d33a58ca69facc05b26adfe4abebfed56c1c2dac" + integrity sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg== -"@babel/template@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== +"@babel/template@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" + integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== dependencies: "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/traverse@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98" - integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw== +"@babel/traverse@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" + integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== dependencies: "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.0" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/parser" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/generator" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" - integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== +"@babel/types@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz#74eeb86dbd6748d2741396557b9860e57fce0a0d" + integrity sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw== dependencies: "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" @@ -958,7 +958,7 @@ "@napi-rs/cli@^1.3.1": version "1.3.1" - resolved "https://registry.yarnpkg.com/@napi-rs/cli/-/cli-1.3.1.tgz#fb7586f5a1ee33d16b2b9d6c1f29f7f9699070d4" + resolved "https://registry.npmjs.org/@napi-rs/cli/-/cli-1.3.1.tgz#fb7586f5a1ee33d16b2b9d6c1f29f7f9699070d4" integrity sha512-lJ2z9bMDgY1V4Y50LMAjf4HFWEHS8RJ6aHT6YHqA1L6UWfNTaSry8P55+A1o7PObXH48MuGQZckLTCrXuaKqcw== dependencies: inquirer "^8.1.2" @@ -1092,10 +1092,10 @@ "@octokit/types" "^6.0.3" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^10.0.0": - version "10.0.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-10.0.0.tgz#db4335de99509021f501fc4e026e6ff495fe1e62" - integrity sha512-k1iO2zKuEjjRS1EJb4FwSLk+iF6EGp+ZV0OMRViQoWhQ1fZTk9hg1xccZII5uyYoiqcbC73MRBmT45y1vp2PPg== +"@octokit/openapi-types@^10.1.0": + version "10.1.1" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-10.1.1.tgz#74607482d193e9c9cc7e23ecf04b1bde3eabb6d8" + integrity sha512-ygp/6r25Ezb1CJuVMnFfOsScEtPF0zosdTJDZ7mZ+I8IULl7DP1BS5ZvPRwglcarGPXOvS5sHdR0bjnVDDfQdQ== "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" @@ -1115,11 +1115,11 @@ integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== "@octokit/plugin-rest-endpoint-methods@^5.9.0": - version "5.9.0" - resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.9.0.tgz#f9a7d8411e7e4e49a65fc95b5cc23cf96bf05e1f" - integrity sha512-Rz67pg+rEJq2Qn/qfHsMiBoP7GL5NDn8Gg0ezGznZ745Ixn1gPusZYZqCXNhICYrIZaVXmusNP0iwPdphJneqQ== + version "5.10.1" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.10.1.tgz#9683c4cf476fb6c80f668c4b468919e69c71f66a" + integrity sha512-Rf1iMl40I0dIxjh1g32qZ6Ym/uT8QWZMm2vYGG5Vi8SX1MwZvbuxEGXYgmzTUWSD3PYWSLilE2+4L8kmdLGTMg== dependencies: - "@octokit/types" "^6.26.0" + "@octokit/types" "^6.27.0" deprecation "^2.3.1" "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": @@ -1153,12 +1153,12 @@ "@octokit/plugin-request-log" "^1.0.4" "@octokit/plugin-rest-endpoint-methods" "^5.9.0" -"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.26.0": - version "6.26.0" - resolved "https://registry.npmjs.org/@octokit/types/-/types-6.26.0.tgz#b8af298485d064ad9424cb41520541c1bf820346" - integrity sha512-RDxZBAFMtqs1ZPnbUu1e7ohPNfoNhTiep4fErY7tZs995BeHu369Vsh5woMIaFbllRWEZBfvTCS4hvDnMPiHrA== +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.26.0", "@octokit/types@^6.27.0": + version "6.27.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-6.27.0.tgz#2ffcd4d1cf344285f4151978c6fd36a2edcdf922" + integrity sha512-ha27f8DToxXBPEJdzHCCuqpw7AgKfjhWGdNf3yIlBAhAsaexBXTfWw36zNSsncALXGvJq4EjLy1p3Wz45Aqb4A== dependencies: - "@octokit/openapi-types" "^10.0.0" + "@octokit/openapi-types" "^10.1.0" "@sindresorhus/is@^0.14.0": version "0.14.0" @@ -1191,85 +1191,85 @@ dependencies: source-map-support "^0.5.19" -"@swc/core-android-arm64@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-android-arm64/-/core-android-arm64-1.2.83.tgz#51bb5e30a52a88c38376695f31c952e0dd6bdeaa" - integrity sha512-pODboMBvwplgfPU7/LVAJdIlt/9lttd8cMUwxSykMo/lFaP5J5SyiBauL1UzFEe6eGpN4WPhlF3H+tTz1uWBwg== - -"@swc/core-darwin-arm64@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.83.tgz#3dd634504cc0eb3115f67d67d0688495be4c2189" - integrity sha512-/RadmNG6w8ouXsqEFMgjUZL1pxiodkAMTLuKxzKgGb8C+cJYYzrMrJAhuRaVF56/tbI0f7HjGtVYPIUyj7PO/Q== - -"@swc/core-darwin-x64@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.2.83.tgz#4cdad62fea2a4f9b8481f06999529d9a3d8b2632" - integrity sha512-SuMQOzMPv79EqHbvkL29KuAfvxADpEgzVndg/w3rjfT2xHHRBZSbcpTWZ2mXYZeddM3+JG2OrHH55RixUH+r9Q== - -"@swc/core-freebsd-x64@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.83.tgz#c317c21bca82c93f8074cb88baab6fa4055e36dd" - integrity sha512-2s7L71s3OgrXbjujPY37OuA0FuTtoevTz8Ce40HkvfcOArTi92gN6WZu55ZtUIwFq3U/hH0oE0Po86JOO/ArVg== - -"@swc/core-linux-arm-gnueabihf@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.83.tgz#ab6c7c4eb9cca4b99429d5d5714b2ac32e564c1e" - integrity sha512-RwONngFb7BG+6o9Hi+EuE7dT0d/PtlZyV9DdeAP++uuem9I6vyuXmI3IqtpeRU731wW4gLvlRKLp/EV63sjoSA== - -"@swc/core-linux-arm64-gnu@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.83.tgz#2ac6562c980167fdaba660ccfdefb54c55758483" - integrity sha512-BM4cbI4X74eul6ix0PBsJ7sSkIbcHX9P6J3fAoT6CmYeS4gADGB4n1ktw5GYkXhaiVRVK9KVUXEqpfxBTpCXXQ== - -"@swc/core-linux-arm64-musl@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.83.tgz#07425dfa5a2b6a768ee0111fbe8ac961dee179cd" - integrity sha512-XDuxnA/rRMLOAAOCjyPlDdzFUrWuD3Xp+m5dHQi80VqpfLGxYeVZebUYfpEtWGI1K4UPQLx+gTk2ssVG5avWKA== - -"@swc/core-linux-x64-gnu@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.83.tgz#195143b154a89bfa0a48f2166134b0ad971d71d3" - integrity sha512-FaA5O2V0I8X6UuBua7a4ufGh/r9I00aXvoMcb2yrxyzyApgh2VvLfCj3DaiQIYR44QV7dQm/RII1KsJnX6XpDw== - -"@swc/core-linux-x64-musl@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.83.tgz#172a419ef654977b4207c1ff62bbfaef2551b753" - integrity sha512-BYNqN7cmN+TazrUrhGrY9IYbT2+l4UqFEZX/M5iWfFzpvHmGeeacvD4qxC1iAh99dqGHn7rsPM3QVK9lyDlLSw== - -"@swc/core-win32-arm64-msvc@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.83.tgz#3204479e427d0af86215046ca339c351f62c0f29" - integrity sha512-tMzWXwcwTsBQ0eVXrwai+Q/aiBZR1sDWpYDD1KINRIYWxTASJ0PLySbLyZdEFfxxPvqOY1gslnWLjPwa1frTkg== - -"@swc/core-win32-ia32-msvc@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.83.tgz#02873c0566339a495b97e902b878bca25bfe4f9d" - integrity sha512-ft1kSw8b09Lmyg7xXn7n99GYMr7CCFzWXB8800kjOb+9jsIN73Sn86I3TVldAeIdJZbeuTYU8J7cxhcJcnmmOA== - -"@swc/core-win32-x64-msvc@^1.2.83": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.83.tgz#6337aa847701f451d7689c9acb5839df4f34c22f" - integrity sha512-HraOOGDp0dI4+yQ7DxW44FBGSa7CDKG+oviiu2ieXyFjnMqyI3AS5jD27O7g7WKQ1RvKky8M6PxFMz9w3P8HJQ== +"@swc/core-android-arm64@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-android-arm64/-/core-android-arm64-1.2.84.tgz#797d58882b5e76a58b40d3658c1654a78a82de8a" + integrity sha512-GmPFlDXRQmIIdJ5mR2O47ac6EkWPvo5aDFsNYSzu58ZLBO8pBGiK/EZyrCL/agPpYjr9l9ZEdEjPCFynaUxppA== + +"@swc/core-darwin-arm64@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.84.tgz#c46e93ec44e20815c5fc479afafa5113b0c3e916" + integrity sha512-Wr+L3vGTf1MMNgR8UYRZbclPYVIcNnYyh7dm6RrHNS30zsAyjsuDt6O5xcdI+j9+diciBaOqD33wOc22jDI0ZQ== + +"@swc/core-darwin-x64@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.2.84.tgz#140347c9cc9cdcacb222df47664216217600b50b" + integrity sha512-1gBUEK0sDI+zYoGsNknYSCvD9rrgl89Kaq9IxY6Q55efNFRG5FkmlpHQW3URt0JLCzMEPAqn0KtteTOkZpL0aA== + +"@swc/core-freebsd-x64@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.84.tgz#ec080efc16766d4f5e14146c5517d5dd26c7ac40" + integrity sha512-BJdCyJy4hYDuw5wvneNKwONidlOZTd5+iUhic6pCKRTjAsVjzsAX5BvPBnSfR60iQ0Idp9J3fgefVxqgG8rcrw== + +"@swc/core-linux-arm-gnueabihf@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.84.tgz#af526a902fb96ca23f6c3d28cd1d68dc458ed094" + integrity sha512-ZQ1yqcXKoEVQ9Zs3DQ9LOv+fZkl+NbH3lXlJBMmlYf6Mw3L+u1JakU8OZO8UitYelLwzruoM7WsGdpvHSfv1KQ== + +"@swc/core-linux-arm64-gnu@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.84.tgz#226d935a4aed6931d27b01cc5371199dc372024b" + integrity sha512-Gocc0Xf8oWVcjcGlWqHODmtKwETzGudpQUtA8XhpjYQCKIo+q6xXdZvP/sEiYm6cqAWOPjLsN0CoQasJL+huDg== + +"@swc/core-linux-arm64-musl@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.84.tgz#ca48a0ddf83945dd32678e919b81cdf5592c45ac" + integrity sha512-oFmGUdxfXiJCgclCiKqxNltNj+nIiA9vrf0TV5KAK9d1aUPlhAuVgxHW3uGi1eeNxh/ViY4QbURCK4xOvQuxXA== + +"@swc/core-linux-x64-gnu@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.84.tgz#e7095a2b3c0a9582af8b23d56fd75e8687a8a6eb" + integrity sha512-AZWb/DCkHRN1T0a73tDIJrWGBq4tRgCDPsd25a2vtlwykfopFc9UttM5WRhnzrGF20KQN5RG6MosMrkCwGAnxQ== + +"@swc/core-linux-x64-musl@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.84.tgz#633d4b9686a25c613339f3d9a6972fba4e82e299" + integrity sha512-PydBMAmZcNtRCU+M6kUa4rHo3J80HjGl/Vo+IbEUOL8Ollhozwfuw4c9H7lwigoLwRbLa5dNYipGBGvIZLonkg== + +"@swc/core-win32-arm64-msvc@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.84.tgz#8134af53eba2638bef36792c1cc2876dbd032af5" + integrity sha512-RkBqz9/ITnApxTNu3Q4iZEUp8uaqCUyJUL/OH7IBDLrU8q6yYY6/01s8/GsHJQ3AUa1KsR72kB66TO20p5Qe0Q== + +"@swc/core-win32-ia32-msvc@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.84.tgz#e7bc361e131bc30f699b25f36ebb6e8bfb138a1f" + integrity sha512-N/WPD8z/uaZGq19my9+i0nrW7JyW1oR9fAQFhNHamvDY8iQ66FnejTKMc6J8SEzxhMpT2gXykTOGBXFy0U95UA== + +"@swc/core-win32-x64-msvc@^1.2.84": + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.84.tgz#f30183ab532a1ec8408a606f9bad4cfc7e5a1a87" + integrity sha512-EamduVSJSrDEMUhI94OZLrURrPFKRhEsYB7kVl3hruEYTNLjKNqONFIq3qw8yl8iNv8Y9P+FQaWh/UtUzna0cg== "@swc/core@^1.2.59": - version "1.2.83" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.2.83.tgz#6895b0a0c58e3aeff444f01f8a35787b377fb1b5" - integrity sha512-Ao5XziabPGXBcwyDF8NRZcp7ySZBsjrV1aDyVe2Rdb44VaJ8Q0jN7QjYlc4zOikcwgi1BF05YgvMykMfB0qKMA== + version "1.2.84" + resolved "https://registry.npmjs.org/@swc/core/-/core-1.2.84.tgz#4b33556222dd035c6583521b7eaaa0f72f100ae0" + integrity sha512-TEoYuMna8+G1zdtvU4qTVTuJ9AatGLK26WyigwHz56aFBRDiVOZSB506FbU7RIc56oRi33zhPtpxLSqQhLGtJQ== dependencies: "@node-rs/helper" "^1.0.0" optionalDependencies: - "@swc/core-android-arm64" "^1.2.83" - "@swc/core-darwin-arm64" "^1.2.83" - "@swc/core-darwin-x64" "^1.2.83" - "@swc/core-freebsd-x64" "^1.2.83" - "@swc/core-linux-arm-gnueabihf" "^1.2.83" - "@swc/core-linux-arm64-gnu" "^1.2.83" - "@swc/core-linux-arm64-musl" "^1.2.83" - "@swc/core-linux-x64-gnu" "^1.2.83" - "@swc/core-linux-x64-musl" "^1.2.83" - "@swc/core-win32-arm64-msvc" "^1.2.83" - "@swc/core-win32-ia32-msvc" "^1.2.83" - "@swc/core-win32-x64-msvc" "^1.2.83" + "@swc/core-android-arm64" "^1.2.84" + "@swc/core-darwin-arm64" "^1.2.84" + "@swc/core-darwin-x64" "^1.2.84" + "@swc/core-freebsd-x64" "^1.2.84" + "@swc/core-linux-arm-gnueabihf" "^1.2.84" + "@swc/core-linux-arm64-gnu" "^1.2.84" + "@swc/core-linux-arm64-musl" "^1.2.84" + "@swc/core-linux-x64-gnu" "^1.2.84" + "@swc/core-linux-x64-musl" "^1.2.84" + "@swc/core-win32-arm64-msvc" "^1.2.84" + "@swc/core-win32-ia32-msvc" "^1.2.84" + "@swc/core-win32-x64-msvc" "^1.2.84" "@szmarczak/http-timer@^1.1.2": version "1.1.2" @@ -1339,9 +1339,9 @@ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*": - version "16.7.10" - resolved "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz#7aa732cc47341c12a16b7d562f519c2383b6d4fc" - integrity sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA== + version "16.9.0" + resolved "https://registry.npmjs.org/@types/node/-/node-16.9.0.tgz#d9512fe037472dcb58931ce19f837348db828a62" + integrity sha512-nmP+VR4oT0pJUPFbKE4SXj3Yb4Q/kz3M9dSAO1GGMebRKWHQxLfDNmU/yh3xxCJha3N60nQ/JwXWwOE/ZSEVag== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1362,73 +1362,73 @@ tapable "^2.2.0" webpack "^5" -"@typescript-eslint/eslint-plugin@^4.30.0": - version "4.30.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz#4a0c1ae96b953f4e67435e20248d812bfa55e4fb" - integrity sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g== +"@typescript-eslint/eslint-plugin@^4.31.0": + version "4.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz#9c3fa6f44bad789a962426ad951b54695bd3af6b" + integrity sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw== dependencies: - "@typescript-eslint/experimental-utils" "4.30.0" - "@typescript-eslint/scope-manager" "4.30.0" + "@typescript-eslint/experimental-utils" "4.31.0" + "@typescript-eslint/scope-manager" "4.31.0" debug "^4.3.1" functional-red-black-tree "^1.0.1" regexpp "^3.1.0" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.30.0": - version "4.30.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz#9e49704fef568432ae16fc0d6685c13d67db0fd5" - integrity sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw== +"@typescript-eslint/experimental-utils@4.31.0": + version "4.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz#0ef1d5d86c334f983a00f310e43c1ce4c14e054d" + integrity sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw== dependencies: "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.30.0" - "@typescript-eslint/types" "4.30.0" - "@typescript-eslint/typescript-estree" "4.30.0" + "@typescript-eslint/scope-manager" "4.31.0" + "@typescript-eslint/types" "4.31.0" + "@typescript-eslint/typescript-estree" "4.31.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@^4.30.0": - version "4.30.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz#6abd720f66bd790f3e0e80c3be77180c8fcb192d" - integrity sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg== +"@typescript-eslint/parser@^4.31.0": + version "4.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.0.tgz#87b7cd16b24b9170c77595d8b1363f8047121e05" + integrity sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w== dependencies: - "@typescript-eslint/scope-manager" "4.30.0" - "@typescript-eslint/types" "4.30.0" - "@typescript-eslint/typescript-estree" "4.30.0" + "@typescript-eslint/scope-manager" "4.31.0" + "@typescript-eslint/types" "4.31.0" + "@typescript-eslint/typescript-estree" "4.31.0" debug "^4.3.1" -"@typescript-eslint/scope-manager@4.30.0": - version "4.30.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz#1a3ffbb385b1a06be85cd5165a22324f069a85ee" - integrity sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A== +"@typescript-eslint/scope-manager@4.31.0": + version "4.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz#9be33aed4e9901db753803ba233b70d79a87fc3e" + integrity sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg== dependencies: - "@typescript-eslint/types" "4.30.0" - "@typescript-eslint/visitor-keys" "4.30.0" + "@typescript-eslint/types" "4.31.0" + "@typescript-eslint/visitor-keys" "4.31.0" -"@typescript-eslint/types@4.30.0": - version "4.30.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz#fb9d9b0358426f18687fba82eb0b0f869780204f" - integrity sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw== +"@typescript-eslint/types@4.31.0": + version "4.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.0.tgz#9a7c86fcc1620189567dc4e46cad7efa07ee8dce" + integrity sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ== -"@typescript-eslint/typescript-estree@4.30.0": - version "4.30.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz#ae57833da72a753f4846cd3053758c771670c2ac" - integrity sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg== +"@typescript-eslint/typescript-estree@4.31.0": + version "4.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz#4da4cb6274a7ef3b21d53f9e7147cc76f278a078" + integrity sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg== dependencies: - "@typescript-eslint/types" "4.30.0" - "@typescript-eslint/visitor-keys" "4.30.0" + "@typescript-eslint/types" "4.31.0" + "@typescript-eslint/visitor-keys" "4.31.0" debug "^4.3.1" globby "^11.0.3" is-glob "^4.0.1" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.30.0": - version "4.30.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz#a47c6272fc71b0c627d1691f68eaecf4ad71445e" - integrity sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw== +"@typescript-eslint/visitor-keys@4.31.0": + version "4.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz#4e87b7761cb4e0e627dc2047021aa693fc76ea2b" + integrity sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w== dependencies: - "@typescript-eslint/types" "4.30.0" + "@typescript-eslint/types" "4.31.0" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.11.1": @@ -1586,9 +1586,9 @@ acorn-jsx@^5.3.1: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz#3ddab7f84e4a7e2313f6c414c5b7dac85f4e3ebc" - integrity sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w== + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^7.4.0: version "7.4.1" @@ -1596,9 +1596,9 @@ acorn@^7.4.0: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.0.4, acorn@^8.4.1: - version "8.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" - integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== + version "8.5.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== add-stream@^1.0.0: version "1.0.0" @@ -1743,9 +1743,9 @@ archy@^1.0.0: integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + version "1.1.7" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== dependencies: delegates "^1.0.0" readable-stream "^2.0.6" @@ -2025,13 +2025,13 @@ braces@^3.0.1, braces@~3.0.2: fill-range "^7.0.1" browserslist@^4.14.5, browserslist@^4.16.6: - version "4.16.8" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" - integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== + version "4.17.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz#1fcd81ec75b41d6d4994fb0831b92ac18c01649c" + integrity sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g== dependencies: - caniuse-lite "^1.0.30001251" + caniuse-lite "^1.0.30001254" colorette "^1.3.0" - electron-to-chromium "^1.3.811" + electron-to-chromium "^1.3.830" escalade "^3.1.1" node-releases "^1.1.75" @@ -2142,10 +2142,10 @@ camelcase@^6.2.0: resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001251: - version "1.0.30001252" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz#cb16e4e3dafe948fc4a9bb3307aea054b912019a" - integrity sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw== +caniuse-lite@^1.0.30001254: + version "1.0.30001255" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz#f3b09b59ab52e39e751a569523618f47c4298ca0" + integrity sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ== caseless@~0.12.0: version "0.12.0" @@ -2259,6 +2259,13 @@ cli-width@^3.0.0: resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== +clipanion@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/clipanion/-/clipanion-3.0.1.tgz#cba44989fa18a625d7d02800ea98c835e973fc26" + integrity sha512-/ujK3YJ1MGjGr18w99Gl9XZjy4xcC/5bZRJXsgvYG6GbUTO4CTKriC+oUxDbo8G+G/dxDqSJhm8QIDnK6iH6Ig== + dependencies: + typanion "^3.3.1" + cliui@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -2353,9 +2360,9 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^1.2.2, colorette@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" - integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== + version "1.4.0" + resolved "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== columnify@^1.5.4: version "1.5.4" @@ -2702,9 +2709,9 @@ deep-extend@^0.6.0: integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== default-require-extensions@^3.0.0: version "3.0.0" @@ -2842,10 +2849,10 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -electron-to-chromium@^1.3.811: - version "1.3.826" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.826.tgz#dbe356b1546b39d83bcd47e675a9c5f61dadaed2" - integrity sha512-bpLc4QU4B8PYmdO4MSu2ZBTMD8lAaEXRS43C09lB31BvYwuk9UxgBRXbY5OJBw7VuMGcg2MZG5FyTaP9u4PQnw== +electron-to-chromium@^1.3.830: + version "1.3.833" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.833.tgz#e1394eb32ab8a9430ffd7d5adf632ce6c3b05e18" + integrity sha512-h+9aVaUHjyunLqtCjJF2jrJ73tYcJqo2cCGKtVAXH9WmnBsb8hiChRQ0P1uXjdxR6Wcfxibephy41c1YlZA/pA== emittery@^0.8.0: version "0.8.1" @@ -2924,21 +2931,22 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: - version "1.18.5" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz#9b10de7d4c206a3581fd5b2124233e04db49ae19" - integrity sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA== + version "1.18.6" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" + integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" internal-slot "^1.0.3" - is-callable "^1.2.3" + is-callable "^1.2.4" is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" + is-regex "^1.1.4" + is-string "^1.0.7" object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" @@ -3449,14 +3457,14 @@ get-package-type@^0.1.0: integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-pkg-repo@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.1.2.tgz#c4ffd60015cf091be666a0212753fc158f01a4c0" - integrity sha512-/FjamZL9cBYllEbReZkxF2IMh80d8TJoC4e3bmLNif8ibHw95aj0N/tzqK0kZz9eU/3w3dL6lF4fnnX/sDdW3A== + version "4.2.1" + resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== dependencies: "@hutson/parse-repository-url" "^3.0.0" hosted-git-info "^4.0.0" - meow "^7.0.0" through2 "^2.0.0" + yargs "^16.2.0" get-port@^5.1.1: version "5.1.1" @@ -3482,6 +3490,14 @@ get-stream@^6.0.0: resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -3525,9 +3541,9 @@ git-up@^4.0.0: parse-url "^6.0.0" git-url-parse@^11.4.4: - version "11.5.0" - resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.5.0.tgz#acaaf65239cb1536185b19165a24bbc754b3f764" - integrity sha512-TZYSMDeM37r71Lqg1mbnMlOqlHd7BSij9qN7XwTkRqSAYFMihGLGhfHwgqQob3GUhEneKnV4nskN9rbQw2KGxA== + version "11.6.0" + resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" + integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== dependencies: git-up "^4.0.0" @@ -3897,7 +3913,7 @@ inquirer@^7.3.3: inquirer@^8.1.2: version "8.1.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.1.2.tgz#65b204d2cd7fb63400edd925dfe428bafd422e3d" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.1.2.tgz#65b204d2cd7fb63400edd925dfe428bafd422e3d" integrity sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q== dependencies: ansi-escapes "^4.2.1" @@ -3961,7 +3977,7 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-callable@^1.1.4, is-callable@^1.2.3: +is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== @@ -4108,7 +4124,7 @@ is-promise@^4.0.0: resolved "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== -is-regex@^1.1.3: +is-regex@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -4133,7 +4149,7 @@ is-stream@^2.0.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.5, is-string@^1.0.6: +is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== @@ -4256,9 +4272,9 @@ istanbul-reports@^3.0.2: istanbul-lib-report "^3.0.0" jest-worker@^27.0.6: - version "27.1.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.0.tgz#65f4a88e37148ed984ba8ca8492d6b376938c0aa" - integrity sha512-mO4PHb2QWLn9yRXGp7rkvXLAYuxwhq1ZYUo0LoDhg8wqvv4QizP1ZWEJOeolgbEgAWZLIEU0wsku8J+lGWfBhg== + version "27.1.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.1.tgz#eb5f05c4657fdcb702c36c48b20d785bd4599378" + integrity sha512-XJKCL7tu+362IUYTWvw8+3S75U7qMiYiRU6u5yqscB48bTvzwN6i8L/7wVTXiFLwkRsxARNM7TISnTvcgv9hxA== dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -4735,23 +4751,6 @@ memorystream@^0.3.1: resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= -meow@^7.0.0: - version "7.1.1" - resolved "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - meow@^8.0.0: version "8.1.2" resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -5005,9 +5004,9 @@ node-addon-api@^3.0.2, node-addon-api@^3.1.0: integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + version "2.6.2" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.2.tgz#986996818b73785e47b1965cc34eb093a1d464d0" + integrity sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA== node-gyp@^5.0.2: version "5.1.1" @@ -5928,9 +5927,9 @@ read-package-json@^3.0.0: npm-normalize-package-bin "^1.0.0" read-package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-4.0.1.tgz#da88a38c410344fecb7d840d35f27635e848ea54" - integrity sha512-czqCcYfkEl6sIFJVOND/5/Goseu7cVw1rcDUATq6ED0jLGjMm9/HOPmFmEZMvRu9yl272YERaMUcOlvcNU9InQ== + version "4.1.1" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz#153be72fce801578c1c86b8ef2b21188df1b9eea" + integrity sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw== dependencies: glob "^7.1.1" json-parse-even-better-errors "^2.3.0" @@ -6188,7 +6187,7 @@ rxjs@^6.6.0, rxjs@^6.6.7: rxjs@^7.2.0: version "7.3.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.3.0.tgz#39fe4f3461dc1e50be1475b2b85a0a88c1e938c6" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz#39fe4f3461dc1e50be1475b2b85a0a88c1e938c6" integrity sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw== dependencies: tslib "~2.1.0" @@ -6791,9 +6790,9 @@ temp-write@^4.0.0: uuid "^3.3.2" terser-webpack-plugin@^5.1.3: - version "5.2.0" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.0.tgz#694c54fcdfa5f5cb2ceaf31929e7535b32a8a50c" - integrity sha512-FpR4Qe0Yt4knSQ5u2bA1wkM0R8VlVsvhyfSHvomXRivS4vPLk0dJV2IhRBIHRABh7AFutdMeElIA5y1dETwMBg== + version "5.2.3" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.3.tgz#4852c91f709a4ea2bcf324cf48e7e88124cda0cc" + integrity sha512-eDbuaDlXhVaaoKuLD3DTNTozKqln6xOG6Us0SzlKG5tNlazG+/cdl8pm9qiF1Di89iWScTI0HcO+CDcf2dkXiw== dependencies: jest-worker "^27.0.6" p-limit "^3.1.0" @@ -6926,7 +6925,7 @@ tslib@^2.3.1: tslib@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tsutils@^3.21.0: @@ -6948,6 +6947,11 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +typanion@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/typanion/-/typanion-3.3.2.tgz#c31f3b2afb6e8ae74dbd3f96d5b1d8f9745e483e" + integrity sha512-m3v3wtFc6R0wtl0RpEn11bKXIOjS1zch5gmx0zg2G5qfGQ3A9TVZRMSL43O5eFuGXsrgzyvDcGRmSXGP5UqpDQ== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -7013,9 +7017,9 @@ typescript@^4.3.5, typescript@^4.4.2: integrity sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ== uglify-js@^3.1.4: - version "3.14.1" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz#e2cb9fe34db9cb4cf7e35d1d26dfea28e09a7d06" - integrity sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g== + version "3.14.2" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" + integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== uid-number@0.0.6: version "0.0.6" @@ -7191,9 +7195,9 @@ webpack-sources@^3.2.0: integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw== webpack@^5: - version "5.51.1" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.51.1.tgz#41bebf38dccab9a89487b16dbe95c22e147aac57" - integrity sha512-xsn3lwqEKoFvqn4JQggPSRxE4dhsRcysWTqYABAZlmavcoTmwlOb9b1N36Inbt/eIispSkuHa80/FJkDTPos1A== + version "5.52.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.52.0.tgz#88d997c2c3ebb62abcaa453d2a26e0fd917c71a3" + integrity sha512-yRZOat8jWGwBwHpco3uKQhVU7HYaNunZiJ4AkAVQkPCUGoZk/tiIXiwG+8HIy/F+qsiZvSOa+GLQOj3q5RKRYg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -7403,7 +7407,7 @@ yargs-parser@20.2.4: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==