diff --git a/.github/workflows/testCommitExceptMain.yml b/.github/workflows/testCommitExceptMain.yml index 791c510..9719f2d 100644 --- a/.github/workflows/testCommitExceptMain.yml +++ b/.github/workflows/testCommitExceptMain.yml @@ -1,5 +1,6 @@ name: Unit Tests on: + workflow_dispatch: push: branches-ignore: [main] diff --git a/grammars/apex.tmLanguage b/grammars/apex.tmLanguage index 62147eb..df3938d 100644 --- a/grammars/apex.tmLanguage +++ b/grammars/apex.tmLanguage @@ -1914,15 +1914,15 @@ begin (?x) -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1985,25 +1985,25 @@ begin (?x) (?!.*\b(?:class|interface|enum)\b)\s* -(?<return-type> - (?<type-name> +(?<return_type> + (?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) -(?<interface-name>\g<type-name>\s*\.\s*)? -(?<property-name>\g<identifier>)\s* +(?<interface_name>\g<type_name>\s*\.\s*)? +(?<property_name>\g<identifier>)\s* (?=\{|=>|$) beginCaptures @@ -2067,25 +2067,25 @@ begin (?x) -(?<return-type> - (?<type-name> +(?<return_type> + (?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) -(?<interface-name>\g<type-name>\s*\.\s*)? -(?<indexer-name>this)\s* +(?<interface_name>\g<type_name>\s*\.\s*)? +(?<indexer_name>this)\s* (?=\[) beginCaptures @@ -2205,24 +2205,24 @@ begin (?x) -(?<return-type> - (?<type-name> +(?<return_type> + (?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) -(?<interface-name>\g<type-name>\s*\.\s*)? +(?<interface_name>\g<type_name>\s*\.\s*)? (\g<identifier>)\s* (<([^<>]+)>)?\s* (?=\() @@ -3235,15 +3235,15 @@ match (?x) -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3305,16 +3305,16 @@ (?x) (?: (?:(\bref)\s+)?(\bvar\b)| # ref local - (?<type-name> + (?<type_name> (?: (?:ref\s+)? # ref local (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3383,16 +3383,16 @@ begin (?x) -(?<const-keyword>\b(?:const)\b)\s* -(?<type-name> +(?<const_keyword>\b(?:const)\b)\s* +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3796,15 +3796,15 @@ match (?x) (\()\s* -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3858,7 +3858,7 @@ (?x) (?:(\??\.)\s*)? # safe navigator or accessor (@?[_[:alpha:]][_[:alnum:]]*)\s* # method name -(?<type-args>\s*<([^<>]|\g<type-args>)+>\s*)?\s* # type arguments +(?<type_args>\s*<([^<>]|\g<type_args>)+>\s*)?\s* # type arguments (?=\() # open paren of argument list beginCaptures @@ -3985,7 +3985,7 @@ (?x) (\??\.)?\s* (@?[_[:alpha:]][_[:alnum:]]*) -(?<type-params>\s*<([^<>]|\g<type-params>)+>\s*) +(?<type_params>\s*<([^<>]|\g<type_params>)+>\s*) (?= (\s*\?)? \s*\.\s*@?[_[:alpha:]][_[:alnum:]]* @@ -4066,15 +4066,15 @@ (?x) (delete|insert|undelete|update|upsert)? \s*(new)\s+ -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -4124,15 +4124,15 @@ (?x) (delete|insert|undelete|update|upsert)? \s*(new)\s+ -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -4172,15 +4172,15 @@ begin (?x) \b(new)\b\s* -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -4266,16 +4266,16 @@ match (?x) (?:(?:\b(this)\b)\s+)? -(?<type-name> +(?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? diff --git a/grammars/apex.tmLanguage.cson b/grammars/apex.tmLanguage.cson index 779fc73..f5da0b4 100644 --- a/grammars/apex.tmLanguage.cson +++ b/grammars/apex.tmLanguage.cson @@ -1108,15 +1108,15 @@ repository: "field-declaration": begin: ''' (?x) - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -1160,25 +1160,25 @@ repository: begin: ''' (?x) (?!.*\\b(?:class|interface|enum)\\b)\\s* - (? - (? + (? + (? (?: (?:ref\\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? ) )\\s+ ) - (?\\g\\s*\\.\\s*)? - (?\\g)\\s* + (?\\g\\s*\\.\\s*)? + (?\\g)\\s* (?=\\{|=>|$) ''' beginCaptures: @@ -1220,25 +1220,25 @@ repository: "indexer-declaration": begin: ''' (?x) - (? - (? + (? + (? (?: (?:ref\\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? ) )\\s+ ) - (?\\g\\s*\\.\\s*)? - (?this)\\s* + (?\\g\\s*\\.\\s*)? + (?this)\\s* (?=\\[) ''' beginCaptures: @@ -1312,24 +1312,24 @@ repository: "method-declaration": begin: ''' (?x) - (? - (? + (? + (? (?: (?:ref\\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? ) )\\s+ ) - (?\\g\\s*\\.\\s*)? + (?\\g\\s*\\.\\s*)? (\\g)\\s* (<([^<>]+)>)?\\s* (?=\\() @@ -1879,15 +1879,15 @@ repository: { match: ''' (?x) - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -1931,16 +1931,16 @@ repository: (?x) (?: (?:(\\bref)\\s+)?(\\bvar\\b)| # ref local - (? + (? (?: (?:ref\\s+)? # ref local (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -1985,16 +1985,16 @@ repository: "local-constant-declaration": begin: ''' (?x) - (?\\b(?:const)\\b)\\s* - (? + (?\\b(?:const)\\b)\\s* + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -2225,15 +2225,15 @@ repository: match: ''' (?x) (\\()\\s* - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -2265,7 +2265,7 @@ repository: (?x) (?:(\\??\\.)\\s*)? # safe navigator or accessor (@?[_[:alpha:]][_[:alnum:]]*)\\s* # method name - (?\\s*<([^<>]|\\g)+>\\s*)?\\s* # type arguments + (?\\s*<([^<>]|\\g)+>\\s*)?\\s* # type arguments (?=\\() # open paren of argument list ''' beginCaptures: @@ -2347,7 +2347,7 @@ repository: (?x) (\\??\\.)?\\s* (@?[_[:alpha:]][_[:alnum:]]*) - (?\\s*<([^<>]|\\g)+>\\s*) + (?\\s*<([^<>]|\\g)+>\\s*) (?= (\\s*\\?)? \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]* @@ -2403,15 +2403,15 @@ repository: (?x) (delete|insert|undelete|update|upsert)? \\s*(new)\\s+ - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -2444,15 +2444,15 @@ repository: (?x) (delete|insert|undelete|update|upsert)? \\s*(new)\\s+ - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -2478,15 +2478,15 @@ repository: begin: ''' (?x) \\b(new)\\b\\s* - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? @@ -2539,16 +2539,16 @@ repository: match: ''' (?x) (?:(?:\\b(this)\\b)\\s+)? - (? + (? (?: (?:ref\\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \\g\\s* - (?\\s*<(?:[^<>]|\\g)+>\\s*)? + (?\\s*<(?:[^<>]|\\g)+>\\s*)? ) - (?:\\s*\\.\\s*\\g)* + (?:\\s*\\.\\s*\\g)* ) (?:\\s*\\?\\s*)? # nullable suffix? (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix? diff --git a/grammars/soql.tmLanguage b/grammars/soql.tmLanguage index 5a903fa..8470c17 100644 --- a/grammars/soql.tmLanguage +++ b/grammars/soql.tmLanguage @@ -1896,15 +1896,15 @@ begin (?x) -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1967,25 +1967,25 @@ begin (?x) (?!.*\b(?:class|interface|enum)\b)\s* -(?<return-type> - (?<type-name> +(?<return_type> + (?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) -(?<interface-name>\g<type-name>\s*\.\s*)? -(?<property-name>\g<identifier>)\s* +(?<interface_name>\g<type_name>\s*\.\s*)? +(?<property_name>\g<identifier>)\s* (?=\{|=>|$) beginCaptures @@ -2049,25 +2049,25 @@ begin (?x) -(?<return-type> - (?<type-name> +(?<return_type> + (?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) -(?<interface-name>\g<type-name>\s*\.\s*)? -(?<indexer-name>this)\s* +(?<interface_name>\g<type_name>\s*\.\s*)? +(?<indexer_name>this)\s* (?=\[) beginCaptures @@ -2187,24 +2187,24 @@ begin (?x) -(?<return-type> - (?<type-name> +(?<return_type> + (?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) -(?<interface-name>\g<type-name>\s*\.\s*)? +(?<interface_name>\g<type_name>\s*\.\s*)? (\g<identifier>)\s* (<([^<>]+)>)?\s* (?=\() @@ -3217,15 +3217,15 @@ match (?x) -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3287,16 +3287,16 @@ (?x) (?: (?:(\bref)\s+)?(\bvar\b)| # ref local - (?<type-name> + (?<type_name> (?: (?:ref\s+)? # ref local (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3365,16 +3365,16 @@ begin (?x) -(?<const-keyword>\b(?:const)\b)\s* -(?<type-name> +(?<const_keyword>\b(?:const)\b)\s* +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3778,15 +3778,15 @@ match (?x) (\()\s* -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -3840,7 +3840,7 @@ (?x) (?:(\??\.)\s*)? # safe navigator or accessor (@?[_[:alpha:]][_[:alnum:]]*)\s* # method name -(?<type-args>\s*<([^<>]|\g<type-args>)+>\s*)?\s* # type arguments +(?<type_args>\s*<([^<>]|\g<type_args>)+>\s*)?\s* # type arguments (?=\() # open paren of argument list beginCaptures @@ -3967,7 +3967,7 @@ (?x) (\??\.)?\s* (@?[_[:alpha:]][_[:alnum:]]*) -(?<type-params>\s*<([^<>]|\g<type-params>)+>\s*) +(?<type_params>\s*<([^<>]|\g<type_params>)+>\s*) (?= (\s*\?)? \s*\.\s*@?[_[:alpha:]][_[:alnum:]]* @@ -4048,15 +4048,15 @@ (?x) (delete|insert|undelete|update|upsert)? \s*(new)\s+ -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -4106,15 +4106,15 @@ (?x) (delete|insert|undelete|update|upsert)? \s*(new)\s+ -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -4154,15 +4154,15 @@ begin (?x) \b(new)\b\s* -(?<type-name> +(?<type_name> (?: (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -4248,16 +4248,16 @@ match (?x) (?:(?:\b(this)\b)\s+)? -(?<type-name> +(?<type_name> (?: (?:ref\s+)? # ref return (?: (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (?<name-and-type-args> # identifier + type arguments (if any) + (?<name_and_type_args> # identifier + type arguments (if any) \g<identifier>\s* - (?<type-args>\s*<(?:[^<>]|\g<type-args>)+>\s*)? + (?<type_args>\s*<(?:[^<>]|\g<type_args>)+>\s*)? ) - (?:\s*\.\s*\g<name-and-type-args>)* + (?:\s*\.\s*\g<name_and_type_args>)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? diff --git a/gulpfile.js b/gulpfile.js index 6deef41..8cc5c38 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,101 +1,99 @@ -const gulp = require('gulp'); -const mocha = require('gulp-mocha'); -const json2cson = require('gulp-json2cson'); -const yaml = require('gulp-yaml'); -const ts = require('gulp-typescript'); -const js_yaml = require('js-yaml'); -const plist = require('plist'); -const fs = require('fs'); -const path = require('path'); - -const inputGrammar = 'src/apex.tmLanguage.yml'; -const inputSoqlGrammarTemplate = 'src/soql.tmLanguage.template.yml'; -const grammarsDirectory = 'grammars/'; -const jsOut = 'out/'; - -function handleError(err) { - console.log(err.toString()); - process.exit(-1); -} - -gulp.task('buildTmLanguage', function(done) { - const text = fs.readFileSync(inputGrammar); - const jsonData = js_yaml.safeLoad(text); - const plistData = plist.build(jsonData); - - if (!fs.existsSync(grammarsDirectory)) { - fs.mkdirSync(grammarsDirectory); - } - - fs.writeFileSync(path.join(grammarsDirectory, 'apex.tmLanguage'), plistData); - done(); -}); - -gulp.task('buildAtom', function() { - return gulp - .src(inputGrammar) - .pipe(yaml()) - .pipe(json2cson()) - .pipe(gulp.dest(grammarsDirectory)) - .on('error', handleError); -}); - -gulp.task('buildSoqlTmLanguage', function(done) { - const soqlGrammar = js_yaml.safeLoad( - fs.readFileSync(inputSoqlGrammarTemplate) - ); - const apexGrammar = js_yaml.safeLoad(fs.readFileSync(inputGrammar)); - - if (!fs.existsSync(grammarsDirectory)) { - fs.mkdirSync(grammarsDirectory); - } - - // Merge the repository of rules from Apex grammar - soqlGrammar['repository'] = Object.assign( - {}, - apexGrammar.repository, - soqlGrammar['repository'] - ); - - // Remove the comments rule SOQL query expression - const apexGrammarSoqlExpressionPatterns = - apexGrammar['repository']['soql-query-expression']['patterns']; - soqlGrammar['repository']['soql-query-expression'][ - 'patterns' - ] = apexGrammarSoqlExpressionPatterns.filter( - pattern => pattern.include !== '#comment' - ); - - fs.writeFileSync( - path.join(grammarsDirectory, 'soql.tmLanguage'), - plist.build(soqlGrammar) - ); - done(); -}); - -gulp.task('compile', function() { - const tsProject = ts.createProject('./tsconfig.json'); - return tsProject - .src() - .pipe(tsProject()) - .pipe(gulp.dest(jsOut + 'test')); -}); - -gulp.task( - 'test', - gulp.series(['compile'], () => { - return gulp - .src(jsOut + 'test/**/*.tests.js') - .pipe(mocha()) - .on('error', handleError); - }) -); - -gulp.task( - 'default', - gulp.series(['buildAtom', 'buildTmLanguage', 'buildSoqlTmLanguage'], function( - done - ) { - done(); - }) -); +const gulp = require('gulp'); +const mocha = require('gulp-mocha'); +const json2cson = require('gulp-json2cson'); +const yaml = require('gulp-yaml'); +const ts = require('gulp-typescript'); +const js_yaml = require('js-yaml'); +const plist = require('plist'); +const fs = require('fs'); +const path = require('path'); + +const inputGrammar = 'src/apex.tmLanguage.yml'; +const inputSoqlGrammarTemplate = 'src/soql.tmLanguage.template.yml'; +const grammarsDirectory = 'grammars/'; +const jsOut = 'out/'; + +function handleError(err) { + console.log(err.toString()); + process.exit(-1); +} + +gulp.task('buildTmLanguage', function (done) { + const text = fs.readFileSync(inputGrammar); + const jsonData = js_yaml.load(text); + const plistData = plist.build(jsonData); + + if (!fs.existsSync(grammarsDirectory)) { + fs.mkdirSync(grammarsDirectory); + } + + fs.writeFileSync(path.join(grammarsDirectory, 'apex.tmLanguage'), plistData); + done(); +}); + +gulp.task('buildAtom', function () { + return gulp + .src(inputGrammar) + .pipe(yaml()) + .pipe(json2cson()) + .pipe(gulp.dest(grammarsDirectory)) + .on('error', handleError); +}); + +gulp.task('buildSoqlTmLanguage', function (done) { + const soqlGrammar = js_yaml.load(fs.readFileSync(inputSoqlGrammarTemplate)); + const apexGrammar = js_yaml.load(fs.readFileSync(inputGrammar)); + + if (!fs.existsSync(grammarsDirectory)) { + fs.mkdirSync(grammarsDirectory); + } + + // Merge the repository of rules from Apex grammar + soqlGrammar['repository'] = Object.assign( + {}, + apexGrammar.repository, + soqlGrammar['repository'] + ); + + // Remove the comments rule SOQL query expression + const apexGrammarSoqlExpressionPatterns = + apexGrammar['repository']['soql-query-expression']['patterns']; + soqlGrammar['repository']['soql-query-expression']['patterns'] = + apexGrammarSoqlExpressionPatterns.filter( + (pattern) => pattern.include !== '#comment' + ); + + fs.writeFileSync( + path.join(grammarsDirectory, 'soql.tmLanguage'), + plist.build(soqlGrammar) + ); + done(); +}); + +gulp.task('compile', function () { + const tsProject = ts.createProject('./tsconfig.json'); + return tsProject + .src() + .pipe(tsProject()) + .pipe(gulp.dest(jsOut + 'test')); +}); + +gulp.task( + 'test', + gulp.series(['compile'], () => { + return gulp + .src(jsOut + 'test/**/*.tests.js') + .pipe(mocha()) + .on('error', handleError); + }) +); + +gulp.task( + 'default', + gulp.series( + ['buildAtom', 'buildTmLanguage', 'buildSoqlTmLanguage'], + function (done) { + done(); + } + ) +); diff --git a/package.json b/package.json index 5bbf5ca..04ee0c9 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,8 @@ "commit-init": "commitizen init cz-conventional-changelog --save-dev --save-exact --force", "commit": "git-cz", "watch": "node ./node_modules/typescript/bin/tsc -w -p .", - "test:soql-tmgrammar": "vscode-tmgrammar-test -s source.soql -g \"./grammars/soql.tmLanguage\" -t \"./test/soql/*.soql\" ", - "test:soql-tmgrammar-snapshots": "vscode-tmgrammar-snap -s source.soql -g \"./grammars/soql.tmLanguage\" -t \"./test/soql/snapshots/*.soql\" ", + "test:soql-tmgrammar": "vscode-tmgrammar-test -g \"./grammars/soql.tmLanguage\" \"./test/soql/*.soql\" ", + "test:soql-tmgrammar-snapshots": "vscode-tmgrammar-snap -s source.soql -g \"./grammars/soql.tmLanguage\" \"./test/soql/snapshots/*.soql\" ", "test": "gulp test && yarn run test:soql-tmgrammar && yarn run test:soql-tmgrammar-snapshots", "prepare": "gulp", "build:default": "gulp default", @@ -49,29 +49,29 @@ "README.md" ], "engines": { - "node": ">=12.4.0" + "node": ">=16" }, "devDependencies": { - "@commitlint/cli": "^7", - "@commitlint/config-conventional": "^7", - "@types/chai": "4.2.8", - "@types/gulp": "^4.0.5", - "@types/mocha": "^5.2.1", - "chai": "^4.1.2", - "commitizen": "^3.0.5", - "cz-conventional-changelog": "^2.1.0", + "@commitlint/cli": "^17", + "@commitlint/config-conventional": "^17", + "@types/chai": "4.3.4", + "@types/gulp": "^4.0.10", + "@types/mocha": "^10.0.1", + "chai": "^4.3.7", + "commitizen": "^4.2.5", + "cz-conventional-changelog": "^3.3.0", "gulp": "4.0.2", "gulp-json2cson": "^2.0.0", - "gulp-mocha": "^6.0.0", - "gulp-typescript": "^4.0.2", - "gulp-yaml": "^2.0.1", - "js-yaml": "^3.12.0", - "mocha": "^5.2.0", - "plist": "^3.0.1", - "prettier": "^1.13.5", - "typescript": "3.7.5", - "vscode-textmate": "4.4.0", - "vscode-tmgrammar-test": "^0.0.10" + "gulp-mocha": "^8.0.0", + "gulp-typescript": "^5.0.1", + "gulp-yaml": "^2.0.4", + "js-yaml": "^4.1.0", + "mocha": "^10.1.0", + "plist": "^3.0.6", + "prettier": "^2.8.0", + "typescript": "4.9.3", + "vscode-textmate": "7.0.4", + "vscode-tmgrammar-test": "^0.1.1" }, "husky": { "hooks": { diff --git a/src/apex.tmLanguage.yml b/src/apex.tmLanguage.yml index dc400a2..1dceb49 100644 --- a/src/apex.tmLanguage.yml +++ b/src/apex.tmLanguage.yml @@ -596,15 +596,15 @@ repository: field-declaration: begin: |- (?x) - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -618,8 +618,8 @@ repository: - include: '#support-type' - include: '#type' # '2': ? is a sub-expression. It's final value is not considered. - # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. + # '3': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. '5': { name: entity.name.variable.field.apex } end: (?=;) patterns: @@ -634,35 +634,35 @@ repository: begin: |- (?x) (?!.*\b(?:class|interface|enum)\b)\s* - (? - (? + (? + (? (?: (?:ref\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) - (?\g\s*\.\s*)? - (?\g)\s* + (?\g\s*\.\s*)? + (?\g)\s* (?=\{|=>|$) beginCaptures: '1': patterns: # - include: '#support-type' - include: '#type' - # '2': ? is a sub-expression. It's final value is not considered. + # '2': ? is a sub-expression. It's final value is not considered. # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. - # '5': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. + # '5': ? is a sub-expression. It's final value is not considered. '6': patterns: - include: '#type' @@ -679,34 +679,34 @@ repository: indexer-declaration: begin: |- (?x) - (? - (? + (? + (? (?: (?:ref\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) - (?\g\s*\.\s*)? - (?this)\s* + (?\g\s*\.\s*)? + (?this)\s* (?=\[) beginCaptures: '1': patterns: - include: '#type' - # '2': ? is a sub-expression. It's final value is not considered. + # '2': ? is a sub-expression. It's final value is not considered. # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. - # '5': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. + # '5': ? is a sub-expression. It's final value is not considered. '6': patterns: - include: '#type' @@ -742,24 +742,24 @@ repository: method-declaration: begin: |- (?x) - (? - (? + (? + (? (?: (?:ref\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? ) )\s+ ) - (?\g\s*\.\s*)? + (?\g\s*\.\s*)? (\g)\s* (<([^<>]+)>)?\s* (?=\() @@ -768,10 +768,10 @@ repository: patterns: - include: '#support-type' - include: '#type' - # '2': ? is a sub-expression. It's final value is not considered. + # '2': ? is a sub-expression. It's final value is not considered. # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. - # '5': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. + # '5': ? is a sub-expression. It's final value is not considered. '6': patterns: - include: '#type' @@ -1099,15 +1099,15 @@ repository: patterns: - match: |- (?x) - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1120,8 +1120,8 @@ repository: - include: '#support-type' - include: '#type' # '2': ? is a sub-expression. It's final value is not considered. - # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. + # '3': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. '5': { name: entity.name.variable.local.apex } - include: '#comment' - include: '#block' @@ -1136,16 +1136,16 @@ repository: (?x) (?: (?:(\bref)\s+)?(\bvar\b)| # ref local - (? + (? (?: (?:ref\s+)? # ref local (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1162,8 +1162,8 @@ repository: - include: '#support-type' - include: '#type' # '4': ? is a sub-expression. It's final value is not considered. - # '5': ? is a sub-expression. It's final value is not considered. - # '6': ? is a sub-expression. It's final value is not considered. + # '5': ? is a sub-expression. It's final value is not considered. + # '6': ? is a sub-expression. It's final value is not considered. '7': { name: entity.name.variable.local.apex } end: (?=;|\)) patterns: @@ -1176,16 +1176,16 @@ repository: local-constant-declaration: begin: |- (?x) - (?\b(?:const)\b)\s* - (? + (?\b(?:const)\b)\s* + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1199,8 +1199,8 @@ repository: patterns: - include: '#type' # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. - # '5': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. + # '5': ? is a sub-expression. It's final value is not considered. '6': { name: entity.name.variable.local.apex } end: (?=;) patterns: @@ -1350,15 +1350,15 @@ repository: match: |- (?x) (\()\s* - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1372,8 +1372,8 @@ repository: - include: '#support-type' - include: '#type' # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. - # '5': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. + # '5': ? is a sub-expression. It's final value is not considered. '6': { name: punctuation.parenthesis.close.apex } this-expression: @@ -1386,7 +1386,7 @@ repository: (?x) (?:(\??\.)\s*)? # safe navigator or accessor (@?[_[:alpha:]][_[:alnum:]]*)\s* # method name - (?\s*<([^<>]|\g)+>\s*)?\s* # type arguments + (?\s*<([^<>]|\g)+>\s*)?\s* # type arguments (?=\() # open paren of argument list beginCaptures: '1': @@ -1440,7 +1440,7 @@ repository: (?x) (\??\.)?\s* (@?[_[:alpha:]][_[:alnum:]]*) - (?\s*<([^<>]|\g)+>\s*) + (?\s*<([^<>]|\g)+>\s*) (?= (\s*\?)? \s*\.\s*@?[_[:alpha:]][_[:alnum:]]* @@ -1477,15 +1477,15 @@ repository: (?x) (delete|insert|undelete|update|upsert)? \s*(new)\s+ - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1508,15 +1508,15 @@ repository: (?x) (delete|insert|undelete|update|upsert)? \s*(new)\s+ - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1535,15 +1535,15 @@ repository: begin: |- (?x) \b(new)\b\s* - (? + (? (?: (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1577,16 +1577,16 @@ repository: match: |- (?x) (?:(?:\b(this)\b)\s+)? - (? + (? (?: (?:ref\s+)? # ref return (?: (?:(?@?[_[:alpha:]][_[:alnum:]]*)\s*\:\:\s*)? # alias-qualification - (? # identifier + type arguments (if any) + (? # identifier + type arguments (if any) \g\s* - (?\s*<(?:[^<>]|\g)+>\s*)? + (?\s*<(?:[^<>]|\g)+>\s*)? ) - (?:\s*\.\s*\g)* + (?:\s*\.\s*\g)* ) (?:\s*\?\s*)? # nullable suffix? (?:\s*\[(?:\s*,\s*)*\]\s*)* # array suffix? @@ -1600,8 +1600,8 @@ repository: - include: '#support-type' - include: '#type' # '3': ? is a sub-expression. It's final value is not considered. - # '4': ? is a sub-expression. It's final value is not considered. - # '5': ? is a sub-expression. It's final value is not considered. + # '4': ? is a sub-expression. It's final value is not considered. + # '5': ? is a sub-expression. It's final value is not considered. '6': { name: entity.name.variable.parameter.apex } argument-list: diff --git a/test/annotation.tests.ts b/test/annotation.tests.ts index dcb95f3..4e81674 100644 --- a/test/annotation.tests.ts +++ b/test/annotation.tests.ts @@ -34,7 +34,7 @@ describe('Grammar', () => { Token.Identifiers.ParameterName('a'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -58,7 +58,7 @@ public static void doCalloutFromFuture() { Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -74,7 +74,7 @@ public class MyTestClass { }`); Token.Keywords.Class, Token.Identifiers.ClassName('MyTestClass'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -97,12 +97,13 @@ public class MyTestClass { }`); Token.Punctuation.String.Begin, Token.XmlDocComments.String.SingleQuoted.Text('Inserts new accounts.'), Token.Punctuation.String.End, - Token.Punctuation.CloseParen + Token.Punctuation.CloseParen, ]); }); it('annotation with multiple parameters on field', async () => { - const input = Input.InClass(`@InvocableMethod(label='Insert Accounts' description='Inserts new accounts.' required=false) + const input = + Input.InClass(`@InvocableMethod(label='Insert Accounts' description='Inserts new accounts.' required=false) global ID leadId; `); const tokens = await tokenize(input); @@ -127,7 +128,7 @@ public class MyTestClass { }`); Token.Keywords.Modifiers.Global, Token.PrimitiveType.ID, Token.Identifiers.FieldName('leadId'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/class.tests.ts b/test/class.tests.ts index 2f35b53..6ff6366 100644 --- a/test/class.tests.ts +++ b/test/class.tests.ts @@ -1,198 +1,198 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Modifications Copyright (c) 2018 Salesforce. - * See LICENSE in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { should } from 'chai'; -import { tokenize, Input, Token } from './utils/tokenize'; - -describe('Grammar', () => { - before(() => { - should(); - }); - - describe('Apex Class', () => { - it('class keyword and storage modifiers', async () => { - const input = Input.FromText(` -public class PublicClass { } - class DefaultClass { } -protected class ProtectedClass { } - global class DefaultGlobalClass { } -public with sharing class PublicWithSharingClass { } - without sharing class DefaultWithoutSharingClass { } -public virtual class PublicVirtualClass { } -public abstract class PublicAbstractClass { } - abstract class DefaultAbstractClass { }`); - - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Keywords.Class, - Token.Identifiers.ClassName('PublicClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Class, - Token.Identifiers.ClassName('DefaultClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Modifiers.Protected, - Token.Keywords.Class, - Token.Identifiers.ClassName('ProtectedClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Modifiers.Global, - Token.Keywords.Class, - Token.Identifiers.ClassName('DefaultGlobalClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.WithSharing, - Token.Keywords.Class, - Token.Identifiers.ClassName('PublicWithSharingClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Modifiers.WithoutSharing, - Token.Keywords.Class, - Token.Identifiers.ClassName('DefaultWithoutSharingClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.Virtual, - Token.Keywords.Class, - Token.Identifiers.ClassName('PublicVirtualClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.Abstract, - Token.Keywords.Class, - Token.Identifiers.ClassName('PublicAbstractClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - - Token.Keywords.Modifiers.Abstract, - Token.Keywords.Class, - Token.Identifiers.ClassName('DefaultAbstractClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('public class with sharing', async () => { - const input = Input.FromText(`public with sharing class C {}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.WithSharing, - Token.Keywords.Class, - Token.Identifiers.ClassName('C'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('public class without sharing', async () => { - const input = Input.FromText(`public without sharing class Fireburn {}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.WithoutSharing, - Token.Keywords.Class, - Token.Identifiers.ClassName('Fireburn'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('simple class', async () => { - const input = Input.FromText(`private class SimpleClass {}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Private, - Token.Keywords.Class, - Token.Identifiers.ClassName('SimpleClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('global class', async () => { - const input = Input.FromText(`global class GlobalClass {}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Global, - Token.Keywords.Class, - Token.Identifiers.ClassName('GlobalClass'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('private class extends', async () => { - const input = Input.FromText(`private class Car extends Vehicle {}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Private, - Token.Keywords.Class, - Token.Identifiers.ClassName('Car'), - Token.Keywords.Extends, - Token.Identifiers.ExtendsName('Vehicle'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('class extends implements', async () => { - const input = Input.FromText( - `public abstract class MySecondException extends Exception implements MyInterface {}` - ); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.Abstract, - Token.Keywords.Class, - Token.Identifiers.ClassName('MySecondException'), - Token.Keywords.Extends, - Token.Identifiers.ExtendsName('Exception'), - Token.Keywords.Implements, - Token.Identifiers.ImplementsName('MyInterface'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('class implements extends', async () => { - const input = Input.FromText( - `public abstract class MySecondException implements MyInterface extends Exception {}` - ); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.Abstract, - Token.Keywords.Class, - Token.Identifiers.ClassName('MySecondException'), - Token.Keywords.Implements, - Token.Identifiers.ImplementsName('MyInterface'), - Token.Keywords.Extends, - Token.Identifiers.ExtendsName('Exception'), - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace - ]); - }); - }); -}); +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Modifications Copyright (c) 2018 Salesforce. + * See LICENSE in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { should } from 'chai'; +import { tokenize, Input, Token } from './utils/tokenize'; + +describe('Grammar', () => { + before(() => { + should(); + }); + + describe('Apex Class', () => { + it('class keyword and storage modifiers', async () => { + const input = Input.FromText(` +public class PublicClass { } + class DefaultClass { } +protected class ProtectedClass { } + global class DefaultGlobalClass { } +public with sharing class PublicWithSharingClass { } + without sharing class DefaultWithoutSharingClass { } +public virtual class PublicVirtualClass { } +public abstract class PublicAbstractClass { } + abstract class DefaultAbstractClass { }`); + + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Keywords.Class, + Token.Identifiers.ClassName('PublicClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Class, + Token.Identifiers.ClassName('DefaultClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Modifiers.Protected, + Token.Keywords.Class, + Token.Identifiers.ClassName('ProtectedClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Modifiers.Global, + Token.Keywords.Class, + Token.Identifiers.ClassName('DefaultGlobalClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.WithSharing, + Token.Keywords.Class, + Token.Identifiers.ClassName('PublicWithSharingClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Modifiers.WithoutSharing, + Token.Keywords.Class, + Token.Identifiers.ClassName('DefaultWithoutSharingClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.Virtual, + Token.Keywords.Class, + Token.Identifiers.ClassName('PublicVirtualClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.Abstract, + Token.Keywords.Class, + Token.Identifiers.ClassName('PublicAbstractClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + + Token.Keywords.Modifiers.Abstract, + Token.Keywords.Class, + Token.Identifiers.ClassName('DefaultAbstractClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('public class with sharing', async () => { + const input = Input.FromText(`public with sharing class C {}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.WithSharing, + Token.Keywords.Class, + Token.Identifiers.ClassName('C'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('public class without sharing', async () => { + const input = Input.FromText(`public without sharing class Fireburn {}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.WithoutSharing, + Token.Keywords.Class, + Token.Identifiers.ClassName('Fireburn'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('simple class', async () => { + const input = Input.FromText(`private class SimpleClass {}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Private, + Token.Keywords.Class, + Token.Identifiers.ClassName('SimpleClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('global class', async () => { + const input = Input.FromText(`global class GlobalClass {}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Global, + Token.Keywords.Class, + Token.Identifiers.ClassName('GlobalClass'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('private class extends', async () => { + const input = Input.FromText(`private class Car extends Vehicle {}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Private, + Token.Keywords.Class, + Token.Identifiers.ClassName('Car'), + Token.Keywords.Extends, + Token.Identifiers.ExtendsName('Vehicle'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('class extends implements', async () => { + const input = Input.FromText( + `public abstract class MySecondException extends Exception implements MyInterface {}` + ); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.Abstract, + Token.Keywords.Class, + Token.Identifiers.ClassName('MySecondException'), + Token.Keywords.Extends, + Token.Identifiers.ExtendsName('Exception'), + Token.Keywords.Implements, + Token.Identifiers.ImplementsName('MyInterface'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('class implements extends', async () => { + const input = Input.FromText( + `public abstract class MySecondException implements MyInterface extends Exception {}` + ); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.Abstract, + Token.Keywords.Class, + Token.Identifiers.ClassName('MySecondException'), + Token.Keywords.Implements, + Token.Identifiers.ImplementsName('MyInterface'), + Token.Keywords.Extends, + Token.Identifiers.ExtendsName('Exception'), + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + ]); + }); + }); +}); diff --git a/test/comment.tests.ts b/test/comment.tests.ts index ff44022..e818c3c 100644 --- a/test/comment.tests.ts +++ b/test/comment.tests.ts @@ -19,7 +19,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text(' foo') + Token.Comment.SingleLine.Text(' foo'), ]); }); @@ -30,7 +30,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.LeadingWhitespace(' '), Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text(' foo') + Token.Comment.SingleLine.Text(' foo'), ]); }); @@ -40,7 +40,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text('// foo') + Token.Comment.SingleLine.Text('// foo'), ]); }); @@ -51,7 +51,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.MultiLine.Start, Token.Comment.MultiLine.Text(' foo '), - Token.Comment.MultiLine.End + Token.Comment.MultiLine.End, ]); }); @@ -61,7 +61,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text(' foo') + Token.Comment.SingleLine.Text(' foo'), ]); }); @@ -71,7 +71,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text(' foo') + Token.Comment.SingleLine.Text(' foo'), ]); }); @@ -81,7 +81,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text(' foo') + Token.Comment.SingleLine.Text(' foo'), ]); }); @@ -91,7 +91,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text(' foo') + Token.Comment.SingleLine.Text(' foo'), ]); }); @@ -108,7 +108,7 @@ private String GetChar()//Метод возвращающий Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text('Метод возвращающий') + Token.Comment.SingleLine.Text('Метод возвращающий'), ]); }); @@ -127,7 +127,7 @@ public class CustomBootstrapper // : DefaultNancyBootstrapper Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' : DefaultNancyBootstrapper'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -147,7 +147,7 @@ public class CustomBootstrapper /* : DefaultNancyBootstrapper */ Token.Comment.MultiLine.Text(' : DefaultNancyBootstrapper '), Token.Comment.MultiLine.End, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -166,7 +166,7 @@ public interface CustomBootstrapper // : DefaultNancyBootstrapper Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' : DefaultNancyBootstrapper'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -186,7 +186,7 @@ public interface CustomBootstrapper /* : DefaultNancyBootstrapper */ Token.Comment.MultiLine.Text(' : DefaultNancyBootstrapper '), Token.Comment.MultiLine.End, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -205,7 +205,7 @@ public enum CustomBootstrapper // : byte Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' : byte'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -225,7 +225,7 @@ public enum CustomBootstrapper /* : byte */ Token.Comment.MultiLine.Text(' : byte '), Token.Comment.MultiLine.End, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -254,7 +254,7 @@ Integer P { Token.Punctuation.CloseBrace, Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' comment2'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -277,7 +277,7 @@ finally Token.Punctuation.CloseBrace, Token.Keywords.Control.Finally, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -300,7 +300,7 @@ finally //comment Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text('comment'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -323,7 +323,7 @@ catch //comment Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text('comment'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -349,7 +349,7 @@ catch (Exception) //comment Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text('comment'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -378,7 +378,7 @@ catch (DataNotFoundException dnfe) //Only catch exceptions that are distinctly D 'Only catch exceptions that are distinctly DataNotFoundException' ), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/constructor.tests.ts b/test/constructor.tests.ts index 63bf53a..f8ff86f 100644 --- a/test/constructor.tests.ts +++ b/test/constructor.tests.ts @@ -22,7 +22,7 @@ describe('Grammar', () => { Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -36,7 +36,7 @@ describe('Grammar', () => { Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -52,7 +52,7 @@ describe('Grammar', () => { Token.Identifiers.ParameterName('x'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -68,7 +68,7 @@ describe('Grammar', () => { Token.Identifiers.ParameterName('x'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -89,7 +89,7 @@ TestClass(String x, Integer y) Token.Identifiers.ParameterName('y'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -102,7 +102,7 @@ TestClass(String x, Integer y) Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -128,7 +128,7 @@ WaitHandle(Task self) Token.Operators.Assignment, Token.Variables.ReadWrite('self'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -151,7 +151,7 @@ public C( Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -193,7 +193,7 @@ public AccountController( Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/enum.tests.ts b/test/enum.tests.ts index e08a634..7617530 100644 --- a/test/enum.tests.ts +++ b/test/enum.tests.ts @@ -21,7 +21,7 @@ describe('Grammar', () => { Token.Keywords.Enum, Token.Identifiers.EnumName('E'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -41,7 +41,7 @@ describe('Grammar', () => { Token.Identifiers.EnumMemberName('SUMMER'), Token.Punctuation.Comma, Token.Identifiers.EnumMemberName('FALL'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -63,7 +63,7 @@ describe('Grammar', () => { Token.Identifiers.EnumMemberName('SUMMER'), Token.Punctuation.Comma, Token.Identifiers.EnumMemberName('FALL'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -76,7 +76,7 @@ describe('Grammar', () => { Token.Identifiers.EnumName('E'), Token.Punctuation.OpenBrace, Token.Identifiers.EnumMemberName('M1'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -93,7 +93,7 @@ describe('Grammar', () => { Token.Identifiers.EnumMemberName('Green'), Token.Punctuation.Comma, Token.Identifiers.EnumMemberName('Blue'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -120,7 +120,7 @@ enum E Token.Identifiers.EnumMemberName('Value2'), Token.Punctuation.Comma, Token.Identifiers.EnumMemberName('Value3'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -191,7 +191,7 @@ public class TestClass2 Token.Keywords.Class, Token.Identifiers.ClassName('TestClass2'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/expressions.tests.ts b/test/expressions.tests.ts index b772816..7bae3a9 100644 --- a/test/expressions.tests.ts +++ b/test/expressions.tests.ts @@ -34,7 +34,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.Comma, Token.Literals.Numeric.Decimal('0'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -58,7 +58,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Operators.Arithmetic.Subtraction, Token.Literals.Numeric.Decimal('3'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -80,7 +80,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Operators.Arithmetic.Subtraction, Token.Literals.Numeric.Decimal('3'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -98,7 +98,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.PrimitiveType.Object, Token.Punctuation.CloseParen, Token.Literals.Numeric.Decimal('42'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -117,7 +117,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.TypeParameters.End, Token.Punctuation.CloseParen, Token.Literals.Numeric.Decimal('42'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -133,7 +133,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.CloseParen, Token.Literals.Numeric.Decimal('42'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -152,7 +152,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.CloseParen, Token.Literals.Numeric.Decimal('42'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -171,7 +171,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Literals.Numeric.Decimal('19'), Token.Operators.Conditional.Colon, Token.Literals.Numeric.Decimal('23'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -188,7 +188,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Operators.Conditional.Colon, Token.Literals.Numeric.Decimal('23'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -205,7 +205,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Variables.Property('P'), Token.Punctuation.OpenBracket, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -221,7 +221,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.OpenBracket, Token.Literals.Numeric.Decimal('42'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -239,7 +239,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.Comma, Token.Literals.Numeric.Decimal('23'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -257,7 +257,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.OpenBracket, Token.Literals.Numeric.Decimal('0'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -275,7 +275,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.OpenBracket, Token.Literals.Numeric.Decimal('0'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -296,7 +296,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.OpenBracket, Token.Literals.Numeric.Decimal('23'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -317,7 +317,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.OpenBracket, Token.Literals.Numeric.Decimal('23'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -340,7 +340,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.CloseBracket, Token.Punctuation.Accessor, Token.Variables.Property('d'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -363,7 +363,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Punctuation.CloseBracket, Token.Operators.SafeNavigation, Token.Variables.Property('d'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -388,7 +388,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Identifiers.MethodName('d'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -413,7 +413,7 @@ Object newPoint = new Vector(point.x * z, 0);`); Token.Identifiers.MethodName('d'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -475,7 +475,7 @@ a1[1] = ((this.a)); a1[2] = (c); a1[1] = (i); Token.Punctuation.OpenParen, Token.Variables.ReadWrite('i'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -516,7 +516,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.CloseBracket, Token.Punctuation.Accessor, Token.Variables.Property('AsLong'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -530,7 +530,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -542,7 +542,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -555,7 +555,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.OpenParen, Token.Literals.Numeric.Decimal('42'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -568,7 +568,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.OpenParen, Token.Literals.Numeric.Decimal('42'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -583,7 +583,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.Comma, Token.Literals.Numeric.Decimal('23'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -602,7 +602,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.Colon, Token.Literals.Numeric.Decimal('23'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -617,7 +617,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.TypeParameters.End, Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -635,7 +635,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.TypeParameters.End, Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -656,7 +656,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.TypeParameters.End, Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -673,7 +673,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -692,7 +692,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -711,7 +711,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -727,7 +727,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -741,7 +741,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -760,7 +760,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -775,7 +775,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Operators.Arithmetic.Multiplication, Token.Variables.ReadWrite('n2'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -791,7 +791,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M2'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -807,7 +807,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Identifiers.MethodName('M2'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -827,7 +827,7 @@ Long total = data['bonusGame']['win'].AsLong * data['bonusGame']['betMult'].AsLo Token.Punctuation.OpenBracket, Token.Literals.Numeric.Decimal('0'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/field.tests.ts b/test/field.tests.ts index 9b8e342..90eecdc 100644 --- a/test/field.tests.ts +++ b/test/field.tests.ts @@ -1,175 +1,175 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Modifications Copyright (c) 2018 Salesforce. - * See LICENSE in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { should } from 'chai'; -import { tokenize, Input, Token } from './utils/tokenize'; - -describe('Grammar', () => { - before(() => { - should(); - }); - - describe('Field', () => { - it('declaration', async () => { - const input = Input.InClass(` -private List _field; -private List field; -private List field123;`); - - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Private, - Token.Type('List'), - Token.Identifiers.FieldName('_field'), - Token.Punctuation.Semicolon, - - Token.Keywords.Modifiers.Private, - Token.Type('List'), - Token.Identifiers.FieldName('field'), - Token.Punctuation.Semicolon, - - Token.Keywords.Modifiers.Private, - Token.Type('List'), - Token.Identifiers.FieldName('field123'), - Token.Punctuation.Semicolon - ]); - }); - - it('generic', async () => { - const input = Input.InClass( - `private Dictionary< List, Dictionary> _field;` - ); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Private, - Token.Type('Dictionary'), - Token.Punctuation.TypeParameters.Begin, - Token.Type('List'), - Token.Punctuation.TypeParameters.Begin, - Token.Type('T'), - Token.Punctuation.TypeParameters.End, - Token.Punctuation.Comma, - Token.Type('Dictionary'), - Token.Punctuation.TypeParameters.Begin, - Token.Type('T'), - Token.Punctuation.Comma, - Token.Type('D'), - Token.Punctuation.TypeParameters.End, - Token.Punctuation.TypeParameters.End, - Token.Identifiers.FieldName('_field'), - Token.Punctuation.Semicolon - ]); - }); - - it('types', async () => { - const input = Input.InClass(` -String field123; -String[] field123;`); - - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.PrimitiveType.String, - Token.Identifiers.FieldName('field123'), - Token.Punctuation.Semicolon, - - Token.PrimitiveType.String, - Token.Punctuation.OpenBracket, - Token.Punctuation.CloseBracket, - Token.Identifiers.FieldName('field123'), - Token.Punctuation.Semicolon - ]); - }); - - it('assignment', async () => { - const input = Input.InClass(` -private String field = 'hello'; - Boolean field = true;`); - - let tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Private, - Token.PrimitiveType.String, - Token.Identifiers.FieldName('field'), - Token.Operators.Assignment, - Token.Punctuation.String.Begin, - Token.Literals.String('hello'), - Token.Punctuation.String.End, - Token.Punctuation.Semicolon, - - Token.PrimitiveType.Boolean, - Token.Identifiers.FieldName('field'), - Token.Operators.Assignment, - Token.Literals.Boolean.True, - Token.Punctuation.Semicolon - ]); - }); - - it('declaration with multiple declarators', async () => { - const input = Input.InClass(`Integer x = 19, y = 23, z = 42;`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.PrimitiveType.Integer, - Token.Identifiers.FieldName('x'), - Token.Operators.Assignment, - Token.Literals.Numeric.Decimal('19'), - Token.Punctuation.Comma, - Token.Identifiers.FieldName('y'), - Token.Operators.Assignment, - Token.Literals.Numeric.Decimal('23'), - Token.Punctuation.Comma, - Token.Identifiers.FieldName('z'), - Token.Operators.Assignment, - Token.Literals.Numeric.Decimal('42'), - Token.Punctuation.Semicolon - ]); - }); - - it('type with no names and no modifiers', async () => { - const input = Input.InClass(`public static Integer x;`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.Static, - Token.PrimitiveType.Integer, - Token.Identifiers.FieldName('x'), - Token.Punctuation.Semicolon - ]); - }); - - it('Fields with fully-qualified names are highlighted properly (issue omnisharp-vscode#1097)', async () => { - const input = Input.InClass(` -private CanvasGroup[] groups; -private UnityEngine.UI.Image[] selectedImages; -`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Private, - Token.Type('CanvasGroup'), - Token.Punctuation.OpenBracket, - Token.Punctuation.CloseBracket, - Token.Identifiers.FieldName('groups'), - Token.Punctuation.Semicolon, - Token.Keywords.Modifiers.Private, - Token.Type('UnityEngine'), - Token.Punctuation.Accessor, - Token.Type('UI'), - Token.Punctuation.Accessor, - Token.Type('Image'), - Token.Punctuation.OpenBracket, - Token.Punctuation.CloseBracket, - Token.Identifiers.FieldName('selectedImages'), - Token.Punctuation.Semicolon - ]); - }); - }); -}); +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Modifications Copyright (c) 2018 Salesforce. + * See LICENSE in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { should } from 'chai'; +import { tokenize, Input, Token } from './utils/tokenize'; + +describe('Grammar', () => { + before(() => { + should(); + }); + + describe('Field', () => { + it('declaration', async () => { + const input = Input.InClass(` +private List _field; +private List field; +private List field123;`); + + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Private, + Token.Type('List'), + Token.Identifiers.FieldName('_field'), + Token.Punctuation.Semicolon, + + Token.Keywords.Modifiers.Private, + Token.Type('List'), + Token.Identifiers.FieldName('field'), + Token.Punctuation.Semicolon, + + Token.Keywords.Modifiers.Private, + Token.Type('List'), + Token.Identifiers.FieldName('field123'), + Token.Punctuation.Semicolon, + ]); + }); + + it('generic', async () => { + const input = Input.InClass( + `private Dictionary< List, Dictionary> _field;` + ); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Private, + Token.Type('Dictionary'), + Token.Punctuation.TypeParameters.Begin, + Token.Type('List'), + Token.Punctuation.TypeParameters.Begin, + Token.Type('T'), + Token.Punctuation.TypeParameters.End, + Token.Punctuation.Comma, + Token.Type('Dictionary'), + Token.Punctuation.TypeParameters.Begin, + Token.Type('T'), + Token.Punctuation.Comma, + Token.Type('D'), + Token.Punctuation.TypeParameters.End, + Token.Punctuation.TypeParameters.End, + Token.Identifiers.FieldName('_field'), + Token.Punctuation.Semicolon, + ]); + }); + + it('types', async () => { + const input = Input.InClass(` +String field123; +String[] field123;`); + + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.PrimitiveType.String, + Token.Identifiers.FieldName('field123'), + Token.Punctuation.Semicolon, + + Token.PrimitiveType.String, + Token.Punctuation.OpenBracket, + Token.Punctuation.CloseBracket, + Token.Identifiers.FieldName('field123'), + Token.Punctuation.Semicolon, + ]); + }); + + it('assignment', async () => { + const input = Input.InClass(` +private String field = 'hello'; + Boolean field = true;`); + + let tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Private, + Token.PrimitiveType.String, + Token.Identifiers.FieldName('field'), + Token.Operators.Assignment, + Token.Punctuation.String.Begin, + Token.Literals.String('hello'), + Token.Punctuation.String.End, + Token.Punctuation.Semicolon, + + Token.PrimitiveType.Boolean, + Token.Identifiers.FieldName('field'), + Token.Operators.Assignment, + Token.Literals.Boolean.True, + Token.Punctuation.Semicolon, + ]); + }); + + it('declaration with multiple declarators', async () => { + const input = Input.InClass(`Integer x = 19, y = 23, z = 42;`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.PrimitiveType.Integer, + Token.Identifiers.FieldName('x'), + Token.Operators.Assignment, + Token.Literals.Numeric.Decimal('19'), + Token.Punctuation.Comma, + Token.Identifiers.FieldName('y'), + Token.Operators.Assignment, + Token.Literals.Numeric.Decimal('23'), + Token.Punctuation.Comma, + Token.Identifiers.FieldName('z'), + Token.Operators.Assignment, + Token.Literals.Numeric.Decimal('42'), + Token.Punctuation.Semicolon, + ]); + }); + + it('type with no names and no modifiers', async () => { + const input = Input.InClass(`public static Integer x;`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.Static, + Token.PrimitiveType.Integer, + Token.Identifiers.FieldName('x'), + Token.Punctuation.Semicolon, + ]); + }); + + it('Fields with fully-qualified names are highlighted properly (issue omnisharp-vscode#1097)', async () => { + const input = Input.InClass(` +private CanvasGroup[] groups; +private UnityEngine.UI.Image[] selectedImages; +`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Private, + Token.Type('CanvasGroup'), + Token.Punctuation.OpenBracket, + Token.Punctuation.CloseBracket, + Token.Identifiers.FieldName('groups'), + Token.Punctuation.Semicolon, + Token.Keywords.Modifiers.Private, + Token.Type('UnityEngine'), + Token.Punctuation.Accessor, + Token.Type('UI'), + Token.Punctuation.Accessor, + Token.Type('Image'), + Token.Punctuation.OpenBracket, + Token.Punctuation.CloseBracket, + Token.Identifiers.FieldName('selectedImages'), + Token.Punctuation.Semicolon, + ]); + }); + }); +}); diff --git a/test/for-statements.tests.ts b/test/for-statements.tests.ts index 16b05c1..7d3aae2 100644 --- a/test/for-statements.tests.ts +++ b/test/for-statements.tests.ts @@ -27,7 +27,7 @@ describe('Grammar', () => { Token.Operators.Increment, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -57,7 +57,7 @@ for (Integer i = 0; i < 42; i++) Token.Punctuation.OpenBrace, Token.Keywords.Control.Break, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -87,7 +87,7 @@ for (Integer i = 0; i < 42; i++) Token.Punctuation.OpenBrace, Token.Keywords.Control.Continue, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -110,7 +110,7 @@ for (Integer i : listOfIntegers) Token.Punctuation.OpenBrace, Token.Keywords.Control.Continue, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -140,7 +140,7 @@ for (Integer i : listOfIntegers) Token.Comment.LeadingWhitespace(' '), Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' break;'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -170,7 +170,7 @@ for (Integer i : listOfIntegers) Token.Punctuation.OpenBrace, Token.Keywords.Control.Break, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -192,7 +192,7 @@ for (Integer i : listOfIntegers) Token.Punctuation.OpenBrace, Token.Keywords.Control.Break, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -218,7 +218,7 @@ for (Integer i : listOfIntegers) Token.Punctuation.OpenBrace, Token.Keywords.Control.Break, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -244,7 +244,7 @@ for (Integer i : listOfIntegers) Token.Punctuation.OpenBrace, Token.Keywords.Control.Break, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -287,7 +287,7 @@ for (Integer i : listOfIntegers) Token.Variables.ReadWrite('myFancyObject'), Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/incomplete-code.tests.ts b/test/incomplete-code.tests.ts index 0e1ae00..f8fc692 100644 --- a/test/incomplete-code.tests.ts +++ b/test/incomplete-code.tests.ts @@ -39,7 +39,7 @@ public ColorTest(String white) Token.Operators.Assignment, Token.Variables.ReadWrite('white'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/interface.tests.ts b/test/interface.tests.ts index 09e8332..aa2cd97 100644 --- a/test/interface.tests.ts +++ b/test/interface.tests.ts @@ -21,7 +21,7 @@ describe('Grammar', () => { Token.Keywords.Interface, Token.Identifiers.InterfaceName('IFoo'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -43,7 +43,7 @@ interface IBar extends IFoo { } Token.Keywords.Extends, Token.Identifiers.ExtendsName('IFoo'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -60,7 +60,7 @@ interface IBar extends IFoo { } Token.Identifiers.TypeParameterName('T2'), Token.Punctuation.TypeParameters.End, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -75,7 +75,7 @@ interface IBar extends IFoo { } Token.Keywords.Extends, Token.Identifiers.ExtendsName('MyInterface'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/javadoc.tests.ts b/test/javadoc.tests.ts index 5cad1e8..7cdf103 100644 --- a/test/javadoc.tests.ts +++ b/test/javadoc.tests.ts @@ -18,7 +18,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.MultiLine.JavaDocStart, Token.Comment.MultiLine.JavaDocText('********'), - Token.Comment.MultiLine.End + Token.Comment.MultiLine.End, ]); }); @@ -33,7 +33,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Comment.MultiLine.JavaDocStart, Token.Comment.MultiLine.JavaDocText('* foo'), - Token.Comment.MultiLine.End + Token.Comment.MultiLine.End, ]); }); @@ -54,7 +54,7 @@ describe('Grammar', () => { Token.Comment.MultiLine.End, Token.Comment.MultiLine.JavaDocStart, Token.Comment.MultiLine.JavaDocText('**********'), - Token.Comment.MultiLine.End + Token.Comment.MultiLine.End, ]); }); @@ -71,7 +71,7 @@ describe('Grammar', () => { Token.Comment.MultiLine.JavaDocText('* '), Token.Comment.MultiLine.JavaDocKeyword('@return'), Token.Comment.MultiLine.JavaDocText(' null'), - Token.Comment.MultiLine.End + Token.Comment.MultiLine.End, ]); }); @@ -135,7 +135,7 @@ describe('Grammar', () => { Token.Comment.MultiLine.JavaDocKeyword('@author'), Token.Comment.MultiLine.JavaDocText(' Eduardo Mora em@example.com'), Token.Comment.MultiLine.JavaDocText(' '), - Token.Comment.MultiLine.End + Token.Comment.MultiLine.End, ]); }); }); diff --git a/test/literals.tests.ts b/test/literals.tests.ts index c942aa1..ad6ecbd 100644 --- a/test/literals.tests.ts +++ b/test/literals.tests.ts @@ -23,7 +23,7 @@ describe('Grammar', () => { Token.Identifiers.FieldName('x'), Token.Operators.Assignment, Token.Literals.Boolean.True, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -36,7 +36,7 @@ describe('Grammar', () => { Token.Identifiers.FieldName('x'), Token.Operators.Assignment, Token.Literals.Boolean.False, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -52,7 +52,7 @@ describe('Grammar', () => { Token.Operators.Assignment, Token.Punctuation.String.Begin, Token.Punctuation.String.End, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -67,7 +67,7 @@ describe('Grammar', () => { Token.Punctuation.String.Begin, Token.Literals.String('a'), Token.Punctuation.String.End, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -82,7 +82,7 @@ describe('Grammar', () => { Token.Punctuation.String.Begin, Token.Literals.CharacterEscape("\\'"), Token.Punctuation.String.End, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -97,7 +97,7 @@ describe('Grammar', () => { Token.Identifiers.FieldName('x'), Token.Operators.Assignment, Token.Literals.Numeric.Decimal('0'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -110,7 +110,7 @@ describe('Grammar', () => { Token.Identifiers.FieldName('x'), Token.Operators.Assignment, Token.Literals.Numeric.Hexadecimal('0x0'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -123,7 +123,7 @@ describe('Grammar', () => { Token.Identifiers.FieldName('x'), Token.Operators.Assignment, Token.Literals.Numeric.Binary('0b0'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -136,7 +136,7 @@ describe('Grammar', () => { Token.Identifiers.FieldName('x'), Token.Operators.Assignment, Token.Literals.Numeric.Decimal('0.0'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -153,7 +153,7 @@ describe('Grammar', () => { Token.Punctuation.String.Begin, Token.Literals.String('hello world!'), Token.Punctuation.String.End, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -171,7 +171,7 @@ describe('Grammar', () => { Token.Literals.String('world!'), Token.Literals.CharacterEscape('\\"'), Token.Punctuation.String.End, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/local.tests.ts b/test/local.tests.ts index bc427f9..e55e52d 100644 --- a/test/local.tests.ts +++ b/test/local.tests.ts @@ -20,7 +20,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.PrimitiveType.Integer, Token.Identifiers.LocalName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -33,7 +33,7 @@ describe('Grammar', () => { Token.Identifiers.LocalName('x'), Token.Operators.Assignment, Token.Literals.Numeric.Decimal('42'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -46,7 +46,7 @@ describe('Grammar', () => { Token.Identifiers.LocalName('x'), Token.Punctuation.Comma, Token.Identifiers.LocalName('y'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -63,7 +63,7 @@ describe('Grammar', () => { Token.Identifiers.LocalName('y'), Token.Operators.Assignment, Token.Literals.Numeric.Decimal('23'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/method.tests.ts b/test/method.tests.ts index f224c75..e236c19 100644 --- a/test/method.tests.ts +++ b/test/method.tests.ts @@ -23,7 +23,7 @@ describe('Grammar', () => { Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -51,7 +51,7 @@ Integer Add(Integer x, Integer y) Token.Operators.Arithmetic.Addition, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -69,7 +69,7 @@ Integer Add(Integer x, Integer y) Token.Identifiers.MethodName('toString'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -82,7 +82,7 @@ Integer Add(Integer x, Integer y) Token.Identifiers.MethodName('GetString'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -104,7 +104,7 @@ Integer Add(Integer x, Integer y) Token.Punctuation.CloseBracket, Token.Identifiers.ParameterName('args'), Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -119,7 +119,7 @@ Integer Add(Integer x, Integer y) Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -134,7 +134,7 @@ Integer Add(Integer x, Integer y) Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -152,7 +152,7 @@ Integer Add(Integer x, Integer y) Token.Identifiers.ParameterName('o'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -178,7 +178,7 @@ Integer Add(Integer x, Integer y) Token.Identifiers.ParameterName('p3'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -219,7 +219,7 @@ public interface test Token.Identifiers.ParameterName('blah'), Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -254,7 +254,7 @@ new void foo2() //Function name not highlighted Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text('Function name not highlighted'), Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -278,7 +278,7 @@ public abstract void Notify(PlayerId playerId, ISessionResponse response); //the Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text('the') + Token.Comment.SingleLine.Text('the'), ]); }); @@ -302,7 +302,7 @@ public abstract void Notify(PlayerId playerId, ISessionResponse response); //the Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text('the') + Token.Comment.SingleLine.Text('the'), ]); }); @@ -326,7 +326,7 @@ public abstract void Notify(PlayerId playerId, ISessionResponse response); //the Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Comment.SingleLine.Start, - Token.Comment.SingleLine.Text('the a') + Token.Comment.SingleLine.Text('the a'), ]); }); @@ -346,7 +346,7 @@ void M(String p = null) { } Token.Literals.Null, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -369,7 +369,7 @@ void M( Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -413,7 +413,7 @@ public void LinearRegression(Double[,] samples, Double[] standardDeviations, Int Token.Punctuation.Accessor, Token.Type('lrreport'), Token.Identifiers.LocalName('ar'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/operator.tests.ts b/test/operator.tests.ts index 0e29593..e01da56 100644 --- a/test/operator.tests.ts +++ b/test/operator.tests.ts @@ -33,7 +33,7 @@ describe('Grammar', () => { Token.Operators.Arithmetic.Addition, Token.Variables.ReadWrite('value'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -57,7 +57,7 @@ describe('Grammar', () => { Token.Operators.Arithmetic.Subtraction, Token.Variables.ReadWrite('value'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -85,7 +85,7 @@ describe('Grammar', () => { Token.Literals.Numeric.Decimal('0'), Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -109,7 +109,7 @@ describe('Grammar', () => { Token.Operators.Increment, Token.Variables.ReadWrite('value'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -133,7 +133,7 @@ describe('Grammar', () => { Token.Operators.Decrement, Token.Variables.ReadWrite('value'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -158,7 +158,7 @@ describe('Grammar', () => { Token.Operators.Relational.NotEqual, Token.Literals.Numeric.Decimal('0'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -183,7 +183,7 @@ describe('Grammar', () => { Token.Operators.Relational.Equals, Token.Literals.Numeric.Decimal('0'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -211,7 +211,7 @@ describe('Grammar', () => { Token.Operators.Arithmetic.Addition, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -239,7 +239,7 @@ describe('Grammar', () => { Token.Operators.Arithmetic.Subtraction, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -267,7 +267,7 @@ describe('Grammar', () => { Token.Operators.Arithmetic.Multiplication, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -295,7 +295,7 @@ describe('Grammar', () => { Token.Operators.Arithmetic.Division, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -323,7 +323,7 @@ describe('Grammar', () => { Token.Operators.Bitwise.And, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -351,7 +351,7 @@ describe('Grammar', () => { Token.Operators.Bitwise.Or, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -379,7 +379,7 @@ describe('Grammar', () => { Token.Operators.Bitwise.ShiftLeft, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -407,7 +407,7 @@ describe('Grammar', () => { Token.Operators.Bitwise.ShiftRight, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -435,7 +435,7 @@ describe('Grammar', () => { Token.Operators.Relational.GreaterThan, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -463,7 +463,7 @@ describe('Grammar', () => { Token.Operators.Relational.LessThan, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -491,7 +491,7 @@ describe('Grammar', () => { Token.Operators.Relational.GreaterThanOrEqual, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -519,7 +519,7 @@ describe('Grammar', () => { Token.Operators.Relational.LessThanOrEqual, Token.Variables.ReadWrite('y'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/property.tests.ts b/test/property.tests.ts index c764d97..e8dfdff 100644 --- a/test/property.tests.ts +++ b/test/property.tests.ts @@ -1,344 +1,344 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Modifications Copyright (c) 2018 Salesforce. - * See LICENSE in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { should } from 'chai'; -import { tokenize, Input, Token } from './utils/tokenize'; - -describe('Grammar', () => { - before(() => { - should(); - }); - - describe('Property', () => { - it('declaration', async () => { - const input = Input.InClass(` -public IBooom Property -{ - get { return null; } - set { something = value; } -}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Type('IBooom'), - Token.Identifiers.PropertyName('Property'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.OpenBrace, - Token.Keywords.Control.Return, - Token.Literals.Null, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace, - Token.Keywords.Set, - Token.Punctuation.OpenBrace, - Token.Variables.ReadWrite('something'), - Token.Operators.Assignment, - Token.Variables.ReadWrite('value'), - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('declaration single line', async () => { - const input = Input.InClass( - `public IBooom Property { get { return null; } private set { something = value; } }` - ); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Type('IBooom'), - Token.Identifiers.PropertyName('Property'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.OpenBrace, - Token.Keywords.Control.Return, - Token.Literals.Null, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace, - Token.Keywords.Modifiers.Private, - Token.Keywords.Set, - Token.Punctuation.OpenBrace, - Token.Variables.ReadWrite('something'), - Token.Operators.Assignment, - Token.Variables.ReadWrite('value'), - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace - ]); - }); - - it('declaration without modifiers', async () => { - const input = Input.InClass(`IBooom Property {get; set;}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Type('IBooom'), - Token.Identifiers.PropertyName('Property'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Keywords.Set, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('auto-property single line', async () => { - const input = Input.InClass(`public IBooom Property { get; set; }`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Type('IBooom'), - Token.Identifiers.PropertyName('Property'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Keywords.Set, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('auto-property', async () => { - const input = Input.InClass(` -public IBooom Property -{ - get; - set; -}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Type('IBooom'), - Token.Identifiers.PropertyName('Property'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Keywords.Set, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('generic auto-property', async () => { - const input = Input.InClass( - `public Dictionary[]> Property { get; set; }` - ); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Type('Dictionary'), - Token.Punctuation.TypeParameters.Begin, - Token.PrimitiveType.String, - Token.Punctuation.Comma, - Token.Type('List'), - Token.Punctuation.TypeParameters.Begin, - Token.Type('T'), - Token.Punctuation.TypeParameters.End, - Token.Punctuation.OpenBracket, - Token.Punctuation.CloseBracket, - Token.Punctuation.TypeParameters.End, - Token.Identifiers.PropertyName('Property'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Keywords.Set, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('auto-property initializer', async () => { - const input = Input.InClass( - `public Dictionary[]> Property { get; } = new Dictionary[]>();` - ); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Type('Dictionary'), - Token.Punctuation.TypeParameters.Begin, - Token.PrimitiveType.String, - Token.Punctuation.Comma, - Token.Type('List'), - Token.Punctuation.TypeParameters.Begin, - Token.Type('T'), - Token.Punctuation.TypeParameters.End, - Token.Punctuation.OpenBracket, - Token.Punctuation.CloseBracket, - Token.Punctuation.TypeParameters.End, - Token.Identifiers.PropertyName('Property'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace, - Token.Operators.Assignment, - Token.Keywords.Control.New, - Token.Type('Dictionary'), - Token.Punctuation.TypeParameters.Begin, - Token.PrimitiveType.String, - Token.Punctuation.Comma, - Token.Type('List'), - Token.Punctuation.TypeParameters.Begin, - Token.Type('T'), - Token.Punctuation.TypeParameters.End, - Token.Punctuation.OpenBracket, - Token.Punctuation.CloseBracket, - Token.Punctuation.TypeParameters.End, - Token.Punctuation.OpenParen, - Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon - ]); - }); - - it('expression body', async () => { - const input = Input.InClass(` -private String prop1 = 'hello'; -private Boolean prop2 = true;`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Private, - Token.PrimitiveType.String, - Token.Identifiers.FieldName('prop1'), - Token.Operators.Assignment, - Token.Punctuation.String.Begin, - Token.Literals.String('hello'), - Token.Punctuation.String.End, - Token.Punctuation.Semicolon, - - Token.Keywords.Modifiers.Private, - Token.PrimitiveType.Boolean, - Token.Identifiers.FieldName('prop2'), - Token.Operators.Assignment, - Token.Literals.Boolean.True, - Token.Punctuation.Semicolon - ]); - }); - - it('explicitly-implemented interface member', async () => { - const input = Input.InClass(`String IFoo.Bar { get; set; }`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.PrimitiveType.String, - Token.Type('IFoo'), - Token.Punctuation.TypeParameters.Begin, - Token.PrimitiveType.String, - Token.Punctuation.TypeParameters.End, - Token.Punctuation.Accessor, - Token.Identifiers.PropertyName('Bar'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Keywords.Set, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('declaration in interface', async () => { - const input = Input.InInterface(`String Bar { get; set; }`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.PrimitiveType.String, - Token.Identifiers.PropertyName('Bar'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Keywords.Set, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('declaration in interface (read-only)', async () => { - const input = Input.InInterface(`String Bar { get; }`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.PrimitiveType.String, - Token.Identifiers.PropertyName('Bar'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('declaration in interface (write-only)', async () => { - const input = Input.InInterface(`String Bar { set; }`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.PrimitiveType.String, - Token.Identifiers.PropertyName('Bar'), - Token.Punctuation.OpenBrace, - Token.Keywords.Set, - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace - ]); - }); - - it('declaration with attributes', async () => { - const input = Input.InClass(` -public Integer P1 -{ - get { return 0; } - set { } -}`); - const tokens = await tokenize(input); - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.PrimitiveType.Integer, - Token.Identifiers.PropertyName('P1'), - Token.Punctuation.OpenBrace, - Token.Keywords.Get, - Token.Punctuation.OpenBrace, - Token.Keywords.Control.Return, - Token.Literals.Numeric.Decimal('0'), - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace, - Token.Keywords.Set, - Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace - ]); - }); - /* - it("Static initializer", () => { - const input = Input.InClass(` - public static final Double DISCOUNT; -static { - DISCOUNT = 50.0; -}`); - const tokens = await tokenize(input);; - - tokens.should.deep.equal([ - Token.Keywords.Modifiers.Public, - Token.Keywords.Modifiers.Static, - Token.Keywords.Modifiers.Final, - Token.PrimitiveType.Double, - Token.Identifiers.FieldName("DISCOUNT"), - Token.Punctuation.Semicolon, - Token.Keywords.Modifiers.Static, - Token.Punctuation.OpenBrace, - Token.Identifiers.PropertyName("DISCOUNT"), - Token.Operators.Assignment, - Token.Literals.Numeric.Decimal("50.0"), - Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace]); - }); */ - }); -}); +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Modifications Copyright (c) 2018 Salesforce. + * See LICENSE in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { should } from 'chai'; +import { tokenize, Input, Token } from './utils/tokenize'; + +describe('Grammar', () => { + before(() => { + should(); + }); + + describe('Property', () => { + it('declaration', async () => { + const input = Input.InClass(` +public IBooom Property +{ + get { return null; } + set { something = value; } +}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Type('IBooom'), + Token.Identifiers.PropertyName('Property'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.OpenBrace, + Token.Keywords.Control.Return, + Token.Literals.Null, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + Token.Keywords.Set, + Token.Punctuation.OpenBrace, + Token.Variables.ReadWrite('something'), + Token.Operators.Assignment, + Token.Variables.ReadWrite('value'), + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('declaration single line', async () => { + const input = Input.InClass( + `public IBooom Property { get { return null; } private set { something = value; } }` + ); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Type('IBooom'), + Token.Identifiers.PropertyName('Property'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.OpenBrace, + Token.Keywords.Control.Return, + Token.Literals.Null, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + Token.Keywords.Modifiers.Private, + Token.Keywords.Set, + Token.Punctuation.OpenBrace, + Token.Variables.ReadWrite('something'), + Token.Operators.Assignment, + Token.Variables.ReadWrite('value'), + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + Token.Punctuation.CloseBrace, + ]); + }); + + it('declaration without modifiers', async () => { + const input = Input.InClass(`IBooom Property {get; set;}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Type('IBooom'), + Token.Identifiers.PropertyName('Property'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Keywords.Set, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('auto-property single line', async () => { + const input = Input.InClass(`public IBooom Property { get; set; }`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Type('IBooom'), + Token.Identifiers.PropertyName('Property'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Keywords.Set, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('auto-property', async () => { + const input = Input.InClass(` +public IBooom Property +{ + get; + set; +}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Type('IBooom'), + Token.Identifiers.PropertyName('Property'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Keywords.Set, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('generic auto-property', async () => { + const input = Input.InClass( + `public Dictionary[]> Property { get; set; }` + ); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Type('Dictionary'), + Token.Punctuation.TypeParameters.Begin, + Token.PrimitiveType.String, + Token.Punctuation.Comma, + Token.Type('List'), + Token.Punctuation.TypeParameters.Begin, + Token.Type('T'), + Token.Punctuation.TypeParameters.End, + Token.Punctuation.OpenBracket, + Token.Punctuation.CloseBracket, + Token.Punctuation.TypeParameters.End, + Token.Identifiers.PropertyName('Property'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Keywords.Set, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('auto-property initializer', async () => { + const input = Input.InClass( + `public Dictionary[]> Property { get; } = new Dictionary[]>();` + ); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Type('Dictionary'), + Token.Punctuation.TypeParameters.Begin, + Token.PrimitiveType.String, + Token.Punctuation.Comma, + Token.Type('List'), + Token.Punctuation.TypeParameters.Begin, + Token.Type('T'), + Token.Punctuation.TypeParameters.End, + Token.Punctuation.OpenBracket, + Token.Punctuation.CloseBracket, + Token.Punctuation.TypeParameters.End, + Token.Identifiers.PropertyName('Property'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + Token.Operators.Assignment, + Token.Keywords.Control.New, + Token.Type('Dictionary'), + Token.Punctuation.TypeParameters.Begin, + Token.PrimitiveType.String, + Token.Punctuation.Comma, + Token.Type('List'), + Token.Punctuation.TypeParameters.Begin, + Token.Type('T'), + Token.Punctuation.TypeParameters.End, + Token.Punctuation.OpenBracket, + Token.Punctuation.CloseBracket, + Token.Punctuation.TypeParameters.End, + Token.Punctuation.OpenParen, + Token.Punctuation.CloseParen, + Token.Punctuation.Semicolon, + ]); + }); + + it('expression body', async () => { + const input = Input.InClass(` +private String prop1 = 'hello'; +private Boolean prop2 = true;`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Private, + Token.PrimitiveType.String, + Token.Identifiers.FieldName('prop1'), + Token.Operators.Assignment, + Token.Punctuation.String.Begin, + Token.Literals.String('hello'), + Token.Punctuation.String.End, + Token.Punctuation.Semicolon, + + Token.Keywords.Modifiers.Private, + Token.PrimitiveType.Boolean, + Token.Identifiers.FieldName('prop2'), + Token.Operators.Assignment, + Token.Literals.Boolean.True, + Token.Punctuation.Semicolon, + ]); + }); + + it('explicitly-implemented interface member', async () => { + const input = Input.InClass(`String IFoo.Bar { get; set; }`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.PrimitiveType.String, + Token.Type('IFoo'), + Token.Punctuation.TypeParameters.Begin, + Token.PrimitiveType.String, + Token.Punctuation.TypeParameters.End, + Token.Punctuation.Accessor, + Token.Identifiers.PropertyName('Bar'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Keywords.Set, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('declaration in interface', async () => { + const input = Input.InInterface(`String Bar { get; set; }`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.PrimitiveType.String, + Token.Identifiers.PropertyName('Bar'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Keywords.Set, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('declaration in interface (read-only)', async () => { + const input = Input.InInterface(`String Bar { get; }`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.PrimitiveType.String, + Token.Identifiers.PropertyName('Bar'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('declaration in interface (write-only)', async () => { + const input = Input.InInterface(`String Bar { set; }`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.PrimitiveType.String, + Token.Identifiers.PropertyName('Bar'), + Token.Punctuation.OpenBrace, + Token.Keywords.Set, + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + ]); + }); + + it('declaration with attributes', async () => { + const input = Input.InClass(` +public Integer P1 +{ + get { return 0; } + set { } +}`); + const tokens = await tokenize(input); + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.PrimitiveType.Integer, + Token.Identifiers.PropertyName('P1'), + Token.Punctuation.OpenBrace, + Token.Keywords.Get, + Token.Punctuation.OpenBrace, + Token.Keywords.Control.Return, + Token.Literals.Numeric.Decimal('0'), + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace, + Token.Keywords.Set, + Token.Punctuation.OpenBrace, + Token.Punctuation.CloseBrace, + Token.Punctuation.CloseBrace, + ]); + }); + /* + it("Static initializer", () => { + const input = Input.InClass(` + public static final Double DISCOUNT; +static { + DISCOUNT = 50.0; +}`); + const tokens = await tokenize(input);; + + tokens.should.deep.equal([ + Token.Keywords.Modifiers.Public, + Token.Keywords.Modifiers.Static, + Token.Keywords.Modifiers.Final, + Token.PrimitiveType.Double, + Token.Identifiers.FieldName("DISCOUNT"), + Token.Punctuation.Semicolon, + Token.Keywords.Modifiers.Static, + Token.Punctuation.OpenBrace, + Token.Identifiers.PropertyName("DISCOUNT"), + Token.Operators.Assignment, + Token.Literals.Numeric.Decimal("50.0"), + Token.Punctuation.Semicolon, + Token.Punctuation.CloseBrace]); + }); */ + }); +}); diff --git a/test/queries.tests.ts b/test/queries.tests.ts index 5435232..fe33e80 100644 --- a/test/queries.tests.ts +++ b/test/queries.tests.ts @@ -33,7 +33,7 @@ describe('Grammar', () => { Token.Keywords.Queries.From, Token.Keywords.Queries.TypeName('User'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -62,7 +62,7 @@ describe('Grammar', () => { Token.Keywords.Queries.From, Token.Keywords.Queries.TypeName('User'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -97,7 +97,7 @@ describe('Grammar', () => { Token.Literals.String('10'), Token.Punctuation.String.End, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -139,7 +139,7 @@ describe('Grammar', () => { Token.Literals.String('10'), Token.Punctuation.String.End, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -164,7 +164,7 @@ describe('Grammar', () => { Token.Keywords.Queries.OrderBy, Token.Keywords.Queries.FieldName('SomeField__c'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -190,7 +190,7 @@ describe('Grammar', () => { Token.Keywords.Queries.FieldName('SomeField__c'), Token.Keywords.Queries.Ascending, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -217,7 +217,7 @@ describe('Grammar', () => { Token.Keywords.Queries.Descending, Token.Keywords.Queries.NullsLast, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -245,7 +245,7 @@ describe('Grammar', () => { Token.Operators.Conditional.Colon, Token.Identifiers.LocalName('variable'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -272,7 +272,7 @@ describe('Grammar', () => { Token.Punctuation.String.Begin, Token.Literals.String('Name'), Token.Punctuation.String.End, - Token.Punctuation.CloseParen + Token.Punctuation.CloseParen, ]); }); @@ -305,7 +305,7 @@ describe('Grammar', () => { Token.Operators.Assignment, Token.Literals.Numeric.Decimal('20'), Token.Punctuation.CloseParen, - Token.Punctuation.CloseParen + Token.Punctuation.CloseParen, ]); }); @@ -331,7 +331,7 @@ describe('Grammar', () => { Token.Operators.Assignment, Token.Punctuation.String.Begin, Token.Literals.String('California'), - Token.Punctuation.String.End + Token.Punctuation.String.End, ]); }); @@ -349,7 +349,7 @@ describe('Grammar', () => { Token.Keywords.Queries.Where, Token.Keywords.Queries.FieldName('CreatedDate'), Token.Operators.Relational.GreaterThan, - Token.Literals.Numeric.DateTimeUTC('2011-04-26T10:00:00-08:00') + Token.Literals.Numeric.DateTimeUTC('2011-04-26T10:00:00-08:00'), ]); }); @@ -370,7 +370,7 @@ describe('Grammar', () => { Token.Keywords.Queries.FieldName('CreatedDate'), Token.Punctuation.CloseParen, Token.Operators.Assignment, - Token.Literals.Numeric.Decimal('2011') + Token.Literals.Numeric.Decimal('2011'), ]); }); @@ -389,7 +389,7 @@ describe('Grammar', () => { Token.Keywords.Queries.FieldName('Recordtype.Name'), Token.Punctuation.CloseParen, Token.Keywords.Queries.From, - Token.Keywords.Queries.TypeName('Lead') + Token.Keywords.Queries.TypeName('Lead'), ]); }); @@ -417,7 +417,7 @@ describe('Grammar', () => { Token.Punctuation.String.Begin, Token.Literals.String('CCC'), Token.Punctuation.String.End, - Token.Punctuation.CloseParen + Token.Punctuation.CloseParen, ]); }); @@ -443,7 +443,7 @@ describe('Grammar', () => { Token.Punctuation.String.Begin, Token.Literals.String('Opportunity'), Token.Punctuation.String.End, - Token.Punctuation.CloseParen + Token.Punctuation.CloseParen, ]); }); @@ -461,7 +461,7 @@ describe('Grammar', () => { Token.Keywords.Queries.Where, Token.Keywords.Queries.FieldName('CreatedDate'), Token.Operators.Assignment, - Token.Keywords.Queries.DateLiteral('LAST_90_DAYS') + Token.Keywords.Queries.DateLiteral('LAST_90_DAYS'), ]); }); @@ -479,7 +479,7 @@ describe('Grammar', () => { Token.Keywords.Queries.Where, Token.Keywords.Queries.FieldName('CloseDate'), Token.Operators.Relational.GreaterThan, - Token.Keywords.Queries.DateLiteral('LAST_N_FISCAL_YEARS:3') + Token.Keywords.Queries.DateLiteral('LAST_N_FISCAL_YEARS:3'), ]); }); @@ -492,7 +492,7 @@ describe('Grammar', () => { Token.Keywords.Queries.FieldName('Id'), Token.Keywords.Queries.From, Token.Keywords.Queries.TypeName('Account'), - Token.Keywords.Queries.UsingScope('USING SCOPE Mine') + Token.Keywords.Queries.UsingScope('USING SCOPE Mine'), ]); }); @@ -510,7 +510,7 @@ describe('Grammar', () => { Token.Keywords.Queries.OperatorName('LIMIT'), Token.Literals.Numeric.Decimal('100'), Token.Keywords.Queries.OperatorName('OFFSET'), - Token.Literals.Numeric.Decimal('20') + Token.Literals.Numeric.Decimal('20'), ]); }); @@ -538,7 +538,7 @@ describe('Grammar', () => { Token.Keywords.Queries.FieldName('Status'), Token.Punctuation.Comma, Token.Keywords.Queries.FieldName('LeadSource'), - Token.Punctuation.CloseParen + Token.Punctuation.CloseParen, ]); }); @@ -560,7 +560,7 @@ describe('Grammar', () => { Token.Punctuation.OpenParen, Token.Keywords.Queries.FieldName('CreatedDate'), Token.Punctuation.CloseParen, - Token.Punctuation.CloseParen + Token.Punctuation.CloseParen, ]); }); @@ -577,7 +577,7 @@ describe('Grammar', () => { Token.Keywords.Queries.FieldName('Id'), Token.Keywords.Queries.OperatorName('IN'), Token.Operators.Conditional.Colon, - Token.Identifiers.LocalName('variable') + Token.Identifiers.LocalName('variable'), ]); }); }); diff --git a/test/statements.tests.ts b/test/statements.tests.ts index 71c1ba3..ce9586f 100644 --- a/test/statements.tests.ts +++ b/test/statements.tests.ts @@ -26,7 +26,7 @@ describe('Grammar', () => { Token.Punctuation.OpenParen, Token.Literals.Boolean.True, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); @@ -42,7 +42,7 @@ describe('Grammar', () => { Token.Literals.Boolean.True, Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); @@ -58,7 +58,7 @@ describe('Grammar', () => { Token.Literals.Boolean.True, Token.Punctuation.CloseParen, Token.Keywords.Control.Return, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -76,7 +76,7 @@ describe('Grammar', () => { Token.Support.Type.TriggerText('isBefore'), Token.Punctuation.CloseParen, Token.Keywords.Control.Return, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -92,7 +92,7 @@ describe('Grammar', () => { Token.Identifiers.MethodName('Do'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -110,7 +110,7 @@ describe('Grammar', () => { Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -129,7 +129,7 @@ if (true) Token.Identifiers.MethodName('Do'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -151,7 +151,7 @@ if (true) Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -177,7 +177,7 @@ else Token.Identifiers.MethodName('Dont'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -210,7 +210,7 @@ else Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -240,7 +240,7 @@ else if (false) Token.Identifiers.MethodName('Dont'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -277,7 +277,7 @@ else if (false) Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -310,7 +310,7 @@ while (i < 10) Token.Punctuation.Semicolon, Token.Keywords.Control.Break, Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); @@ -332,7 +332,7 @@ finally Token.Punctuation.CloseBrace, Token.Keywords.Control.Finally, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -352,7 +352,7 @@ catch Token.Punctuation.CloseBrace, Token.Keywords.Control.Catch, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -378,7 +378,7 @@ finally Token.Punctuation.CloseBrace, Token.Keywords.Control.Finally, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -401,7 +401,7 @@ catch (Exception) Token.Support.Class.Text('Exception'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -425,7 +425,7 @@ catch (Exception ex) Token.Identifiers.LocalName('ex'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -449,7 +449,7 @@ Integer x;`); Token.Punctuation.CloseBrace, Token.PrimitiveType.Integer, Token.Identifiers.LocalName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/switch.tests.ts b/test/switch.tests.ts index 3156602..9f7df81 100644 --- a/test/switch.tests.ts +++ b/test/switch.tests.ts @@ -50,7 +50,7 @@ when else { Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -99,7 +99,7 @@ when else { Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -157,7 +157,7 @@ System.debug('test');`); Token.XmlDocComments.String.SingleQuoted.Text('test'), Token.XmlDocComments.String.SingleQuoted.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -208,7 +208,7 @@ when else { Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -266,7 +266,7 @@ when else { Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' some comment.'), Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -331,7 +331,7 @@ when else { Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -400,7 +400,7 @@ when else { Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -466,7 +466,7 @@ when else { Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' @TODO.'), Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -534,7 +534,7 @@ when else { Token.Comment.SingleLine.Start, Token.Comment.SingleLine.Text(' @TODO.'), Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -600,7 +600,7 @@ when else { Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -665,7 +665,7 @@ when else { Token.Punctuation.CloseParen, Token.Punctuation.Semicolon, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); diff --git a/test/system.tests.ts b/test/system.tests.ts index e514f5d..918b412 100644 --- a/test/system.tests.ts +++ b/test/system.tests.ts @@ -17,7 +17,7 @@ describe('Grammar', () => { Token.Support.Class.FunctionText('isBatch'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -31,7 +31,7 @@ describe('Grammar', () => { Token.Support.Class.FunctionText('isBatch'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -48,7 +48,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.SingleQuoted.Text('This is a test'), Token.XmlDocComments.String.SingleQuoted.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -73,7 +73,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.SingleQuoted.Text('This is a test'), Token.XmlDocComments.String.SingleQuoted.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -98,7 +98,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.SingleQuoted.Text('This is a test'), Token.XmlDocComments.String.SingleQuoted.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -117,7 +117,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.SingleQuoted.Begin, Token.XmlDocComments.String.SingleQuoted.Text('This is a test'), Token.XmlDocComments.String.SingleQuoted.End, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -130,7 +130,7 @@ describe('Grammar', () => { Token.Punctuation.Accessor, Token.Support.Class.TypeText('Object'), Token.Identifiers.FieldName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -143,7 +143,7 @@ describe('Grammar', () => { Token.Punctuation.Accessor, Token.Support.Class.TypeText('Object'), Token.Identifiers.LocalName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -165,7 +165,7 @@ describe('Grammar', () => { Token.Identifiers.ParameterName('lUsers'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -182,7 +182,7 @@ describe('Grammar', () => { Token.Support.Class.FunctionText('setSavepoint'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -209,7 +209,7 @@ describe('Grammar', () => { Token.Punctuation.Comma, Token.Literals.Boolean.False, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -220,7 +220,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.Support.Class.FunctionText('insert'), Token.Identifiers.LocalName('lResults'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -234,7 +234,7 @@ describe('Grammar', () => { Token.Support.Class.FunctionText('startTest'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -264,7 +264,7 @@ describe('Grammar', () => { Token.Literals.Numeric.Decimal('12'), Token.Punctuation.CloseParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -282,7 +282,7 @@ describe('Grammar', () => { Token.Identifiers.LocalName('e'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -305,7 +305,7 @@ describe('Grammar', () => { Token.Identifiers.ParameterName('BC'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -335,7 +335,7 @@ describe('Grammar', () => { Token.Variables.ReadWrite('message'), Token.Punctuation.CloseParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -351,7 +351,7 @@ describe('Grammar', () => { Token.Support.Class.Text('SObject'), Token.Punctuation.CloseParen, Token.Variables.ReadWrite('Something'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -378,7 +378,7 @@ describe('Grammar', () => { Token.Literals.String('Bad'), Token.Punctuation.String.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -392,7 +392,7 @@ describe('Grammar', () => { Token.Type('MyObjectWrapper'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -412,7 +412,7 @@ describe('Grammar', () => { Token.Punctuation.Comma, Token.Variables.ReadWrite('User2'), Token.Punctuation.CloseBrace, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -424,7 +424,7 @@ describe('Grammar', () => { Token.Support.Class.FunctionText('merge'), Token.Variables.ReadWrite('masterAcct'), Token.Variables.ReadWrite('mergeAcct'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -446,7 +446,7 @@ describe('Grammar', () => { Token.Literals.String('Master'), Token.Punctuation.String.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -477,12 +477,13 @@ describe('Grammar', () => { Token.Punctuation.Comma, Token.Variables.ReadWrite('acc2'), Token.Punctuation.CloseBrace, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); it('Apex support classes are not incorrectly tokenized', async () => { - const input = Input.InClass(`public SObjectDomain(List sObjectList) { + const input = + Input.InClass(`public SObjectDomain(List sObjectList) { records = SystemList; }`); const tokens = await tokenize(input); @@ -502,7 +503,7 @@ describe('Grammar', () => { Token.Operators.Assignment, Token.Variables.ReadWrite('SystemList'), Token.Punctuation.Semicolon, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/test/trigger.tests.ts b/test/trigger.tests.ts index af7d59f..b6dda06 100644 --- a/test/trigger.tests.ts +++ b/test/trigger.tests.ts @@ -13,7 +13,8 @@ describe('Grammar', () => { describe('Apex Trigger', () => { it('before insert before update Account trigger', async () => { - const input = Input.FromText(`trigger myAccountTrigger on Account (before insert, after update) { + const input = + Input.FromText(`trigger myAccountTrigger on Account (before insert, after update) { // Your code here if(true) {} }`); @@ -41,7 +42,7 @@ describe('Grammar', () => { Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, Token.Punctuation.CloseBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -63,7 +64,7 @@ describe('Grammar', () => { Token.Support.Type.TriggerText('isInsert'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -85,7 +86,7 @@ describe('Grammar', () => { Token.Support.Type.TriggerText('isInsert'), Token.Punctuation.CloseParen, Token.Punctuation.OpenBrace, - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); @@ -101,7 +102,7 @@ describe('Grammar', () => { Token.Support.Function.TriggerText('keySet'), Token.Punctuation.OpenParen, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -129,7 +130,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.SingleQuoted.Text('Cannot delete quote'), Token.Punctuation.String.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -157,7 +158,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.SingleQuoted.Text('Cannot delete quote'), Token.Punctuation.String.End, Token.Punctuation.CloseParen, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -186,7 +187,7 @@ describe('Grammar', () => { Token.Punctuation.Accessor, Token.Support.Type.TriggerText('new'), Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -218,7 +219,7 @@ describe('Grammar', () => { Token.Punctuation.String.End, Token.Punctuation.CloseParen, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -252,7 +253,7 @@ describe('Grammar', () => { Token.Punctuation.String.End, Token.Punctuation.CloseParen, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -286,7 +287,7 @@ describe('Grammar', () => { Token.Punctuation.String.End, Token.Punctuation.CloseParen, Token.Punctuation.CloseBracket, - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/type-name.tests.ts b/test/type-name.tests.ts index 22daac9..c7ab5c9 100644 --- a/test/type-name.tests.ts +++ b/test/type-name.tests.ts @@ -20,7 +20,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.PrimitiveType.Object, Token.Identifiers.FieldName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -34,7 +34,7 @@ describe('Grammar', () => { Token.PrimitiveType.Integer, Token.Punctuation.TypeParameters.End, Token.Identifiers.FieldName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -50,7 +50,7 @@ describe('Grammar', () => { Token.PrimitiveType.Integer, Token.Punctuation.TypeParameters.End, Token.Identifiers.FieldName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -72,7 +72,7 @@ describe('Grammar', () => { Token.PrimitiveType.Integer, Token.Punctuation.TypeParameters.End, Token.Identifiers.FieldName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); @@ -83,7 +83,7 @@ describe('Grammar', () => { tokens.should.deep.equal([ Token.PrimitiveType.Integer, Token.Identifiers.FieldName('x'), - Token.Punctuation.Semicolon + Token.Punctuation.Semicolon, ]); }); }); diff --git a/test/utils/registry.ts b/test/utils/registry.ts index ec77585..bc236a4 100644 --- a/test/utils/registry.ts +++ b/test/utils/registry.ts @@ -1,20 +1,44 @@ import * as path from 'path'; import * as fs from 'fs'; import * as vscodeTM from 'vscode-textmate'; +import * as oniguruma from 'vscode-oniguruma'; const grammarPaths = { - apex: path.resolve(__dirname, '../../../grammars/apex.tmLanguage') + apex: path.resolve(__dirname, '../../../grammars/apex.tmLanguage'), + soql: path.resolve(__dirname, '../../../grammars/soql.tmLanguage'), }; +const wasmBin = fs.readFileSync( + path.resolve( + process.cwd(), + './node_modules/vscode-oniguruma/release/onig.wasm' + ) +).buffer; + +const onigLibPromise = oniguruma.loadWASM(wasmBin).then(() => { + return { + createOnigScanner(patterns) { + return new oniguruma.OnigScanner(patterns); + }, + createOnigString(s) { + return new oniguruma.OnigString(s); + }, + }; +}); + export class TMRegistry { public grammars: { [key: string]: vscodeTM.IGrammar }; public registry: vscodeTM.Registry; + constructor() { this.grammars = {}; - this.registry = new vscodeTM.Registry(); + this.registry = new vscodeTM.Registry({ + onigLib: onigLibPromise, + loadGrammar: (scopeName) => this.loadGrammar(scopeName), + }); } - loadGrammar(scopeName) { + loadGrammar(scopeName): Promise { const grammarPath = grammarPaths[scopeName]; if (this.grammars[scopeName]) { return new Promise((resolve, reject) => { @@ -24,7 +48,7 @@ export class TMRegistry { return new Promise((resolve, reject) => { const content = fs.readFileSync(grammarPath); const rawGrammar = vscodeTM.parseRawGrammar(content.toString()); - this.registry.addGrammar(rawGrammar).then(ig => { + this.registry.addGrammar(rawGrammar).then((ig) => { resolve((this.grammars[scopeName] = ig)); }); }); diff --git a/test/utils/tokenize.ts b/test/utils/tokenize.ts index 8d6948c..29e44ad 100644 --- a/test/utils/tokenize.ts +++ b/test/utils/tokenize.ts @@ -11,7 +11,7 @@ const registry = new TMRegistry(); const excludedTypes = [ 'source.apex', 'meta.tag.apex', - 'meta.type.parameters.apex' + 'meta.type.parameters.apex', ]; export async function tokenize( @@ -75,7 +75,7 @@ export class Input { startLine: 0, startIndex: 0, endLine: lines.length - 1, - endIndex: lines[lines.length - 1].length + endIndex: lines[lines.length - 1].length, }); } @@ -93,7 +93,7 @@ enum TestEnum { startLine: 2, startIndex: 4, endLine: lines.length - 1, - endIndex: 0 + endIndex: 0, }); } @@ -111,7 +111,7 @@ class TestClass { startLine: 2, startIndex: 4, endLine: lines.length - 1, - endIndex: 0 + endIndex: 0, }); } @@ -129,7 +129,7 @@ trigger TestTrigger on Account (before insert, after update) { startLine: 2, startIndex: 4, endLine: lines.length - 1, - endIndex: 0 + endIndex: 0, }); } @@ -147,7 +147,7 @@ interface TestInterface { startLine: 2, startIndex: 4, endLine: lines.length - 1, - endIndex: 0 + endIndex: 0, }); } @@ -167,7 +167,7 @@ class TestClass { startLine: 3, startIndex: 8, endLine: lines.length - 2, - endIndex: 0 + endIndex: 0, }); } } diff --git a/test/xml-doc-comment.tests.ts b/test/xml-doc-comment.tests.ts index 8b9f7ea..1271149 100644 --- a/test/xml-doc-comment.tests.ts +++ b/test/xml-doc-comment.tests.ts @@ -22,7 +22,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.Tag.StartTagBegin, Token.XmlDocComments.Tag.Name('summary'), - Token.XmlDocComments.Tag.StartTagEnd + Token.XmlDocComments.Tag.StartTagEnd, ]); }); @@ -35,7 +35,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.Tag.EndTagBegin, Token.XmlDocComments.Tag.Name('summary'), - Token.XmlDocComments.Tag.EndTagEnd + Token.XmlDocComments.Tag.EndTagEnd, ]); }); @@ -48,7 +48,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.Tag.EmptyTagBegin, Token.XmlDocComments.Tag.Name('summary'), - Token.XmlDocComments.Tag.EmptyTagEnd + Token.XmlDocComments.Tag.EmptyTagEnd, ]); }); @@ -66,7 +66,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.SingleQuoted.Begin, Token.XmlDocComments.String.SingleQuoted.Text('x'), Token.XmlDocComments.String.SingleQuoted.End, - Token.XmlDocComments.Tag.StartTagEnd + Token.XmlDocComments.Tag.StartTagEnd, ]); }); @@ -84,7 +84,7 @@ describe('Grammar', () => { Token.XmlDocComments.String.DoubleQuoted.Begin, Token.XmlDocComments.String.DoubleQuoted.Text('x'), Token.XmlDocComments.String.DoubleQuoted.End, - Token.XmlDocComments.Tag.StartTagEnd + Token.XmlDocComments.Tag.StartTagEnd, ]); }); @@ -97,7 +97,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.Comment.Begin, Token.XmlDocComments.Comment.Text(' comment '), - Token.XmlDocComments.Comment.End + Token.XmlDocComments.Comment.End, ]); }); @@ -110,7 +110,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.CData.Begin, Token.XmlDocComments.CData.Text('c'), - Token.XmlDocComments.CData.End + Token.XmlDocComments.CData.End, ]); }); @@ -123,7 +123,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.CharacterEntity.Begin, Token.XmlDocComments.CharacterEntity.Text('amp'), - Token.XmlDocComments.CharacterEntity.End + Token.XmlDocComments.CharacterEntity.End, ]); }); @@ -136,7 +136,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.CharacterEntity.Begin, Token.XmlDocComments.CharacterEntity.Text('#0038'), - Token.XmlDocComments.CharacterEntity.End + Token.XmlDocComments.CharacterEntity.End, ]); }); @@ -149,7 +149,7 @@ describe('Grammar', () => { Token.XmlDocComments.Text(' '), Token.XmlDocComments.CharacterEntity.Begin, Token.XmlDocComments.CharacterEntity.Text('#x0026'), - Token.XmlDocComments.CharacterEntity.End + Token.XmlDocComments.CharacterEntity.End, ]); }); @@ -207,7 +207,7 @@ public enum TestEnum Token.Identifiers.EnumMemberName('TestValueTwo'), Token.Operators.Assignment, Token.Literals.Numeric.Decimal('1'), - Token.Punctuation.CloseBrace + Token.Punctuation.CloseBrace, ]); }); }); diff --git a/yarn.lock b/yarn.lock index 9052520..f726351 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,150 +2,237 @@ # yarn lockfile v1 -"@commitlint/cli@^7": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-7.6.1.tgz#a93cf995082831999937f6d5ec1a582c8fc0393a" - integrity sha512-HEJwQ/aK0AOcAwn77ZKbb/GZhlGxBSPhtVp07uoJFVqM12l2Ia2JHA+MTpfHCFdVahKyYGREZgxde6LyKyG8aQ== - dependencies: - "@commitlint/format" "^7.6.1" - "@commitlint/lint" "^7.6.0" - "@commitlint/load" "^7.6.1" - "@commitlint/read" "^7.6.0" - babel-polyfill "6.26.0" - chalk "2.3.1" - get-stdin "7.0.0" - lodash "4.17.11" - meow "5.0.0" - resolve-from "5.0.0" - resolve-global "1.0.0" - -"@commitlint/config-conventional@^7": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-7.6.0.tgz#f3dc66bf39e3b627fdd6f5ac3d0510dd0dd38f94" - integrity sha512-1Gnv5p3tc1VsEK25oTIRBO86czLtX6s/jeLNPAQRzdCnyEmsxkbx/sfoUJ1dwv7v8W++xckVnnuvdZv2Hp8yCw== - -"@commitlint/ensure@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-7.6.0.tgz#e873ff6786a3b9504e88a4debed41df29cd8ac36" - integrity sha512-pSUrNud5L/8y+cLWo3LEa8Ce4bAAR33xMderFUhuNPHj7TwpNS7L4ROMnhL4ZlCYRazCRDlnPaJLPikMoWThfA== +"@babel/code-frame@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: - lodash "4.17.11" + "@babel/highlight" "^7.18.6" -"@commitlint/execute-rule@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-7.6.0.tgz#60c1c34b5f2fca6c6cbca019a9c7d81c2fab1e4a" - integrity sha512-0inGOIlLefPDtiDOaZ6WoE1p+GEZZIj2VwUftUozD3C71TiwP9UfKAVVtUDFPIeL6RgSqCkCf7zsy6NKNxwkBg== - dependencies: - babel-runtime "6.26.0" +"@babel/helper-validator-identifier@^7.18.6": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== -"@commitlint/format@^7.6.1": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-7.6.1.tgz#106750de50fab7d153eed80e7577c768bb9a3a1b" - integrity sha512-Ldzf5N2Sr9RQqvlYwaQn4vz1WOZ7byYinspC/WCrbfcETGy28j7QE4OueZU6nNB9TjwwEorKm13uy7tDWPR7dg== +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: - babel-runtime "^6.23.0" - chalk "^2.0.1" + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@commitlint/cli@^17": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.3.0.tgz#d8497f03e27a5161178e802168d77de2941959a0" + integrity sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg== + dependencies: + "@commitlint/format" "^17.0.0" + "@commitlint/lint" "^17.3.0" + "@commitlint/load" "^17.3.0" + "@commitlint/read" "^17.2.0" + "@commitlint/types" "^17.0.0" + execa "^5.0.0" + lodash.isfunction "^3.0.9" + resolve-from "5.0.0" + resolve-global "1.0.0" + yargs "^17.0.0" + +"@commitlint/config-conventional@^17": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz#77bcfabfed932bc80e97f31f2201ba05f504e145" + integrity sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw== + dependencies: + conventional-changelog-conventionalcommits "^5.0.0" + +"@commitlint/config-validator@^17.1.0": + version "17.1.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.1.0.tgz#51d09ca53d7a0d19736abf34eb18a66efce0f97a" + integrity sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg== + dependencies: + "@commitlint/types" "^17.0.0" + ajv "^8.11.0" + +"@commitlint/ensure@^17.3.0": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.3.0.tgz#d7bb60291a254152b468ccb2be8c0dc79667247e" + integrity sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg== + dependencies: + "@commitlint/types" "^17.0.0" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz#186e9261fd36733922ae617497888c4bdb6e5c92" + integrity sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ== + +"@commitlint/format@^17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.0.0.tgz#2c991ac0df3955fe5d7d4d733967bd17e6cfd9e0" + integrity sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA== + dependencies: + "@commitlint/types" "^17.0.0" + chalk "^4.1.0" + +"@commitlint/is-ignored@^17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz#07c329396e2457fd37e8707f990c3a49731a168d" + integrity sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg== + dependencies: + "@commitlint/types" "^17.0.0" + semver "7.3.7" + +"@commitlint/lint@^17.3.0": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.3.0.tgz#16506deaa347d61bd1195b17df1c6809a553d2a0" + integrity sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw== + dependencies: + "@commitlint/is-ignored" "^17.2.0" + "@commitlint/parse" "^17.2.0" + "@commitlint/rules" "^17.3.0" + "@commitlint/types" "^17.0.0" + +"@commitlint/load@>6.1.1", "@commitlint/load@^17.3.0": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.3.0.tgz#ebfec0198dd1627627e32a2b2ae4744d297599a8" + integrity sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw== + dependencies: + "@commitlint/config-validator" "^17.1.0" + "@commitlint/execute-rule" "^17.0.0" + "@commitlint/resolve-extends" "^17.3.0" + "@commitlint/types" "^17.0.0" + "@types/node" "^14.0.0" + chalk "^4.1.0" + cosmiconfig "^7.0.0" + cosmiconfig-typescript-loader "^4.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + resolve-from "^5.0.0" + ts-node "^10.8.1" + typescript "^4.6.4" + +"@commitlint/message@^17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.2.0.tgz#c546b7a441b9f69493257f9fe0c3c8fc37933b27" + integrity sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q== + +"@commitlint/parse@^17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.2.0.tgz#d87b09436ec741c2267b76a41972b34e53459a81" + integrity sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q== + dependencies: + "@commitlint/types" "^17.0.0" + conventional-changelog-angular "^5.0.11" + conventional-commits-parser "^3.2.2" + +"@commitlint/read@^17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.2.0.tgz#7a67b7b611d978a344c2430cba030252c2170723" + integrity sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ== + dependencies: + "@commitlint/top-level" "^17.0.0" + "@commitlint/types" "^17.0.0" + fs-extra "^10.0.0" + git-raw-commits "^2.0.0" + minimist "^1.2.6" -"@commitlint/is-ignored@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-7.6.0.tgz#d069f25741dcf859b324e5f709835af3aac9cf45" - integrity sha512-By/mLNhz+6Rtix9+Kyof1gdKiELchAnQHpdeKIHIOe9sjbvd3HqDoFHh/mGMMRnGIPMZOX5TO8Fqy3A/2HqlTw== +"@commitlint/resolve-extends@^17.3.0": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz#413a9ec393266d0673e6b9ec2f0974c358ed662d" + integrity sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg== dependencies: - semver "6.0.0" - -"@commitlint/lint@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-7.6.0.tgz#a6da320026b937aa9bf971e060e471edd6b088ec" - integrity sha512-aUIFX0lPRZL7WmT8W8qzogJD4LmHk6JPG3XUAX+K0pOHGjC/0ALvSAytvoLXy4fvmSnGJkXmWhzSW7c0Spa14Q== - dependencies: - "@commitlint/is-ignored" "^7.6.0" - "@commitlint/parse" "^7.6.0" - "@commitlint/rules" "^7.6.0" - babel-runtime "^6.23.0" - lodash "4.17.11" - -"@commitlint/load@^7.6.1": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-7.6.2.tgz#b5ed8163fa3117d60faf70a4e677b2017bbc71bb" - integrity sha512-I+xk+BkXAG1roXNrPsR1eOd5hEa+oLc6HLYnHAT/HLGKKB3E01IGg3O5SGlg7lpf1yiAaYI+wAnNTr3f3sIbWQ== - dependencies: - "@commitlint/execute-rule" "^7.6.0" - "@commitlint/resolve-extends" "^7.6.0" - babel-runtime "^6.23.0" - cosmiconfig "^5.2.0" - lodash "4.17.11" + "@commitlint/config-validator" "^17.1.0" + "@commitlint/types" "^17.0.0" + import-fresh "^3.0.0" + lodash.mergewith "^4.6.2" resolve-from "^5.0.0" + resolve-global "^1.0.0" -"@commitlint/message@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-7.6.0.tgz#899b6b411945dd091d261408b6e994043967bc06" - integrity sha512-PtP4jhBYGXLaQQC5jel+RQczG2tS3Cy6rRxQioUfCUaEg/LV029ao/KcL1kHEBJ8hSW/SUmnvDaD9Y6nozLQMA== - -"@commitlint/parse@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-7.6.0.tgz#e7b8d6dc145e78cf56940bbf405ca6fac3085196" - integrity sha512-1x60kTqz2VBCjYE+8MV5BhE+ShPo7MgVlrMWSlxiiJDWP5CvWa+SBbUayDJ7rtOXimjTASZ9ZNZTuFPdJE/Y7A== +"@commitlint/rules@^17.3.0": + version "17.3.0" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.3.0.tgz#4b31d6739f7eb8c7222b323b0bc2b63bd298a4ad" + integrity sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g== dependencies: - conventional-changelog-angular "^1.3.3" - conventional-commits-parser "^2.1.0" - lodash "^4.17.11" + "@commitlint/ensure" "^17.3.0" + "@commitlint/message" "^17.2.0" + "@commitlint/to-lines" "^17.0.0" + "@commitlint/types" "^17.0.0" + execa "^5.0.0" -"@commitlint/read@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-7.6.0.tgz#e55863354b436683daa2081de7ec2189573bc306" - integrity sha512-OyligtK/e4xnQklrQqTcSMM27eNhq+LqXfoeVouuPx059oDEw9wZYNN4HGzyxs4Pb6GdMpzRHLdeMQ24M+AiYw== +"@commitlint/to-lines@^17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.0.0.tgz#5766895836b8085b099a098482f88a03f070b411" + integrity sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ== + +"@commitlint/top-level@^17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.0.0.tgz#ebd0df4c703c026c2fbdc20fa746836334f4ed15" + integrity sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ== dependencies: - "@commitlint/top-level" "^7.6.0" - "@marionebl/sander" "^0.6.0" - babel-runtime "^6.23.0" - git-raw-commits "^1.3.0" + find-up "^5.0.0" -"@commitlint/resolve-extends@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-7.6.0.tgz#0680b76eeb0e41f728c2f38645473a0956299edb" - integrity sha512-fk8KvNiEbRc+p8nPFuysVP2O95+sb8vlIDTjqtGVObqrzFINRfERXwqBmTBtcu556BoDAR2hwRVXmuwhns+Duw== +"@commitlint/types@^17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.0.0.tgz#3b4604c1a0f06c340ce976e6c6903d4f56e3e690" + integrity sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ== dependencies: - babel-runtime "6.26.0" - import-fresh "^3.0.0" - lodash "4.17.11" - resolve-from "^5.0.0" - resolve-global "^1.0.0" + chalk "^4.1.0" -"@commitlint/rules@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-7.6.0.tgz#f9a833c1eab8144fd8f545a71408b39e51acb64e" - integrity sha512-shLJdMUwdVeE5UgOE8E+c+PFS7+0FFGfheMa3s6ZK+xX8pTUxseXZu9iCF4mwF+WWkVk518xPuNLvmYE96salQ== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: - "@commitlint/ensure" "^7.6.0" - "@commitlint/message" "^7.6.0" - "@commitlint/to-lines" "^7.6.0" - babel-runtime "^6.23.0" + "@jridgewell/trace-mapping" "0.3.9" -"@commitlint/to-lines@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-7.6.0.tgz#5ed4dbf39db0ceff96dbb661b9ce048ed3db7a4b" - integrity sha512-L/Vl5ThRuBHnSNZBtc+p2LCs2ayxWodC+I/X3NKUywSmr6kKpJJCFqHHHqPu+yXwGUPwqCMQhogIGLuv9TtWWw== +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@commitlint/top-level@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-7.6.0.tgz#0ed88078ac585c93ee314ff3b7f8c20143c57652" - integrity sha512-R2RzJZDuT2TU2dZMrRd7olax5IDVcUB/O8k76d1LW13CQ9/2ArJi3TCFXSZIaGpCUnyAYA5KiCZ+c1opnyQuog== - dependencies: - find-up "^2.1.0" +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@marionebl/sander@^0.6.0": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@marionebl/sander/-/sander-0.6.1.tgz#1958965874f24bc51be48875feb50d642fc41f7b" - integrity sha512-7f3zZddAk92G1opoX/glbDO6YbrzmMAJAw0RJAcvunnV7sR4L9llyBUAABptKoF1Jf37UQ1QTJy5p2H4J4rBNA== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: - graceful-fs "^4.1.3" - mkdirp "^0.5.1" - rimraf "^2.5.2" + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== -"@types/chai@4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.8.tgz#c8d645506db0d15f4aafd4dfa873f443ad87ea59" - integrity sha512-U1bQiWbln41Yo6EeHMr+34aUhvrMVyrhn9lYfPSpLTCrZlGxU4Rtn1bocX+0p2Fc/Jkd2FanCEXdw0WNfHHM0w== +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + +"@types/chai@4.3.4": + version "4.3.4" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4" + integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw== "@types/expect@^1.20.4": version "1.20.4" @@ -168,7 +255,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/gulp@^4.0.5": +"@types/gulp@^4.0.10": version "4.0.10" resolved "https://registry.yarnpkg.com/@types/gulp/-/gulp-4.0.10.tgz#d7e2096a9883720f167b84dee52d5219d7d639c5" integrity sha512-spgZHJFqiEJGwqGlf7T/k4nkBpBcLgP7T0EfN6G2vvnhUfvd4uO1h8RwpXOE8x/54DVYUs1XCAtBHkX/R3axAQ== @@ -182,16 +269,36 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/mocha@^5.2.1": - version "5.2.7" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea" - integrity sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ== +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/mocha@^10.0.1": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" + integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== "@types/node@*": version "18.11.12" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.12.tgz#89e7f8aa8c88abf432f9bd594888144d7dba10aa" integrity sha512-FgD3NtTAKvyMmD44T07zz2fEf+OKwutgBCEVM8GcvMGVGaDktiLNTDvPwC/LUe3PinMW+X6CuLOF2Ui1mAlSXg== +"@types/node@^14.0.0": + version "14.18.34" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.34.tgz#cd2e6fa0dbfb08a62582a7b967558e73c32061ec" + integrity sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/undertaker-registry@*": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/undertaker-registry/-/undertaker-registry-1.0.1.tgz#4306d4a03d7acedb974b66530832b90729e1d1da" @@ -223,6 +330,11 @@ "@types/expect" "^1.20.4" "@types/node" "*" +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -231,6 +343,31 @@ JSONStream@^1.0.4: jsonparse "^1.2.0" through ">=2.2.7 <3" +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1: + version "8.8.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + +ajv@^8.11.0: + version "8.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" + integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -238,6 +375,11 @@ ansi-colors@^1.0.1: dependencies: ansi-wrap "^0.1.0" +ansi-colors@^3.0.5: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + ansi-cyan@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" @@ -245,10 +387,12 @@ ansi-cyan@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" ansi-gray@^0.1.1: version "0.1.1" @@ -274,13 +418,25 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + ansi-wrap@0.1.0, ansi-wrap@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" @@ -294,7 +450,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.2: +anymatch@~3.1.1, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -314,6 +470,11 @@ archy@^1.0.0: resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -321,6 +482,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" @@ -368,11 +534,6 @@ array-each@^1.0.0, array-each@^1.0.1: resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" integrity sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA== -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== - array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" @@ -454,28 +615,16 @@ async-settle@^1.0.0: dependencies: async-done "^1.2.2" +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -babel-polyfill@6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" - integrity sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ== - dependencies: - babel-runtime "^6.26.0" - core-js "^2.5.0" - regenerator-runtime "^0.10.5" - -babel-runtime@6.26.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - bach@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" @@ -496,7 +645,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.5.1: +base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -531,6 +680,15 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -539,6 +697,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -555,7 +720,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -577,6 +742,14 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + bufferstreams@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/bufferstreams/-/bufferstreams-2.0.1.tgz#441b267c2fc3fee02bb1d929289da113903bd5ef" @@ -599,10 +772,10 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cachedir@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.1.0.tgz#b448c32b44cd9c0cd6ce4c419fa5b3c112c02191" - integrity sha512-xGBpPqoBvn3unBW7oxgb8aJn42K0m9m1/wyjmazah10Fq7bROGG3kRAE6OIyr3U3PIJUqGuebhCEdMk9OKJG0A== +cachedir@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" + integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== call-bind@^1.0.2: version "1.0.2" @@ -612,50 +785,36 @@ call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - integrity sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q== +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: - camelcase "^4.1.0" - map-obj "^2.0.0" - quick-lru "^1.0.0" + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg== -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -chai@^4.1.2: +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +chai@^4.3.7: version "4.3.7" resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== @@ -668,16 +827,7 @@ chai@^4.1.2: pathval "^1.1.1" type-detect "^4.0.5" -chalk@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" - integrity sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g== - dependencies: - ansi-styles "^3.2.0" - escape-string-regexp "^1.0.5" - supports-color "^5.2.0" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -686,6 +836,14 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -696,6 +854,36 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +chokidar@3.5.3, chokidar@^3.3.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chokidar@^2.0.0: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -715,21 +903,6 @@ chokidar@^2.0.0: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.3.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -740,17 +913,22 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: - restore-cursor "^2.0.0" + restore-cursor "^3.1.0" -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== +cli-spinners@^2.5.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^3.2.0: version "3.2.0" @@ -761,6 +939,24 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" @@ -771,6 +967,11 @@ clone-stats@^1.0.0: resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" integrity sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" @@ -819,54 +1020,60 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== - -commander@^2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^9.2.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== -commitizen@^3.0.5: - version "3.1.2" - resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-3.1.2.tgz#29ddd8b39396923e9058a0e4840cbeef144290be" - integrity sha512-eD0uTUsogu8ksFjFFYq75LLfXeLXsCIa27TPfOqvBI+tCx1Pp5QfKqC9oC+qTpSz3nTn9/+7TL5mE/wurB22JQ== +commitizen@^4.0.3, commitizen@^4.2.5: + version "4.2.6" + resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.2.6.tgz#c35af39e1cb5fc2de88511df802da4344dc3ca80" + integrity sha512-RyTM+EiD9GO01DJUn9MRRAet3XUHGfoUZoksLfr+1ym1Xt2q5EYJs9Fg2BtKSb5Mo53i0BtMBmWMHQXVlZ/L9w== dependencies: - cachedir "2.1.0" - cz-conventional-changelog "2.1.0" + cachedir "2.3.0" + cz-conventional-changelog "3.3.0" dedent "0.7.0" - detect-indent "^5.0.0" - find-node-modules "2.0.0" + detect-indent "6.1.0" + find-node-modules "^2.1.2" find-root "1.1.0" - fs-extra "^7.0.0" - glob "7.1.3" - inquirer "6.2.0" + fs-extra "9.1.0" + glob "7.2.3" + inquirer "8.2.4" is-utf8 "^0.2.1" - lodash "4.17.14" - minimist "1.2.0" - shelljs "0.7.6" - strip-bom "3.0.0" - strip-json-comments "2.0.1" + lodash "4.17.21" + minimist "1.2.6" + strip-bom "4.0.0" + strip-json-comments "3.1.1" -compare-func@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" - integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: array-ify "^1.0.0" - dot-prop "^3.0.0" + dot-prop "^5.1.0" component-emitter@^1.2.1: version "1.3.0" @@ -888,31 +1095,39 @@ concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -conventional-changelog-angular@^1.3.3: - version "1.6.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" - integrity sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg== +conventional-changelog-angular@^5.0.11: + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" q "^1.5.1" -conventional-commit-types@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.3.0.tgz#bc3c8ebba0a9e4b3ecc548f1d0674e251ab8be22" - integrity sha512-6iB39PrcGYdz0n3z31kj6/Km6mK9hm9oMRhwcLnKxE7WNoeRKZbTAobliKrbYZ5jqyCvtcVEfjCiaEzhL3AVmQ== +conventional-changelog-conventionalcommits@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz#41bdce54eb65a848a4a3ffdca93e92fa22b64a86" + integrity sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw== + dependencies: + compare-func "^2.0.0" + lodash "^4.17.15" + q "^1.5.1" -conventional-commits-parser@^2.1.0: - version "2.1.7" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz#eca45ed6140d72ba9722ee4132674d639e644e8e" - integrity sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ== +conventional-commit-types@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz#7c9214e58eae93e85dd66dbfbafe7e4fffa2365b" + integrity sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg== + +conventional-commits-parser@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== dependencies: JSONStream "^1.0.4" - is-text-path "^1.0.0" - lodash "^4.2.1" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" - trim-off-newlines "^1.0.0" + is-text-path "^1.0.1" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" convert-source-map@^1.5.0: version "1.9.0" @@ -932,36 +1147,40 @@ copy-props@^2.0.1: each-props "^1.3.2" is-plain-object "^5.0.0" -core-js@^2.4.0, core-js@^2.5.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== +cosmiconfig-typescript-loader@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" + integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" cson-parser@^1.3.4: version "1.3.5" @@ -981,23 +1200,19 @@ cson@^4.1.0: requirefresh "^2.1.0" safefs "^4.1.0" -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== - dependencies: - array-find-index "^1.0.1" - -cz-conventional-changelog@2.1.0, cz-conventional-changelog@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-2.1.0.tgz#2f4bc7390e3244e4df293e6ba351e4c740a7c764" - integrity sha512-TMjkSrvju5fPQV+Ho8TIioAgXkly8h3vJ/txiczJrlUaLpgMGA6ssnwquLMWzNZZyCsJK5r4kPgwdohC4UAGmQ== +cz-conventional-changelog@3.3.0, cz-conventional-changelog@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz#9246947c90404149b3fe2cf7ee91acad3b7d22d2" + integrity sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== dependencies: - conventional-commit-types "^2.0.0" + chalk "^2.4.1" + commitizen "^4.0.3" + conventional-commit-types "^3.0.0" lodash.map "^4.5.1" - longest "^1.0.1" - right-pad "^1.0.1" + longest "^2.0.1" word-wrap "^1.0.3" + optionalDependencies: + "@commitlint/load" ">6.1.1" d@1, d@^1.0.1: version "1.0.1" @@ -1007,24 +1222,24 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - integrity sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw== - dependencies: - number-is-nan "^1.0.0" +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== -dargs@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829" - integrity sha512-Mr5OxT76pdJv7BbLq3hF1gSP8zxlCyDA1afj2Iab2MPKmdAKV+aKGC8YJv6cT8ItdFXAf798JJQD7jmbWZcYTQ== +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" -debug@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== +debug@4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "2.0.0" + ms "2.1.2" debug@^2.2.0, debug@^2.3.3: version "2.6.9" @@ -1033,7 +1248,7 @@ debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -decamelize-keys@^1.0.0: +decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== @@ -1046,6 +1261,11 @@ decamelize@^1.1.0, decamelize@^1.1.1: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decode-uri-component@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" @@ -1075,6 +1295,13 @@ default-resolution@^2.0.0: resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" integrity sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ== +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + define-properties@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" @@ -1110,27 +1337,27 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== +detect-indent@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== -diff@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== -diff@^4.0.2: +diff@^4.0.1, diff@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw== +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: - is-obj "^1.0.0" + is-obj "^2.0.0" duplexify@^3.6.0: version "3.7.1" @@ -1166,6 +1393,11 @@ editions@^2.2.0: errlop "^2.0.0" semver "^6.3.0" +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -1221,7 +1453,17 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -1231,18 +1473,20 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" expand-brackets@^2.1.4: version "2.1.4" @@ -1298,7 +1542,7 @@ extend@^3.0.0: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -external-editor@^3.0.0: +external-editor@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== @@ -1340,15 +1584,20 @@ fancy-log@^1.3.2: parse-node-version "^1.0.0" time-stamp "^1.0.0" +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + fast-levenshtein@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" integrity sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw== -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" @@ -1374,19 +1623,27 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-node-modules@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.0.0.tgz#5db1fb9e668a3d451db3d618cd167cdd59e41b69" - integrity sha512-8MWIBRgJi/WpjjfVXumjPKCtmQ10B+fjx6zmSA+770GMJirLhWIzg8l763rhjl9xaeaHbnxPNRQKq2mgMhr+aw== +find-node-modules@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.1.3.tgz#3c976cff2ca29ee94b4f9eafc613987fc4c0ee44" + integrity sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg== dependencies: - findup-sync "^3.0.0" - merge "^1.2.1" + findup-sync "^4.0.0" + merge "^2.1.1" find-root@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -1395,12 +1652,13 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: - locate-path "^2.0.0" + locate-path "^5.0.0" + path-exists "^4.0.0" findup-sync@^2.0.0: version "2.0.0" @@ -1422,6 +1680,16 @@ findup-sync@^3.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" +findup-sync@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" + integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^4.0.2" + resolve-dir "^1.0.1" + fined@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" @@ -1438,6 +1706,11 @@ flagged-respawn@^1.0.0: resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -1465,14 +1738,24 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== +fs-extra@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" fs-mkdirp-stream@^1.0.0: version "1.0.0" @@ -1495,7 +1778,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@~2.3.2: +fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -1510,6 +1793,11 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" @@ -1524,31 +1812,26 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.3" -get-stdin@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" - integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== -git-raw-commits@^1.3.0: - version "1.3.6" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.6.tgz#27c35a32a67777c1ecd412a239a6c19d71b95aff" - integrity sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg== +git-raw-commits@^2.0.0: + version "2.0.11" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" glob-parent@^3.1.0: version "3.1.0" @@ -1558,7 +1841,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@~5.1.2: +glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -1594,10 +1877,10 @@ glob-watcher@^5.0.3: normalize-path "^3.0.0" object.defaults "^1.1.0" -glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -1606,10 +1889,10 @@ glob@7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -1618,7 +1901,7 @@ glob@7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.6: +glob@7.2.3, glob@^7.1.1, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -1664,7 +1947,7 @@ glogg@^1.0.0: dependencies: sparkles "^1.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.3: +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -1709,32 +1992,31 @@ gulp-json2cson@^2.0.0: through2 "^2.0.3" vinyl "^2.1.0" -gulp-mocha@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gulp-mocha/-/gulp-mocha-6.0.0.tgz#80f32bc705ce30747f355ddb8ccd96a1c73bef13" - integrity sha512-FfBldW5ttnDpKf4Sg6/BLOOKCCbr5mbixDGK1t02/8oSrTCwNhgN/mdszG3cuQuYNzuouUdw4EH/mlYtgUscPg== +gulp-mocha@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/gulp-mocha/-/gulp-mocha-8.0.0.tgz#7e02677782573a9dc844a9ee1d6de89ebccff2d6" + integrity sha512-FdbBydfzszaES/gXfwD6RFq1yJTj4Z6328R1yqsmhf+t7hW2aj9ZD9Hz8boQShjZ9J8/w6tQBM5mePb8K2pbqA== dependencies: - dargs "^5.1.0" - execa "^0.10.0" - mocha "^5.2.0" - npm-run-path "^2.0.2" + dargs "^7.0.0" + execa "^5.0.0" + mocha "^8.3.0" plugin-error "^1.0.1" - supports-color "^5.4.0" - through2 "^2.0.3" + supports-color "^8.1.1" + through2 "^4.0.2" -gulp-typescript@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gulp-typescript/-/gulp-typescript-4.0.2.tgz#80bb9e376e7aa87b763a6ad5fe054a5d078da1e6" - integrity sha512-Hhbn5Aa2l3T+tnn0KqsG6RRJmcYEsr3byTL2nBpNBeAK8pqug9Od4AwddU4JEI+hRw7mzZyjRbB8DDWR6paGVA== +gulp-typescript@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/gulp-typescript/-/gulp-typescript-5.0.1.tgz#96c6565a6eb31e08c2aae1c857b1a079e6226d94" + integrity sha512-YuMMlylyJtUSHG1/wuSVTrZp60k1dMEFKYOvDf7OvbAJWrDtxxD4oZon4ancdWwzjj30ztiidhe4VXJniF0pIQ== dependencies: - ansi-colors "^1.0.1" - plugin-error "^0.1.2" - source-map "^0.6.1" - through2 "^2.0.3" + ansi-colors "^3.0.5" + plugin-error "^1.0.1" + source-map "^0.7.3" + through2 "^3.0.0" vinyl "^2.1.0" - vinyl-fs "^3.0.0" + vinyl-fs "^3.0.3" -gulp-yaml@^2.0.1: +gulp-yaml@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/gulp-yaml/-/gulp-yaml-2.0.4.tgz#86569e2becc9f5dfc95dc92db5a71a237f4b6ab4" integrity sha512-S/9Ib8PO+jGkCvWDwBUkmFkeW7QM0pp4PO8NNrMEfWo5Sk30P+KqpyXc4055L/vOX326T/b9MhM4nw5EenyX9g== @@ -1763,11 +2045,21 @@ gulplog@^1.0.0: dependencies: glogg "^1.0.0" +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-property-descriptors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" @@ -1818,10 +2110,10 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - integrity sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA== +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== homedir-polyfill@^1.0.1: version "1.0.3" @@ -1835,6 +2127,18 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -1842,15 +2146,12 @@ iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -import-fresh@^3.0.0: +import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -1858,10 +2159,10 @@ import-fresh@^3.0.0: parent-module "^1.0.0" resolve-from "^4.0.0" -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ== +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" @@ -1881,26 +2182,28 @@ ini@^1.3.4: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inquirer@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" - integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.0" - figures "^2.0.0" - lodash "^4.17.10" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.1.0" - string-width "^2.1.0" - strip-ansi "^4.0.0" +inquirer@8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" + integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" through "^2.3.6" + wrap-ansi "^7.0.0" -interpret@^1.0.0, interpret@^1.4.0: +interpret@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== @@ -1956,7 +2259,7 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-core-module@^2.9.0: +is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== @@ -1995,11 +2298,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -2029,6 +2327,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -2043,6 +2346,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" @@ -2065,16 +2373,21 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -2094,12 +2407,12 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-text-path@^1.0.0: +is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== @@ -2113,6 +2426,11 @@ is-unc-path@^1.0.0: dependencies: unc-path-regex "^0.1.2" +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -2150,7 +2468,26 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -js-yaml@^3.12.0, js-yaml@^3.13.1: +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -2158,20 +2495,27 @@ js-yaml@^3.12.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" @@ -2209,7 +2553,7 @@ kind-of@^5.0.0, kind-of@^5.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -2257,6 +2601,11 @@ liftoff@^3.1.0: rechoir "^0.6.2" resolve "^1.1.7" +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -2268,76 +2617,99 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" + p-locate "^4.1.0" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" + p-locate "^5.0.0" -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== lodash.map@^4.5.1: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" integrity sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q== -lodash.template@^4.0.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== -lodash@4.17.11: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@4.17.14: - version "4.17.14" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" - integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.2.1: +lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== +log-symbols@4.1.0, log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +longest@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-2.0.1.tgz#781e183296aa94f6d4d916dc335d0d17aefa23f8" + integrity sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q== loupe@^2.3.1: version "2.3.6" @@ -2346,6 +2718,18 @@ loupe@^2.3.1: dependencies: get-func-name "^2.0.0" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + make-iterator@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" @@ -2363,10 +2747,10 @@ map-obj@^1.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ== +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== map-visit@^1.0.0: version "1.0.0" @@ -2385,40 +2769,32 @@ matchdep@^2.0.0: resolve "^1.4.0" stack-trace "0.0.10" -meow@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" - integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - yargs-parser "^10.0.0" - -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" - integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist "^1.1.3" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - -merge@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" - integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + 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 "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" + integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" @@ -2439,10 +2815,23 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +micromatch@^4.0.2: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimatch@3.0.4: version "3.0.4" @@ -2451,6 +2840,13 @@ minimatch@3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + minimatch@^3.0.4, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -2458,25 +2854,21 @@ minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== dependencies: arrify "^1.0.1" is-plain-obj "^1.1.0" + kind-of "^6.0.3" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q== - -minimist@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw== +minimist@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -minimist@^1.1.3, minimist@^1.2.6: +minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== @@ -2489,57 +2881,104 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA== - dependencies: - minimist "0.0.8" - -mkdirp@^0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" - integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== +mocha@^10.1.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +mocha@^8.3.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" + integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" - diff "3.5.0" - escape-string-regexp "1.0.5" - glob "7.1.2" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" growl "1.10.5" - he "1.1.1" + he "1.2.0" + js-yaml "4.0.0" + log-symbols "4.0.0" minimatch "3.0.4" - mkdirp "0.5.1" - supports-color "5.4.0" + ms "2.1.3" + nanoid "3.1.20" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + mute-stdout@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.12.1, nan@^2.14.0: +nan@^2.12.1: version "2.17.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== +nanoid@3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -2562,12 +3001,7 @@ next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -2577,6 +3011,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -2596,12 +3040,12 @@ now-and-later@^2.0.0: dependencies: once "^1.3.2" -npm-run-path@^2.0.0, npm-run-path@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: - path-key "^2.0.0" + path-key "^3.0.0" number-is-nan@^1.0.0: version "1.0.1" @@ -2684,19 +3128,27 @@ once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== - dependencies: - mimic-fn "^1.0.0" - -oniguruma@^7.2.0: - version "7.2.3" - resolved "https://registry.yarnpkg.com/oniguruma/-/oniguruma-7.2.3.tgz#e0b0b415302de8cdd6564e57a1a822ac0ab57012" - integrity sha512-PZZcE0yfg8Q1IvaJImh21RUTHl8ep0zwwyoE912KqlWVrsGByjjj29sdACcD1BFyX2bLkfuOJeP+POzAGVWtbA== - dependencies: - nan "^2.14.0" +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" ordered-read-streams@^1.0.0: version "1.0.1" @@ -2717,29 +3169,38 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - p-try "^1.0.0" + yocto-queue "^0.1.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: - p-limit "^1.1.0" + p-limit "^2.2.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" @@ -2764,13 +3225,15 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: + "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" parse-node-version@^1.0.0: version "1.0.1" @@ -2799,20 +3262,20 @@ path-exists@^2.0.0: dependencies: pinkie-promise "^2.0.0" -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" @@ -2840,19 +3303,17 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pathval@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== -picomatch@^2.0.4, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -2862,11 +3323,6 @@ pify@^2.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -2879,7 +3335,7 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== -plist@^3.0.1: +plist@^3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== @@ -2913,10 +3369,10 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== -prettier@^1.13.5: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== +prettier@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" + integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== pretty-hrtime@^1.0.0: version "1.0.3" @@ -2945,15 +3401,27 @@ pumpify@^1.3.5: inherits "^2.0.3" pump "^2.0.0" +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -quick-lru@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - integrity sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA== +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" read-pkg-up@^1.0.1: version "1.0.1" @@ -2963,13 +3431,14 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" read-pkg@^1.0.0: version "1.1.0" @@ -2980,16 +3449,17 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" -"readable-stream@2 || 3": +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.4.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -3020,6 +3490,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -3034,23 +3511,13 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw== +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" - -regenerator-runtime@^0.10.5: - version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" - integrity sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + indent-string "^4.0.0" + strip-indent "^3.0.0" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -3111,6 +3578,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" @@ -3136,11 +3608,6 @@ resolve-from@5.0.0, resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -3174,12 +3641,12 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.4.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: - onetime "^2.0.0" + onetime "^5.1.0" signal-exit "^3.0.2" ret@~0.1.10: @@ -3187,29 +3654,17 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -right-pad@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" - integrity sha512-bYBjgxmkvTAfgIYy328fmkwhp39v8lwVgWhhrzxPV3yHtcSqyYKe9/XOhvW48UFjATg3VuJbpsp5822ACNvkmw== - -rimraf@^2.5.2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -run-async@^2.2.0: +run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== -rxjs@^6.1.0: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== +rxjs@^7.5.5: + version "7.6.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.6.0.tgz#361da5362b6ddaa691a2de0b4f2d32028f1eb5a2" + integrity sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ== dependencies: - tslib "^1.9.0" + tslib "^2.1.0" safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" @@ -3248,21 +3703,44 @@ semver-greatest-satisfied-range@^1.1.0: dependencies: sver-compat "^1.5.0" -"semver@2 || 3 || 4 || 5", semver@^5.5.0: +"semver@2 || 3 || 4 || 5": version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" - integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== +semver@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.3.4: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -3278,28 +3756,19 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + shebang-regex "^3.0.0" -shelljs@0.7.6: - version "0.7.6" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" - integrity sha512-sK/rjl+frweS4RL1ifxTb7eIXQaliSCDN5meqwwfDIHSWU7zH2KPTa/2hS6EAgGw7wHzJ3rQHfhnLzktfagSZA== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -3355,10 +3824,10 @@ source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== sparkles@^1.0.0: version "1.0.1" @@ -3398,12 +3867,12 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -split2@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== dependencies: - through2 "^2.0.2" + readable-stream "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" @@ -3442,7 +3911,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.1.0: +"string-width@^1.0.2 || 2": version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -3450,6 +3919,15 @@ string-width@^2.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -3478,10 +3956,17 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-bom@3.0.0, strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-bom@^2.0.0: version "2.0.0" @@ -3490,35 +3975,44 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-indent@^2.0.0: +strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== +supports-color@8.1.1, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - has-flag "^3.0.0" + has-flag "^4.0.0" -supports-color@^5.2.0, supports-color@^5.3.0, supports-color@^5.4.0: +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -3545,7 +4039,7 @@ through2-filter@^3.0.0: through2 "~2.0.0" xtend "~4.0.0" -through2@^2.0.0, through2@^2.0.2, through2@^2.0.3, through2@~2.0.0: +through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -3561,6 +4055,13 @@ through2@^3.0.0: inherits "^2.0.4" readable-stream "2 || 3" +through2@^4.0.0, through2@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + "through@>=2.2.7 <3", through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -3625,26 +4126,60 @@ to-through@^2.0.0: dependencies: through2 "^2.0.3" -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA== - -trim-off-newlines@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz#8df24847fcb821b0ab27d58ab6efec9f2fe961a1" - integrity sha512-kh6Tu6GbeSNMGfrrZh6Bb/4ZEHV1QlB4xNDBeog8Y9/QwFlKTRyWvY3Fs9tRDAMZliVUwieMgEdIeL/FtqjkJg== - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +ts-node@^10.8.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@^2.1.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + type@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" @@ -3667,10 +4202,15 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@3.7.5: - version "3.7.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" - integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== +typescript@4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" + integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== + +typescript@^4.6.4: + version "4.9.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" + integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== unc-path-regex@^0.1.2: version "0.1.2" @@ -3716,10 +4256,10 @@ unique-stream@^2.0.2: json-stable-stringify-without-jsonify "^1.0.1" through2-filter "^3.0.0" -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== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== unset-value@^1.0.0: version "1.0.0" @@ -3734,6 +4274,13 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" @@ -3749,6 +4296,11 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + v8flags@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" @@ -3769,7 +4321,7 @@ value-or-function@^3.0.0: resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" integrity sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg== -vinyl-fs@^3.0.0: +vinyl-fs@^3.0.0, vinyl-fs@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== @@ -3817,41 +4369,76 @@ vinyl@^2.0.0, vinyl@^2.1.0: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" -vscode-textmate@4.4.0, vscode-textmate@^4.1.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-4.4.0.tgz#14032afeb50152e8f53258c95643e555f2948305" - integrity sha512-dFpm2eK0HwEjeFSD1DDh3j0q47bDSVuZt20RiJWxGqjtm73Wu2jip3C2KaZI3dQx/fSeeXCr/uEN4LNaNj7Ytw== - dependencies: - oniguruma "^7.2.0" +vscode-oniguruma@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" + integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== -vscode-tmgrammar-test@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/vscode-tmgrammar-test/-/vscode-tmgrammar-test-0.0.10.tgz#e813ed1a2e2981250045ec044235ee2c45fdb76e" - integrity sha512-sYNjo+BXWzDfYZ8uY9tTWofMwKUyffUGmUcF0lJtRkuL1/tGn3trzlhTWZJDh6j5QowDkrZ3w0AE21qo4dzXUg== +vscode-textmate@7.0.4, vscode-textmate@^7.0.1: + version "7.0.4" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-7.0.4.tgz#a30df59ce573e998e4e2ffbca5ab82d57bc3126f" + integrity sha512-9hJp0xL7HW1Q5OgGe03NACo7yiCTMEk3WU/rtKXUbncLtdg6rVVNJnHwD88UhbIYU2KoxY0Dih0x+kIsmUKn2A== + +vscode-tmgrammar-test@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/vscode-tmgrammar-test/-/vscode-tmgrammar-test-0.1.1.tgz#a3b30956c5fc7ec336fa92a1943587a7452f5e95" + integrity sha512-0WvD3U+E0KV95bNT7v5g7PQ85JfAjh9MuXOy1dgwZskkCsA8ASiSy60iv30JOZrM6dBjJZooGUAybRAIB+Song== dependencies: chalk "^2.4.2" - commander "^2.20.3" + commander "^9.2.0" diff "^4.0.2" glob "^7.1.6" - vscode-textmate "^4.1.1" + vscode-oniguruma "^1.5.1" + vscode-textmate "^7.0.1" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" integrity sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ== -which@^1.2.14, which@^1.2.9: +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +which@^1.2.14: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + word-wrap@^1.0.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +workerpool@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== + +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -3860,6 +4447,15 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -3880,12 +4476,35 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== -yargs-parser@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - dependencies: - camelcase "^4.1.0" +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs-parser@^5.0.1: version "5.0.1" @@ -3895,6 +4514,42 @@ yargs-parser@^5.0.1: camelcase "^3.0.0" object.assign "^4.1.0" +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.0.0: + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yargs@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" @@ -3913,3 +4568,13 @@ yargs@^7.1.0: which-module "^1.0.0" y18n "^3.2.1" yargs-parser "^5.0.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==