diff --git a/assets/cli-help.json b/assets/cli-help.json
new file mode 100644
index 000000000000..55d66d5ed021
--- /dev/null
+++ b/assets/cli-help.json
@@ -0,0 +1,5 @@
+{
+ "enable": "Enabled by default linters:\nerrcheck: errcheck is a program for checking for unchecked errors in Go code. These unchecked errors can be critical bugs in some cases [fast: false, auto-fix: false]\ngosimple (megacheck): Linter for Go source code that specializes in simplifying code [fast: false, auto-fix: false]\ngovet (vet, vetshadow): Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string [fast: false, auto-fix: false]\nineffassign: Detects when assignments to existing variables are not used [fast: true, auto-fix: false]\nstaticcheck (megacheck): It's a set of rules from staticcheck. It's not the same thing as the staticcheck binary. The author of staticcheck doesn't support or approve the use of staticcheck as a library inside golangci-lint. [fast: false, auto-fix: false]\nunused (megacheck): Checks Go code for unused constants, variables, functions and types [fast: false, auto-fix: false]",
+ "disable": "Disabled by default linters:\nasasalint: check for pass []any as any in variadic func(...any) [fast: false, auto-fix: false]\nasciicheck: checks that all code identifiers does not have non-ASCII symbols in the name [fast: true, auto-fix: false]\nbidichk: Checks for dangerous unicode character sequences [fast: true, auto-fix: false]\nbodyclose: checks whether HTTP response body is closed successfully [fast: false, auto-fix: false]\ncontainedctx: containedctx is a linter that detects struct contained context.Context field [fast: false, auto-fix: false]\ncontextcheck: check whether the function uses a non-inherited context [fast: false, auto-fix: false]\ncyclop: checks function and package cyclomatic complexity [fast: false, auto-fix: false]\ndeadcode [deprecated]: Finds unused code [fast: false, auto-fix: false]\ndecorder: check declaration order and count of types, constants, variables and functions [fast: true, auto-fix: false]\ndepguard: Go linter that checks if package imports are in a list of acceptable packages [fast: true, auto-fix: false]\ndogsled: Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f()) [fast: true, auto-fix: false]\ndupl: Tool for code clone detection [fast: true, auto-fix: false]\ndupword: checks for duplicate words in the source code [fast: true, auto-fix: true]\ndurationcheck: check for two durations multiplied together [fast: false, auto-fix: false]\nerrchkjson: Checks types passed to the json encoding functions. Reports unsupported types and reports occations, where the check for the returned error can be omitted. [fast: false, auto-fix: false]\nerrname: Checks that sentinel errors are prefixed with the `Err` and error types are suffixed with the `Error`. [fast: false, auto-fix: false]\nerrorlint: errorlint is a linter for that can be used to find code that will cause problems with the error wrapping scheme introduced in Go 1.13. [fast: false, auto-fix: false]\nexecinquery: execinquery is a linter about query string checker in Query function which reads your Go src files and warning it finds [fast: false, auto-fix: false]\nexhaustive: check exhaustiveness of enum switch statements [fast: false, auto-fix: false]\nexhaustivestruct [deprecated]: Checks if all struct's fields are initialized [fast: false, auto-fix: false]\nexhaustruct: Checks if all structure fields are initialized [fast: false, auto-fix: false]\nexportloopref: checks for pointers to enclosing loop variables [fast: false, auto-fix: false]\nforbidigo: Forbids identifiers [fast: false, auto-fix: false]\nforcetypeassert: finds forced type assertions [fast: true, auto-fix: false]\nfunlen: Tool for detection of long functions [fast: true, auto-fix: false]\ngci: Gci controls Go package import order and makes it always deterministic. [fast: true, auto-fix: false]\nginkgolinter: enforces standards of using ginkgo and gomega [fast: false, auto-fix: false]\ngocheckcompilerdirectives: Checks that go compiler directive comments (//go:) are valid. [fast: true, auto-fix: false]\ngochecknoglobals: check that no global variables exist [fast: false, auto-fix: false]\ngochecknoinits: Checks that no init functions are present in Go code [fast: true, auto-fix: false]\ngochecksumtype: Run exhaustiveness checks on Go \"sum types\" [fast: false, auto-fix: false]\ngocognit: Computes and checks the cognitive complexity of functions [fast: true, auto-fix: false]\ngoconst: Finds repeated strings that could be replaced by a constant [fast: true, auto-fix: false]\ngocritic: Provides diagnostics that check for bugs, performance and style issues. [fast: false, auto-fix: false]\ngocyclo: Computes and checks the cyclomatic complexity of functions [fast: true, auto-fix: false]\ngodot: Check if comments end in a period [fast: true, auto-fix: true]\ngodox: Tool for detection of FIXME, TODO and other comment keywords [fast: true, auto-fix: false]\ngoerr113: Go linter to check the errors handling expressions [fast: false, auto-fix: false]\ngofmt: Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification [fast: true, auto-fix: true]\ngofumpt: Gofumpt checks whether code was gofumpt-ed. [fast: true, auto-fix: true]\ngoheader: Checks is file header matches to pattern [fast: true, auto-fix: false]\ngoimports: Check import statements are formatted according to the 'goimport' command. Reformat imports in autofix mode. [fast: true, auto-fix: true]\ngolint [deprecated]: Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes [fast: false, auto-fix: false]\ngomnd: An analyzer to detect magic numbers. [fast: true, auto-fix: false]\ngomoddirectives: Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod. [fast: true, auto-fix: false]\ngomodguard: Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations. [fast: true, auto-fix: false]\ngoprintffuncname: Checks that printf-like functions are named with `f` at the end. [fast: true, auto-fix: false]\ngosec (gas): Inspects source code for security problems [fast: false, auto-fix: false]\ngosmopolitan: Report certain i18n/l10n anti-patterns in your Go codebase [fast: false, auto-fix: false]\ngrouper: Analyze expression groups. [fast: true, auto-fix: false]\nifshort [deprecated]: Checks that your code uses short syntax for if-statements whenever possible. [fast: true, auto-fix: false]\nimportas: Enforces consistent import aliases [fast: false, auto-fix: false]\ninamedparam: reports interfaces with unnamed method parameters [fast: true, auto-fix: false]\ninterfacebloat: A linter that checks the number of methods inside an interface. [fast: true, auto-fix: false]\ninterfacer [deprecated]: Linter that suggests narrower interface types [fast: false, auto-fix: false]\nireturn: Accept Interfaces, Return Concrete Types [fast: false, auto-fix: false]\nlll: Reports long lines [fast: true, auto-fix: false]\nloggercheck (logrlint): Checks key value pairs for common logger libraries (kitlog,klog,logr,zap). [fast: false, auto-fix: false]\nmaintidx: maintidx measures the maintainability index of each function. [fast: true, auto-fix: false]\nmakezero: Finds slice declarations with non-zero initial length [fast: false, auto-fix: false]\nmaligned [deprecated]: Tool to detect Go structs that would take less memory if their fields were sorted [fast: false, auto-fix: false]\nmirror: reports wrong mirror patterns of bytes/strings usage [fast: false, auto-fix: false]\nmisspell: Finds commonly misspelled English words [fast: true, auto-fix: true]\nmusttag: enforce field tags in (un)marshaled structs [fast: false, auto-fix: false]\nnakedret: Checks that functions with naked returns are not longer than a maximum size (can be zero). [fast: true, auto-fix: false]\nnestif: Reports deeply nested if statements [fast: true, auto-fix: false]\nnilerr: Finds the code that returns nil even if it checks that the error is not nil. [fast: false, auto-fix: false]\nnilnil: Checks that there is no simultaneous return of `nil` error and an invalid value. [fast: false, auto-fix: false]\nnlreturn: nlreturn checks for a new line before return and branch statements to increase code clarity [fast: true, auto-fix: false]\nnoctx: Finds sending http request without context.Context [fast: false, auto-fix: false]\nnolintlint: Reports ill-formed or insufficient nolint directives [fast: true, auto-fix: false]\nnonamedreturns: Reports all named returns [fast: false, auto-fix: false]\nnosnakecase [deprecated]: nosnakecase is a linter that detects snake case of variable naming and function name. [fast: true, auto-fix: false]\nnosprintfhostport: Checks for misuse of Sprintf to construct a host with port in a URL. [fast: true, auto-fix: false]\nparalleltest: Detects missing usage of t.Parallel() method in your Go test [fast: false, auto-fix: false]\nperfsprint: Checks that fmt.Sprintf can be replaced with a faster alternative. [fast: false, auto-fix: false]\nprealloc: Finds slice declarations that could potentially be pre-allocated [fast: true, auto-fix: false]\npredeclared: find code that shadows one of Go's predeclared identifiers [fast: true, auto-fix: false]\npromlinter: Check Prometheus metrics naming via promlint [fast: true, auto-fix: false]\nprotogetter: Reports direct reads from proto message fields when getters should be used [fast: false, auto-fix: true]\nreassign: Checks that package variables are not reassigned [fast: false, auto-fix: false]\nrevive: Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint. [fast: false, auto-fix: false]\nrowserrcheck: checks whether Rows.Err of rows is checked successfully [fast: false, auto-fix: false]\nscopelint [deprecated]: Scopelint checks for unpinned variables in go programs [fast: true, auto-fix: false]\nsloglint: ensure consistent code style when using log/slog [fast: false, auto-fix: false]\nspancheck: Checks for mistakes with OpenTelemetry/Census spans. [fast: false, auto-fix: false]\nsqlclosecheck: Checks that sql.Rows, sql.Stmt, sqlx.NamedStmt, pgx.Query are closed. [fast: false, auto-fix: false]\nstructcheck [deprecated]: Finds unused struct fields [fast: false, auto-fix: false]\nstylecheck: Stylecheck is a replacement for golint [fast: false, auto-fix: false]\ntagalign: check that struct tags are well aligned [fast: true, auto-fix: true]\ntagliatelle: Checks the struct tags. [fast: true, auto-fix: false]\ntenv: tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17 [fast: false, auto-fix: false]\ntestableexamples: linter checks if examples are testable (have an expected output) [fast: true, auto-fix: false]\ntestifylint: Checks usage of github.com/stretchr/testify. [fast: false, auto-fix: false]\ntestpackage: linter that makes you use a separate _test package [fast: true, auto-fix: false]\nthelper: thelper detects tests helpers which is not start with t.Helper() method. [fast: false, auto-fix: false]\ntparallel: tparallel detects inappropriate usage of t.Parallel() method in your Go test codes. [fast: false, auto-fix: false]\nunconvert: Remove unnecessary type conversions [fast: false, auto-fix: false]\nunparam: Reports unused function parameters [fast: false, auto-fix: false]\nusestdlibvars: A linter that detect the possibility to use variables/constants from the Go standard library. [fast: true, auto-fix: false]\nvarcheck [deprecated]: Finds unused global variables and constants [fast: false, auto-fix: false]\nvarnamelen: checks that the length of a variable's name matches its scope [fast: false, auto-fix: false]\nwastedassign: Finds wasted assignment statements [fast: false, auto-fix: false]\nwhitespace: Whitespace is a linter that checks for unnecessary newlines at the start and end of functions, if, for, etc. [fast: true, auto-fix: true]\nwrapcheck: Checks that errors returned from external packages are wrapped [fast: false, auto-fix: false]\nwsl: add or remove empty lines [fast: true, auto-fix: false]\nzerologlint: Detects the wrong usage of `zerolog` that a user forgets to dispatch with `Send` or `Msg` [fast: false, auto-fix: false]",
+ "help": "Usage:\n golangci-lint run [flags]\n\nFlags:\n -c, --config PATH Read config from file path PATH\n --no-config Don't read config file\n --out-format string Format of output: colored-line-number|line-number|json|tab|checkstyle|code-climate|html|junit-xml|github-actions|teamcity (default \"colored-line-number\")\n --print-issued-lines Print lines of code with issue (default true)\n --print-linter-name Print linter name in issue line (default true)\n --uniq-by-line Make issues output unique by line (default true)\n --sort-results Sort linter results\n --path-prefix string Path prefix to add to output\n --modules-download-mode string Modules download mode. If not empty, passed as -mod=\u003cmode\u003e to go tools\n --issues-exit-code int Exit code when issues were found (default 1)\n --go string Targeted Go version\n --build-tags strings Build tags\n --timeout duration Timeout for total work (default 1m0s)\n --tests Analyze tests (*_test.go) (default true)\n --print-resources-usage Print avg and max memory usage of golangci-lint and total time\n --skip-dirs strings Regexps of directories to skip\n --skip-dirs-use-default Use or not use default excluded directories:\n - (^|/)vendor($|/)\n - (^|/)third_party($|/)\n - (^|/)testdata($|/)\n - (^|/)examples($|/)\n - (^|/)Godeps($|/)\n - (^|/)builtin($|/)\n (default true)\n --skip-files strings Regexps of files to skip\n --allow-parallel-runners Allow multiple parallel golangci-lint instances running. If false (default) - golangci-lint acquires file lock on start.\n --allow-serial-runners Allow multiple golangci-lint instances running, but serialize them around a lock. If false (default) - golangci-lint exits with an error if it fails to acquire file lock on start.\n --show-stats Show statistics per linter\n -D, --disable strings Disable specific linter\n --disable-all Disable all linters\n -E, --enable strings Enable specific linter\n --enable-all Enable all linters\n --fast Enable only fast linters from enabled linters set (first run won't be fast)\n -p, --presets strings Enable presets (bugs|comment|complexity|error|format|import|metalinter|module|performance|sql|style|test|unused) of linters. Run 'golangci-lint help linters' to see them. This option implies option --disable-all\n -e, --exclude strings Exclude issue by regexp\n --exclude-use-default Use or not use default excludes:\n # EXC0001 errcheck: Almost all programs ignore errors on these functions and in most cases it's ok\n - Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*print(f|ln)?|os\\.(Un)?Setenv). is not checked\n \n # EXC0002 golint: Annoying issue about not having a comment. The rare codebase has such comments\n - (comment on exported (method|function|type|const)|should have( a package)? comment|comment should be of the form)\n \n # EXC0003 golint: False positive when tests are defined in package 'test'\n - func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this\n \n # EXC0004 govet: Common false positives\n - (possible misuse of unsafe.Pointer|should have signature)\n \n # EXC0005 staticcheck: Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore\n - ineffective break statement. Did you mean to break out of the outer loop\n \n # EXC0006 gosec: Too many false-positives on 'unsafe' usage\n - Use of unsafe calls should be audited\n \n # EXC0007 gosec: Too many false-positives for parametrized shell calls\n - Subprocess launch(ed with variable|ing should be audited)\n \n # EXC0008 gosec: Duplicated errcheck checks\n - (G104)\n \n # EXC0009 gosec: Too many issues in popular repos\n - (Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)\n \n # EXC0010 gosec: False positive is triggered by 'src, err := ioutil.ReadFile(filename)'\n - Potential file inclusion via variable\n \n # EXC0011 stylecheck: Annoying issue about not having a comment. The rare codebase has such comments\n - (comment on exported (method|function|type|const)|should have( a package)? comment|comment should be of the form)\n \n # EXC0012 revive: Annoying issue about not having a comment. The rare codebase has such comments\n - exported (.+) should have comment( \\(or a comment on this block\\))? or be unexported\n \n # EXC0013 revive: Annoying issue about not having a comment. The rare codebase has such comments\n - package comment should be of the form \"(.+)...\n \n # EXC0014 revive: Annoying issue about not having a comment. The rare codebase has such comments\n - comment on exported (.+) should be of the form \"(.+)...\"\n \n # EXC0015 revive: Annoying issue about not having a comment. The rare codebase has such comments\n - should have a package comment\n (default true)\n --exclude-case-sensitive If set to true exclude and exclude rules regular expressions are case sensitive\n --max-issues-per-linter int Maximum issues count per one linter. Set to 0 to disable (default 50)\n --max-same-issues int Maximum count of issues with the same text. Set to 0 to disable (default 3)\n -n, --new Show only new issues: if there are unstaged changes or untracked files, only those changes are analyzed, else only changes in HEAD~ are analyzed.\n It's a super-useful option for integration of golangci-lint into existing large codebase.\n It's not practical to fix all existing issues at the moment of integration: much better to not allow issues in new code.\n For CI setups, prefer --new-from-rev=HEAD~, as --new can skip linting the current patch if any scripts generate unstaged files before golangci-lint runs.\n --new-from-rev REV Show only new issues created after git revision REV\n --new-from-patch PATH Show only new issues created in git patch with file path PATH\n --whole-files Show issues in any part of update files (requires new-from-rev or new-from-patch)\n --fix Fix found issues (if it's supported by the linter)\n -h, --help help for run\n\nGlobal Flags:\n --color string Use color when printing; can be 'always', 'auto', or 'never' (default \"auto\")\n -j, --concurrency int Number of CPUs to use (Default: number of logical CPUs) (default 8)\n --cpu-profile-path string Path to CPU profile output file\n --mem-profile-path string Path to memory profile output file\n --trace-path string Path to trace output file\n -v, --verbose Verbose output\n --version Print version\n"
+}
diff --git a/assets/default-exclusions.json b/assets/default-exclusions.json
new file mode 100644
index 000000000000..93f096dd6c5f
--- /dev/null
+++ b/assets/default-exclusions.json
@@ -0,0 +1,92 @@
+[
+ {
+ "id": "EXC0001",
+ "pattern": "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*print(f|ln)?|os\\.(Un)?Setenv). is not checked",
+ "linter": "errcheck",
+ "why": "Almost all programs ignore errors on these functions and in most cases it's ok"
+ },
+ {
+ "id": "EXC0002",
+ "pattern": "(comment on exported (method|function|type|const)|should have( a package)? comment|comment should be of the form)",
+ "linter": "golint",
+ "why": "Annoying issue about not having a comment. The rare codebase has such comments"
+ },
+ {
+ "id": "EXC0003",
+ "pattern": "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this",
+ "linter": "golint",
+ "why": "False positive when tests are defined in package 'test'"
+ },
+ {
+ "id": "EXC0004",
+ "pattern": "(possible misuse of unsafe.Pointer|should have signature)",
+ "linter": "govet",
+ "why": "Common false positives"
+ },
+ {
+ "id": "EXC0005",
+ "pattern": "ineffective break statement. Did you mean to break out of the outer loop",
+ "linter": "staticcheck",
+ "why": "Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore"
+ },
+ {
+ "id": "EXC0006",
+ "pattern": "Use of unsafe calls should be audited",
+ "linter": "gosec",
+ "why": "Too many false-positives on 'unsafe' usage"
+ },
+ {
+ "id": "EXC0007",
+ "pattern": "Subprocess launch(ed with variable|ing should be audited)",
+ "linter": "gosec",
+ "why": "Too many false-positives for parametrized shell calls"
+ },
+ {
+ "id": "EXC0008",
+ "pattern": "(G104)",
+ "linter": "gosec",
+ "why": "Duplicated errcheck checks"
+ },
+ {
+ "id": "EXC0009",
+ "pattern": "(Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)",
+ "linter": "gosec",
+ "why": "Too many issues in popular repos"
+ },
+ {
+ "id": "EXC0010",
+ "pattern": "Potential file inclusion via variable",
+ "linter": "gosec",
+ "why": "False positive is triggered by 'src, err := ioutil.ReadFile(filename)'"
+ },
+ {
+ "id": "EXC0011",
+ "pattern": "(comment on exported (method|function|type|const)|should have( a package)? comment|comment should be of the form)",
+ "linter": "stylecheck",
+ "why": "Annoying issue about not having a comment. The rare codebase has such comments"
+ },
+ {
+ "id": "EXC0012",
+ "pattern": "exported (.+) should have comment( \\(or a comment on this block\\))? or be unexported",
+ "linter": "revive",
+ "why": "Annoying issue about not having a comment. The rare codebase has such comments"
+ },
+ {
+ "id": "EXC0013",
+ "pattern": "package comment should be of the form \"(.+)...",
+ "linter": "revive",
+ "why": "Annoying issue about not having a comment. The rare codebase has such comments"
+ },
+ {
+ "id": "EXC0014",
+ "pattern": "comment on exported (.+) should be of the form \"(.+)...\"",
+ "linter": "revive",
+ "why": "Annoying issue about not having a comment. The rare codebase has such comments"
+ },
+ {
+ "id": "EXC0015",
+ "pattern": "should have a package comment",
+ "linter": "revive",
+ "why": "Annoying issue about not having a comment. The rare codebase has such comments"
+ }
+]
diff --git a/assets/github-action-config.json b/assets/github-action-config.json
index ce268e86a757..f2a5227b446c 100644
--- a/assets/github-action-config.json
+++ b/assets/github-action-config.json
@@ -1,8 +1,8 @@
{
"MinorVersionToConfig": {
"latest": {
- "TargetVersion": "v1.51.1",
- "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.51.1/golangci-lint-1.51.1-linux-amd64.tar.gz"
+ "TargetVersion": "v1.56.2",
+ "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.56.2/golangci-lint-1.56.2-linux-amd64.tar.gz"
},
"v1.10": {
"Error": "golangci-lint version 'v1.10' isn't supported: we support only v1.14.0 and later versions"
@@ -174,8 +174,28 @@
"AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.50.1/golangci-lint-1.50.1-linux-amd64.tar.gz"
},
"v1.51": {
- "TargetVersion": "v1.51.1",
- "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.51.1/golangci-lint-1.51.1-linux-amd64.tar.gz"
+ "TargetVersion": "v1.51.2",
+ "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.51.2/golangci-lint-1.51.2-linux-amd64.tar.gz"
+ },
+ "v1.52": {
+ "TargetVersion": "v1.52.2",
+ "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.52.2/golangci-lint-1.52.2-linux-amd64.tar.gz"
+ },
+ "v1.53": {
+ "TargetVersion": "v1.53.3",
+ "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.53.3/golangci-lint-1.53.3-linux-amd64.tar.gz"
+ },
+ "v1.54": {
+ "TargetVersion": "v1.54.2",
+ "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.54.2/golangci-lint-1.54.2-linux-amd64.tar.gz"
+ },
+ "v1.55": {
+ "TargetVersion": "v1.55.2",
+ "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.55.2/golangci-lint-1.55.2-linux-amd64.tar.gz"
+ },
+ "v1.56": {
+ "TargetVersion": "v1.56.2",
+ "AssetURL": "https://github.com/golangci/golangci-lint/releases/download/v1.56.2/golangci-lint-1.56.2-linux-amd64.tar.gz"
},
"v1.6": {
"Error": "golangci-lint version 'v1.6' isn't supported: we support only v1.14.0 and later versions"
diff --git a/assets/linters-info.json b/assets/linters-info.json
new file mode 100644
index 000000000000..eab346ceed01
--- /dev/null
+++ b/assets/linters-info.json
@@ -0,0 +1,1600 @@
+[
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/alingse/asasalint",
+ "internal": false,
+ "isSlow": true,
+ "since": "1.47.0",
+ "name": "asasalint",
+ "desc": "check for pass []any as any in variadic func(...any)"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "bugs",
+ "style"
+ ],
+ "originalURL": "https://github.com/tdakkota/asciicheck",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.26.0",
+ "name": "asciicheck",
+ "desc": "checks that all code identifiers does not have non-ASCII symbols in the name"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/breml/bidichk",
+ "internal": false,
+ "isSlow": false,
+ "since": "1.43.0",
+ "name": "bidichk",
+ "desc": "Checks for dangerous unicode character sequences"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "performance",
+ "bugs"
+ ],
+ "originalURL": "https://github.com/timakin/bodyclose",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.18.0",
+ "name": "bodyclose",
+ "desc": "checks whether HTTP response body is closed successfully"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/sivchari/containedctx",
+ "internal": false,
+ "isSlow": true,
+ "since": "1.44.0",
+ "name": "containedctx",
+ "desc": "containedctx is a linter that detects struct contained context.Context field"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/kkHAIKE/contextcheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.43.0",
+ "name": "contextcheck",
+ "desc": "check whether the function uses a non-inherited context"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "complexity"
+ ],
+ "originalURL": "https://github.com/bkielbasa/cyclop",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.37.0",
+ "name": "cyclop",
+ "desc": "checks function and package cyclomatic complexity"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "format",
+ "style"
+ ],
+ "originalURL": "https://gitlab.com/bosi/decorder",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.44.0",
+ "name": "decorder",
+ "desc": "check declaration order and count of types, constants, variables and functions"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "unused"
+ ],
+ "originalURL": "https://github.com/remyoudompheng/go-misc/tree/master/deadcode",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "deprecation": {
+ "since": "v1.49.0",
+ "message": "The owner seems to have abandoned the linter.",
+ "replacement": "unused"
+ },
+ "name": "deadcode",
+ "desc": "Finds unused code"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "import",
+ "module"
+ ],
+ "originalURL": "https://github.com/OpenPeeDeeP/depguard",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.4.0",
+ "name": "depguard",
+ "desc": "Go linter that checks if package imports are in a list of acceptable packages"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/alexkohler/dogsled",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.19.0",
+ "name": "dogsled",
+ "desc": "Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f())"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/mibk/dupl",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.0.0",
+ "name": "dupl",
+ "desc": "Tool for code clone detection"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "comment"
+ ],
+ "originalURL": "https://github.com/Abirdcfly/dupword",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "1.50.0",
+ "name": "dupword",
+ "desc": "checks for duplicate words in the source code"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/charithe/durationcheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.37.0",
+ "name": "durationcheck",
+ "desc": "check for two durations multiplied together"
+ },
+ {
+ "linter": {},
+ "enabledByDefault": true,
+ "loadMode": 575,
+ "inPresets": [
+ "bugs",
+ "error"
+ ],
+ "originalURL": "https://github.com/kisielk/errcheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "name": "errcheck",
+ "desc": "errcheck is a program for checking for unchecked errors in Go code. These unchecked errors can be critical bugs in some cases"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/breml/errchkjson",
+ "internal": false,
+ "isSlow": true,
+ "since": "1.44.0",
+ "name": "errchkjson",
+ "desc": "Checks types passed to the json encoding functions. Reports unsupported types and reports occations, where the check for the returned error can be omitted."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/Antonboom/errname",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.42.0",
+ "name": "errname",
+ "desc": "Checks that sentinel errors are prefixed with the `Err` and error types are suffixed with the `Error`."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs",
+ "error"
+ ],
+ "originalURL": "https://github.com/polyfloyd/go-errorlint",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.32.0",
+ "name": "errorlint",
+ "desc": "errorlint is a linter for that can be used to find code that will cause problems with the error wrapping scheme introduced in Go 1.13."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "sql"
+ ],
+ "originalURL": "https://github.com/lufeee/execinquery",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.46.0",
+ "name": "execinquery",
+ "desc": "execinquery is a linter about query string checker in Query function which reads your Go src files and warning it finds"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/nishanths/exhaustive",
+ "internal": false,
+ "isSlow": true,
+ "since": " v1.28.0",
+ "name": "exhaustive",
+ "desc": "check exhaustiveness of enum switch statements"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "test"
+ ],
+ "originalURL": "https://github.com/mbilski/exhaustivestruct",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.32.0",
+ "deprecation": {
+ "since": "v1.46.0",
+ "message": "The owner seems to have abandoned the linter.",
+ "replacement": "exhaustruct"
+ },
+ "name": "exhaustivestruct",
+ "desc": "Checks if all struct's fields are initialized"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "test"
+ ],
+ "originalURL": "https://github.com/GaijinEntertainment/go-exhaustruct",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.46.0",
+ "name": "exhaustruct",
+ "desc": "Checks if all structure fields are initialized"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/kyoh86/exportloopref",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.28.0",
+ "name": "exportloopref",
+ "desc": "checks for pointers to enclosing loop variables"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/ashanbrown/forbidigo",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.34.0",
+ "name": "forbidigo",
+ "desc": "Forbids identifiers"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/gostaticanalysis/forcetypeassert",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.38.0",
+ "name": "forcetypeassert",
+ "desc": "finds forced type assertions"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "complexity"
+ ],
+ "originalURL": "https://github.com/ultraware/funlen",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.18.0",
+ "name": "funlen",
+ "desc": "Tool for detection of long functions"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "format",
+ "import"
+ ],
+ "originalURL": "https://github.com/daixiang0/gci",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.30.0",
+ "name": "gci",
+ "desc": "Gci controls Go package import order and makes it always deterministic."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/nunnatsa/ginkgolinter",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.51.0",
+ "name": "ginkgolinter",
+ "desc": "enforces standards of using ginkgo and gomega"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/leighmcculloch/gocheckcompilerdirectives",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.51.0",
+ "name": "gocheckcompilerdirectives",
+ "desc": "Checks that go compiler directive comments (//go:) are valid."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/leighmcculloch/gochecknoglobals",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.12.0",
+ "name": "gochecknoglobals",
+ "desc": "check that no global variables exist\n\nThis analyzer checks for global variables and errors on any found.\n\nA global variable is a variable declared in package scope and that can be read\nand written to by any function within the package. Global variables can cause\nside effects which are difficult to keep track of. A code in one function may\nchange the variables state while another unrelated chunk of code may be\neffected by it."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.12.0",
+ "name": "gochecknoinits",
+ "desc": "Checks that no init functions are present in Go code"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/alecthomas/go-check-sumtype",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.55.0",
+ "name": "gochecksumtype",
+ "desc": "Run exhaustiveness checks on Go \"sum types\""
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "complexity"
+ ],
+ "originalURL": "https://github.com/uudashr/gocognit",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.20.0",
+ "name": "gocognit",
+ "desc": "Computes and checks the cognitive complexity of functions"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/jgautheron/goconst",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.0.0",
+ "name": "goconst",
+ "desc": "Finds repeated strings that could be replaced by a constant"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "metalinter"
+ ],
+ "originalURL": "https://github.com/go-critic/go-critic",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.12.0",
+ "name": "gocritic",
+ "desc": "Provides diagnostics that check for bugs, performance and style issues.\nExtensible without recompilation through dynamic rules.\nDynamic rules are written declaratively with AST patterns, filters, report message and optional suggestion."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "complexity"
+ ],
+ "originalURL": "https://github.com/fzipp/gocyclo",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.0.0",
+ "name": "gocyclo",
+ "desc": "Computes and checks the cyclomatic complexity of functions"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "comment"
+ ],
+ "originalURL": "https://github.com/tetafro/godot",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "v1.25.0",
+ "name": "godot",
+ "desc": "Check if comments end in a period"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "comment"
+ ],
+ "originalURL": "https://github.com/matoous/godox",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.19.0",
+ "name": "godox",
+ "desc": "Tool for detection of FIXME, TODO and other comment keywords"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "error"
+ ],
+ "originalURL": "https://github.com/Djarvur/go-err113",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.26.0",
+ "name": "goerr113",
+ "desc": "Go linter to check the errors handling expressions"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "format"
+ ],
+ "originalURL": "https://pkg.go.dev/cmd/gofmt",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "v1.0.0",
+ "name": "gofmt",
+ "desc": "Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "format"
+ ],
+ "originalURL": "https://github.com/mvdan/gofumpt",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "v1.28.0",
+ "name": "gofumpt",
+ "desc": "Gofumpt checks whether code was gofumpt-ed."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/denis-tingaikin/go-header",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.28.0",
+ "name": "goheader",
+ "desc": "Checks is file header matches to pattern"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "format",
+ "import"
+ ],
+ "originalURL": "https://pkg.go.dev/golang.org/x/tools/cmd/goimports",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "v1.20.0",
+ "name": "goimports",
+ "desc": "Check import statements are formatted according to the 'goimport' command. Reformat imports in autofix mode."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/golang/lint",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "deprecation": {
+ "since": "v1.41.0",
+ "message": "The repository of the linter has been archived by the owner.",
+ "replacement": "revive"
+ },
+ "name": "golint",
+ "desc": "Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/tommy-muehle/go-mnd",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.22.0",
+ "name": "gomnd",
+ "desc": "An analyzer to detect magic numbers."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "module"
+ ],
+ "originalURL": "https://github.com/ldez/gomoddirectives",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.39.0",
+ "name": "gomoddirectives",
+ "desc": "Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "import",
+ "module"
+ ],
+ "originalURL": "https://github.com/ryancurrah/gomodguard",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.25.0",
+ "name": "gomodguard",
+ "desc": "Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/jirfag/go-printf-func-name",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.23.0",
+ "name": "goprintffuncname",
+ "desc": "Checks that printf-like functions are named with `f` at the end."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "alternativeNames": [
+ "gas"
+ ],
+ "originalURL": "https://github.com/securego/gosec",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "name": "gosec",
+ "desc": "Inspects source code for security problems"
+ },
+ {
+ "linter": {},
+ "enabledByDefault": true,
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "alternativeNames": [
+ "megacheck"
+ ],
+ "originalURL": "https://github.com/dominikh/go-tools/tree/master/simple",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.20.0",
+ "name": "gosimple",
+ "desc": "Linter for Go source code that specializes in simplifying code"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/xen0n/gosmopolitan",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.53.0",
+ "name": "gosmopolitan",
+ "desc": "Report certain i18n/l10n anti-patterns in your Go codebase"
+ },
+ {
+ "linter": {},
+ "enabledByDefault": true,
+ "loadMode": 575,
+ "inPresets": [
+ "bugs",
+ "metalinter"
+ ],
+ "alternativeNames": [
+ "vet",
+ "vetshadow"
+ ],
+ "originalURL": "https://pkg.go.dev/cmd/vet",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "name": "govet",
+ "desc": "Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/leonklingele/grouper",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.44.0",
+ "name": "grouper",
+ "desc": "Analyze expression groups."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/esimonov/ifshort",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.36.0",
+ "deprecation": {
+ "since": "v1.48.0",
+ "message": "The repository of the linter has been deprecated by the owner."
+ },
+ "name": "ifshort",
+ "desc": "Checks that your code uses short syntax for if-statements whenever possible."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/julz/importas",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.38.0",
+ "name": "importas",
+ "desc": "Enforces consistent import aliases"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/macabu/inamedparam",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.55.0",
+ "name": "inamedparam",
+ "desc": "reports interfaces with unnamed method parameters"
+ },
+ {
+ "linter": {},
+ "enabledByDefault": true,
+ "loadMode": 7,
+ "inPresets": [
+ "unused"
+ ],
+ "originalURL": "https://github.com/gordonklaus/ineffassign",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.0.0",
+ "name": "ineffassign",
+ "desc": "Detects when assignments to existing variables are not used"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/sashamelentyev/interfacebloat",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.49.0",
+ "name": "interfacebloat",
+ "desc": "A linter that checks the number of methods inside an interface."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/mvdan/interfacer",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "deprecation": {
+ "since": "v1.38.0",
+ "message": "The repository of the linter has been archived by the owner."
+ },
+ "name": "interfacer",
+ "desc": "Linter that suggests narrower interface types"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/butuzov/ireturn",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.43.0",
+ "name": "ireturn",
+ "desc": "Accept Interfaces, Return Concrete Types"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.8.0",
+ "name": "lll",
+ "desc": "Reports long lines"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "bugs"
+ ],
+ "alternativeNames": [
+ "logrlint"
+ ],
+ "originalURL": "https://github.com/timonwong/loggercheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.49.0",
+ "name": "loggercheck",
+ "desc": "Checks key value pairs for common logger libraries (kitlog,klog,logr,zap)."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "complexity"
+ ],
+ "originalURL": "https://github.com/yagipy/maintidx",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.44.0",
+ "name": "maintidx",
+ "desc": "maintidx measures the maintainability index of each function."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "bugs"
+ ],
+ "originalURL": "https://github.com/ashanbrown/makezero",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.34.0",
+ "name": "makezero",
+ "desc": "Finds slice declarations with non-zero initial length"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "performance"
+ ],
+ "originalURL": "https://github.com/mdempsky/maligned",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "deprecation": {
+ "since": "v1.38.0",
+ "message": "The repository of the linter has been archived by the owner.",
+ "replacement": "govet 'fieldalignment'"
+ },
+ "name": "maligned",
+ "desc": "Tool to detect Go structs that would take less memory if their fields were sorted"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/butuzov/mirror",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.53.0",
+ "name": "mirror",
+ "desc": "reports wrong mirror patterns of bytes/strings usage"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "comment"
+ ],
+ "originalURL": "https://github.com/client9/misspell",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "v1.8.0",
+ "name": "misspell",
+ "desc": "Finds commonly misspelled English words"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "bugs"
+ ],
+ "originalURL": "https://github.com/go-simpler/musttag",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.51.0",
+ "name": "musttag",
+ "desc": "enforce field tags in (un)marshaled structs"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/alexkohler/nakedret",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.19.0",
+ "name": "nakedret",
+ "desc": "Checks that functions with naked returns are not longer than a maximum size (can be zero)."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "complexity"
+ ],
+ "originalURL": "https://github.com/nakabonne/nestif",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.25.0",
+ "name": "nestif",
+ "desc": "Reports deeply nested if statements"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/gostaticanalysis/nilerr",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.38.0",
+ "name": "nilerr",
+ "desc": "Finds the code that returns nil even if it checks that the error is not nil."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/Antonboom/nilnil",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.43.0",
+ "name": "nilnil",
+ "desc": "Checks that there is no simultaneous return of `nil` error and an invalid value."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/ssgreg/nlreturn",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.30.0",
+ "name": "nlreturn",
+ "desc": "nlreturn checks for a new line before return and branch statements to increase code clarity"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "performance",
+ "bugs"
+ ],
+ "originalURL": "https://github.com/sonatard/noctx",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.28.0",
+ "name": "noctx",
+ "desc": "Finds sending http request without context.Context"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/firefart/nonamedreturns",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.46.0",
+ "name": "nonamedreturns",
+ "desc": "Reports all named returns"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/sivchari/nosnakecase",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.47.0",
+ "deprecation": {
+ "since": "v1.48.1",
+ "message": "The repository of the linter has been deprecated by the owner.",
+ "replacement": "revive(var-naming)"
+ },
+ "name": "nosnakecase",
+ "desc": "nosnakecase is a linter that detects snake case of variable naming and function name."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/stbenjam/no-sprintf-host-port",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.46.0",
+ "name": "nosprintfhostport",
+ "desc": "Checks for misuse of Sprintf to construct a host with port in a URL."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "test"
+ ],
+ "originalURL": "https://github.com/kunwardeep/paralleltest",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.33.0",
+ "name": "paralleltest",
+ "desc": "Detects missing usage of t.Parallel() method in your Go test"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "performance"
+ ],
+ "originalURL": "https://github.com/catenacyber/perfsprint",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.55.0",
+ "name": "perfsprint",
+ "desc": "Checks that fmt.Sprintf can be replaced with a faster alternative."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "performance"
+ ],
+ "originalURL": "https://github.com/alexkohler/prealloc",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.19.0",
+ "name": "prealloc",
+ "desc": "Finds slice declarations that could potentially be pre-allocated"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/nishanths/predeclared",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.35.0",
+ "name": "predeclared",
+ "desc": "find code that shadows one of Go's predeclared identifiers"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/yeya24/promlinter",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.40.0",
+ "name": "promlinter",
+ "desc": "Check Prometheus metrics naming via promlint"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/ghostiam/protogetter",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": true,
+ "since": "v1.55.0",
+ "name": "protogetter",
+ "desc": "Reports direct reads from proto message fields when getters should be used"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/curioswitch/go-reassign",
+ "internal": false,
+ "isSlow": true,
+ "since": "1.49.0",
+ "name": "reassign",
+ "desc": "Checks that package variables are not reassigned"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "metalinter"
+ ],
+ "originalURL": "https://github.com/mgechev/revive",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.37.0",
+ "name": "revive",
+ "desc": "Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs",
+ "sql"
+ ],
+ "originalURL": "https://github.com/jingyugao/rowserrcheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.23.0",
+ "name": "rowserrcheck",
+ "desc": "checks whether Rows.Err of rows is checked successfully"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "format"
+ ],
+ "originalURL": "https://github.com/go-simpler/sloglint",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.55.0",
+ "name": "sloglint",
+ "desc": "ensure consistent code style when using log/slog"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/kyoh86/scopelint",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.12.0",
+ "deprecation": {
+ "since": "v1.39.0",
+ "message": "The repository of the linter has been deprecated by the owner.",
+ "replacement": "exportloopref"
+ },
+ "name": "scopelint",
+ "desc": "Scopelint checks for unpinned variables in go programs"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs",
+ "sql"
+ ],
+ "originalURL": "https://github.com/ryanrolds/sqlclosecheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.28.0",
+ "name": "sqlclosecheck",
+ "desc": "Checks that sql.Rows, sql.Stmt, sqlx.NamedStmt, pgx.Query are closed."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/jjti/go-spancheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.56.0",
+ "name": "spancheck",
+ "desc": "Checks for mistakes with OpenTelemetry/Census spans."
+ },
+ {
+ "linter": {},
+ "enabledByDefault": true,
+ "loadMode": 575,
+ "inPresets": [
+ "bugs",
+ "metalinter"
+ ],
+ "alternativeNames": [
+ "megacheck"
+ ],
+ "originalURL": "https://staticcheck.io/",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "name": "staticcheck",
+ "desc": "It's a set of rules from staticcheck. It's not the same thing as the staticcheck binary. The author of staticcheck doesn't support or approve the use of staticcheck as a library inside golangci-lint."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "unused"
+ ],
+ "originalURL": "https://github.com/opennota/check",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "deprecation": {
+ "since": "v1.49.0",
+ "message": "The owner seems to have abandoned the linter.",
+ "replacement": "unused"
+ },
+ "name": "structcheck",
+ "desc": "Finds unused struct fields"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/dominikh/go-tools/tree/master/stylecheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.20.0",
+ "name": "stylecheck",
+ "desc": "Stylecheck is a replacement for golint"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "format"
+ ],
+ "originalURL": "https://github.com/4meepo/tagalign",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "v1.53.0",
+ "name": "tagalign",
+ "desc": "check that struct tags are well aligned"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/ldez/tagliatelle",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.40.0",
+ "name": "tagliatelle",
+ "desc": "Checks the struct tags."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/sivchari/tenv",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.43.0",
+ "name": "tenv",
+ "desc": "tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "test"
+ ],
+ "originalURL": "https://github.com/maratori/testableexamples",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.50.0",
+ "name": "testableexamples",
+ "desc": "linter checks if examples are testable (have an expected output)"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "test",
+ "bugs"
+ ],
+ "originalURL": "https://github.com/Antonboom/testifylint",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.55.0",
+ "name": "testifylint",
+ "desc": "Checks usage of github.com/stretchr/testify."
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style",
+ "test"
+ ],
+ "originalURL": "https://github.com/maratori/testpackage",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.25.0",
+ "name": "testpackage",
+ "desc": "linter that makes you use a separate _test package"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/kulti/thelper",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.34.0",
+ "name": "thelper",
+ "desc": "thelper detects tests helpers which is not start with t.Helper() method."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "test"
+ ],
+ "originalURL": "https://github.com/moricho/tparallel",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.32.0",
+ "name": "tparallel",
+ "desc": "tparallel detects inappropriate usage of t.Parallel() method in your Go test codes."
+ },
+ {
+ "linter": {},
+ "enabledByDefault": true,
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "internal": true,
+ "isSlow": true,
+ "since": "v1.3.0",
+ "name": "typecheck",
+ "desc": "Like the front-end of a Go compiler, parses and type-checks Go code"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/mdempsky/unconvert",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "name": "unconvert",
+ "desc": "Remove unnecessary type conversions"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "unused"
+ ],
+ "originalURL": "https://github.com/mvdan/unparam",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.9.0",
+ "name": "unparam",
+ "desc": "Reports unused function parameters"
+ },
+ {
+ "linter": {},
+ "enabledByDefault": true,
+ "loadMode": 575,
+ "inPresets": [
+ "unused"
+ ],
+ "alternativeNames": [
+ "megacheck"
+ ],
+ "originalURL": "https://github.com/dominikh/go-tools/tree/master/unused",
+ "internal": false,
+ "isSlow": true,
+ "doesChangeTypes": true,
+ "since": "v1.20.0",
+ "name": "unused",
+ "desc": "Checks Go code for unused constants, variables, functions and types"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/sashamelentyev/usestdlibvars",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.48.0",
+ "name": "usestdlibvars",
+ "desc": "A linter that detect the possibility to use variables/constants from the Go standard library."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "unused"
+ ],
+ "originalURL": "https://github.com/opennota/check",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.0.0",
+ "deprecation": {
+ "since": "v1.49.0",
+ "message": "The owner seems to have abandoned the linter.",
+ "replacement": "unused"
+ },
+ "name": "varcheck",
+ "desc": "Finds unused global variables and constants"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/blizzy78/varnamelen",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.43.0",
+ "name": "varnamelen",
+ "desc": "checks that the length of a variable's name matches its scope"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/sanposhiho/wastedassign",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.38.0",
+ "name": "wastedassign",
+ "desc": "Finds wasted assignment statements"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/ultraware/whitespace",
+ "internal": false,
+ "canAutoFix": true,
+ "isSlow": false,
+ "since": "v1.19.0",
+ "name": "whitespace",
+ "desc": "Whitespace is a linter that checks for unnecessary newlines at the start and end of functions, if, for, etc."
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "style",
+ "error"
+ ],
+ "originalURL": "https://github.com/tomarrell/wrapcheck",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.32.0",
+ "name": "wrapcheck",
+ "desc": "Checks that errors returned from external packages are wrapped"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/bombsimon/wsl",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.20.0",
+ "name": "wsl",
+ "desc": "add or remove empty lines"
+ },
+ {
+ "linter": {},
+ "loadMode": 575,
+ "inPresets": [
+ "bugs"
+ ],
+ "originalURL": "https://github.com/ykadowak/zerologlint",
+ "internal": false,
+ "isSlow": true,
+ "since": "v1.53.0",
+ "name": "zerologlint",
+ "desc": "Detects the wrong usage of `zerolog` that a user forgets to dispatch with `Send` or `Msg`"
+ },
+ {
+ "linter": {},
+ "loadMode": 7,
+ "inPresets": [
+ "style"
+ ],
+ "originalURL": "https://github.com/golangci/golangci-lint/blob/master/pkg/golinters/nolintlint/README.md",
+ "internal": false,
+ "isSlow": false,
+ "since": "v1.26.0",
+ "name": "nolintlint",
+ "desc": "Reports ill-formed or insufficient nolint directives"
+ }
+]
diff --git a/build/Dockerfile b/build/Dockerfile
deleted file mode 100644
index 3488446b7c71..000000000000
--- a/build/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-# stage 1 building the code
-FROM golang:1.20 as builder
-
-ARG VERSION
-ARG SHORT_COMMIT
-ARG DATE
-
-COPY / /golangci
-WORKDIR /golangci
-RUN CGO_ENABLED=0 go build -trimpath -ldflags "-s -w -X main.version=$VERSION -X main.commit=$SHORT_COMMIT -X main.date=$DATE" -o golangci-lint ./cmd/golangci-lint/main.go
-
-# stage 2
-FROM golang:1.20
-# related to https://github.com/golangci/golangci-lint/issues/3107
-ENV GOROOT /usr/local/go
-# don't place it into $GOPATH/bin because Drone mounts $GOPATH as volume
-COPY --from=builder /golangci/golangci-lint /usr/bin/
-CMD ["golangci-lint"]
diff --git a/build/alpine.Dockerfile b/build/alpine.Dockerfile
deleted file mode 100644
index 5eeb76228de2..000000000000
--- a/build/alpine.Dockerfile
+++ /dev/null
@@ -1,27 +0,0 @@
-# stage 1 building the code
-FROM golang:1.20-alpine as builder
-
-ARG VERSION
-ARG SHORT_COMMIT
-ARG DATE
-
-COPY / /golangci
-WORKDIR /golangci
-
-# gcc is required to support cgo;
-# git and mercurial are needed most times for go get`, etc.
-# See https://github.com/docker-library/golang/issues/80
-RUN apk --no-cache add gcc musl-dev git mercurial
-RUN CGO_ENABLED=0 go build -trimpath -ldflags "-s -w -X main.version=$VERSION -X main.commit=$SHORT_COMMIT -X main.date=$DATE" -o golangci-lint ./cmd/golangci-lint/main.go
-
-# stage 2
-FROM golang:1.20-alpine
-# related to https://github.com/golangci/golangci-lint/issues/3107
-ENV GOROOT /usr/local/go
-# gcc is required to support cgo;
-# git and mercurial are needed most times for go get`, etc.
-# See https://github.com/docker-library/golang/issues/80
-RUN apk --no-cache add gcc musl-dev git mercurial
-# don't place it into $GOPATH/bin because Drone mounts $GOPATH as volume
-COPY --from=builder /golangci/golangci-lint /usr/bin/
-CMD ["golangci-lint"]
diff --git a/build/buildx-alpine.Dockerfile b/build/buildx-alpine.Dockerfile
new file mode 100644
index 000000000000..e0e426cb17dc
--- /dev/null
+++ b/build/buildx-alpine.Dockerfile
@@ -0,0 +1,16 @@
+# syntax=docker/dockerfile:1.4
+FROM golang:1.22-alpine
+
+# related to https://github.com/golangci/golangci-lint/issues/3107
+ENV GOROOT /usr/local/go
+
+# gcc is required to support cgo;
+# git and mercurial are needed most times for go get`, etc.
+# See https://github.com/docker-library/golang/issues/80
+RUN apk --no-cache add gcc musl-dev git mercurial
+
+# Set all directories as safe
+RUN git config --global --add safe.directory '*'
+
+COPY golangci-lint /usr/bin/
+CMD ["golangci-lint"]
diff --git a/build/buildx.Dockerfile b/build/buildx.Dockerfile
new file mode 100644
index 000000000000..0e585067f2d1
--- /dev/null
+++ b/build/buildx.Dockerfile
@@ -0,0 +1,11 @@
+# syntax=docker/dockerfile:1.4
+FROM golang:1.22
+
+# related to https://github.com/golangci/golangci-lint/issues/3107
+ENV GOROOT /usr/local/go
+
+# Set all directories as safe
+RUN git config --global --add safe.directory '*'
+
+COPY golangci-lint /usr/bin/
+CMD ["golangci-lint"]
diff --git a/cmd/golangci-lint/main.go b/cmd/golangci-lint/main.go
index 282d794b8209..413e071d65f2 100644
--- a/cmd/golangci-lint/main.go
+++ b/cmd/golangci-lint/main.go
@@ -3,23 +3,79 @@ package main
import (
"fmt"
"os"
+ "runtime/debug"
"github.com/golangci/golangci-lint/pkg/commands"
"github.com/golangci/golangci-lint/pkg/exitcodes"
)
var (
+ goVersion = "unknown"
+
// Populated by goreleaser during build
- version = "master"
+ version = "unknown"
commit = "?"
date = ""
)
func main() {
- e := commands.NewExecutor(version, commit, date)
+ info := createBuildInfo()
- if err := e.Execute(); err != nil {
- fmt.Fprintf(os.Stderr, "failed executing command with error %v\n", err)
+ if err := commands.Execute(info); err != nil {
+ _, _ = fmt.Fprintf(os.Stderr, "Failed executing command with error: %v\n", err)
os.Exit(exitcodes.Failure)
}
}
+
+func createBuildInfo() commands.BuildInfo {
+ info := commands.BuildInfo{
+ Commit: commit,
+ Version: version,
+ GoVersion: goVersion,
+ Date: date,
+ }
+
+ buildInfo, available := debug.ReadBuildInfo()
+ if !available {
+ return info
+ }
+
+ info.GoVersion = buildInfo.GoVersion
+
+ if date != "" {
+ return info
+ }
+
+ info.Version = buildInfo.Main.Version
+
+ var revision string
+ var modified string
+ for _, setting := range buildInfo.Settings {
+ // The `vcs.xxx` information is only available with `go build`.
+ // This information is not available with `go install` or `go run`.
+ switch setting.Key {
+ case "vcs.time":
+ info.Date = setting.Value
+ case "vcs.revision":
+ revision = setting.Value
+ case "vcs.modified":
+ modified = setting.Value
+ }
+ }
+
+ if revision == "" {
+ revision = "unknown"
+ }
+
+ if modified == "" {
+ modified = "?"
+ }
+
+ if info.Date == "" {
+ info.Date = "(unknown)"
+ }
+
+ info.Commit = fmt.Sprintf("(%s, modified: %s, mod sum: %q)", revision, modified, buildInfo.Main.Sum)
+
+ return info
+}
diff --git a/cmd/golangci-lint/mod_version.go b/cmd/golangci-lint/mod_version.go
deleted file mode 100644
index 119a8a60dbb6..000000000000
--- a/cmd/golangci-lint/mod_version.go
+++ /dev/null
@@ -1,17 +0,0 @@
-package main
-
-import (
- "fmt"
- "runtime/debug"
-)
-
-//nolint:gochecknoinits
-func init() {
- if info, available := debug.ReadBuildInfo(); available {
- if date == "" {
- version = info.Main.Version
- commit = fmt.Sprintf("(unknown, mod sum: %q)", info.Main.Sum)
- date = "(unknown)"
- }
- }
-}
diff --git a/cmd/golangci-lint/plugins.go b/cmd/golangci-lint/plugins.go
new file mode 100644
index 000000000000..541ff7624271
--- /dev/null
+++ b/cmd/golangci-lint/plugins.go
@@ -0,0 +1,3 @@
+package main
+
+// This file is used to declare module plugins.
diff --git a/docs/.gitignore b/docs/.gitignore
index f81327511eeb..2433561c61cd 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -67,3 +67,5 @@ yarn-error.log
.pnp.js
# Yarn Integrity file
.yarn-integrity
+
+/static/jsonschema/
diff --git a/docs/gatsby-node.js b/docs/gatsby-node.js
index d971b6a72dfc..ab45dd5ac465 100644
--- a/docs/gatsby-node.js
+++ b/docs/gatsby-node.js
@@ -165,7 +165,7 @@ exports.onPreBootstrap = ({ store, reporter }, themeOptions) => {
dirs.forEach((dir) => {
if (!fs.existsSync(dir)) {
- reporter.success(`docs: intialized the ${dir} directory`);
+ reporter.success(`docs: initialized the ${dir} directory`);
fs.mkdirSync(dir);
}
});
diff --git a/docs/package-lock.json b/docs/package-lock.json
index 5e528327ab4b..ab9836ffc77e 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -9,11 +9,11 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
- "@emotion/react": "^11.10.4",
+ "@emotion/react": "^11.11.0",
"@emotion/styled": "^11.10.0",
"@mdx-js/mdx": "^1.6.22",
"@mdx-js/react": "^1.6.16",
- "gatsby": "^4.25.0",
+ "gatsby": "^4.25.7",
"gatsby-alias-imports": "^1.0.6",
"gatsby-plugin-canonical-urls": "^4.25.0",
"gatsby-plugin-catch-links": "^4.21.0",
@@ -25,20 +25,20 @@
"gatsby-plugin-react-helmet": "^5.21.0",
"gatsby-plugin-react-svg": "^3.1.0",
"gatsby-plugin-robots-txt": "^1.7.1",
- "gatsby-plugin-sharp": "^4.24.0",
+ "gatsby-plugin-sharp": "^4.25.1",
"gatsby-plugin-sitemap": "^5.24.0",
"gatsby-remark-autolink-headers": "^5.24.0",
"gatsby-remark-copy-linked-files": "^5.24.0",
"gatsby-remark-external-links": "^0.0.4",
"gatsby-remark-images": "^6.25.0",
"gatsby-remark-mermaid": "^2.1.0",
- "gatsby-remark-responsive-iframe": "^5.24.0",
+ "gatsby-remark-responsive-iframe": "^5.25.0",
"gatsby-source-filesystem": "^4.22.0",
"gatsby-transformer-remark": "^5.25.1",
"gatsby-transformer-sharp": "^4.21.0",
- "gatsby-transformer-yaml": "^4.21.0",
+ "gatsby-transformer-yaml": "^4.25.0",
"polished": "^4.2.2",
- "postcss": "^8.4.20",
+ "postcss": "^8.4.31",
"prism-react-renderer": "^1.3.5",
"prop-types": "^15.8.1",
"puppeteer": "^13.7.0",
@@ -55,11 +55,12 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
- "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "version": "7.22.13",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
+ "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
"dependencies": {
- "@babel/highlight": "^7.18.6"
+ "@babel/highlight": "^7.22.13",
+ "chalk": "^2.4.2"
},
"engines": {
"node": ">=6.9.0"
@@ -103,9 +104,9 @@
}
},
"node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -136,20 +137,21 @@
}
},
"node_modules/@babel/eslint-parser/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/@babel/generator": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz",
- "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
+ "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
"dependencies": {
- "@babel/types": "^7.20.5",
+ "@babel/types": "^7.23.0",
"@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
},
"engines": {
@@ -197,9 +199,9 @@
}
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -263,17 +265,17 @@
"integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ=="
},
"node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
"engines": {
"node": ">=6.9.0"
}
@@ -290,23 +292,23 @@
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
- "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"dependencies": {
- "@babel/template": "^7.18.10",
- "@babel/types": "^7.19.0"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
- "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -419,28 +421,28 @@
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
- "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
+ "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
"engines": {
"node": ">=6.9.0"
}
@@ -481,12 +483,12 @@
}
},
"node_modules/@babel/highlight": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
- "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
+ "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.18.6",
- "chalk": "^2.0.0",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
"js-tokens": "^4.0.0"
},
"engines": {
@@ -494,9 +496,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz",
- "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
+ "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -1855,9 +1857,9 @@
}
},
"node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -2155,9 +2157,9 @@
}
},
"node_modules/@babel/preset-env/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -2252,31 +2254,31 @@
}
},
"node_modules/@babel/template": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
- "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
"dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/parser": "^7.18.10",
- "@babel/types": "^7.18.10"
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz",
- "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==",
- "dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.20.5",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/parser": "^7.20.5",
- "@babel/types": "^7.20.5",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
+ "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.0",
+ "@babel/types": "^7.23.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -2285,12 +2287,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz",
- "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
+ "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
- "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/helper-string-parser": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -2311,25 +2313,21 @@
}
},
"node_modules/@emotion/babel-plugin": {
- "version": "11.10.2",
- "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz",
- "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==",
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz",
+ "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==",
"dependencies": {
"@babel/helper-module-imports": "^7.16.7",
- "@babel/plugin-syntax-jsx": "^7.17.12",
"@babel/runtime": "^7.18.3",
- "@emotion/hash": "^0.9.0",
- "@emotion/memoize": "^0.8.0",
- "@emotion/serialize": "^1.1.0",
+ "@emotion/hash": "^0.9.1",
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/serialize": "^1.1.2",
"babel-plugin-macros": "^3.1.0",
"convert-source-map": "^1.5.0",
"escape-string-regexp": "^4.0.0",
"find-root": "^1.1.0",
"source-map": "^0.5.7",
- "stylis": "4.0.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "stylis": "4.2.0"
}
},
"node_modules/@emotion/babel-plugin-jsx-pragmatic": {
@@ -2369,21 +2367,21 @@
}
},
"node_modules/@emotion/cache": {
- "version": "11.10.3",
- "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz",
- "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==",
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz",
+ "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==",
"dependencies": {
- "@emotion/memoize": "^0.8.0",
- "@emotion/sheet": "^1.2.0",
- "@emotion/utils": "^1.2.0",
- "@emotion/weak-memoize": "^0.3.0",
- "stylis": "4.0.13"
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/sheet": "^1.2.2",
+ "@emotion/utils": "^1.2.1",
+ "@emotion/weak-memoize": "^0.3.1",
+ "stylis": "4.2.0"
}
},
"node_modules/@emotion/hash": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz",
- "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ=="
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz",
+ "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ=="
},
"node_modules/@emotion/is-prop-valid": {
"version": "1.2.0",
@@ -2394,53 +2392,49 @@
}
},
"node_modules/@emotion/memoize": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
- "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
},
"node_modules/@emotion/react": {
- "version": "11.10.4",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz",
- "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==",
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.0.tgz",
+ "integrity": "sha512-ZSK3ZJsNkwfjT3JpDAWJZlrGD81Z3ytNDsxw1LKq1o+xkmO5pnWfr6gmCC8gHEFf3nSSX/09YrG67jybNPxSUw==",
"dependencies": {
"@babel/runtime": "^7.18.3",
- "@emotion/babel-plugin": "^11.10.0",
- "@emotion/cache": "^11.10.0",
- "@emotion/serialize": "^1.1.0",
- "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
- "@emotion/utils": "^1.2.0",
- "@emotion/weak-memoize": "^0.3.0",
+ "@emotion/babel-plugin": "^11.11.0",
+ "@emotion/cache": "^11.11.0",
+ "@emotion/serialize": "^1.1.2",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@emotion/utils": "^1.2.1",
+ "@emotion/weak-memoize": "^0.3.1",
"hoist-non-react-statics": "^3.3.1"
},
"peerDependencies": {
- "@babel/core": "^7.0.0",
"react": ">=16.8.0"
},
"peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
"@types/react": {
"optional": true
}
}
},
"node_modules/@emotion/serialize": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz",
- "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz",
+ "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==",
"dependencies": {
- "@emotion/hash": "^0.9.0",
- "@emotion/memoize": "^0.8.0",
- "@emotion/unitless": "^0.8.0",
- "@emotion/utils": "^1.2.0",
+ "@emotion/hash": "^0.9.1",
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/unitless": "^0.8.1",
+ "@emotion/utils": "^1.2.1",
"csstype": "^3.0.2"
}
},
"node_modules/@emotion/sheet": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz",
- "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w=="
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz",
+ "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA=="
},
"node_modules/@emotion/styled": {
"version": "11.10.0",
@@ -2468,27 +2462,27 @@
}
},
"node_modules/@emotion/unitless": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz",
- "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw=="
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
+ "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
},
"node_modules/@emotion/use-insertion-effect-with-fallbacks": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz",
- "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz",
+ "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==",
"peerDependencies": {
"react": ">=16.8.0"
}
},
"node_modules/@emotion/utils": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz",
- "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz",
+ "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg=="
},
"node_modules/@emotion/weak-memoize": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz",
- "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg=="
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz",
+ "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww=="
},
"node_modules/@eslint/eslintrc": {
"version": "0.4.3",
@@ -3028,12 +3022,12 @@
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
- "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+ "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
"dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@lezer/common": {
@@ -3236,6 +3230,78 @@
"node": ">=12.0.0"
}
},
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz",
+ "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz",
+ "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz",
+ "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz",
+ "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz",
+ "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz",
+ "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -4232,6 +4298,11 @@
"node": ">=8"
}
},
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
"node_modules/@swc/helpers": {
"version": "0.4.14",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
@@ -4301,11 +4372,6 @@
"resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.1.tgz",
"integrity": "sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg=="
},
- "node_modules/@types/component-emitter": {
- "version": "1.2.11",
- "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
- "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
- },
"node_modules/@types/configstore": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz",
@@ -4317,9 +4383,12 @@
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
},
"node_modules/@types/cors": {
- "version": "2.8.12",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
- "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ "version": "2.8.13",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
+ "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "dependencies": {
+ "@types/node": "*"
+ }
},
"node_modules/@types/debug": {
"version": "0.0.30",
@@ -4345,9 +4414,9 @@
}
},
"node_modules/@types/estree": {
- "version": "0.0.50",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
- "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw=="
+ "version": "0.0.51",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
+ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
},
"node_modules/@types/get-port": {
"version": "3.2.0",
@@ -4597,9 +4666,9 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -4714,9 +4783,9 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -5446,9 +5515,9 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -5576,11 +5645,6 @@
"babylon": "bin/babylon.js"
}
},
- "node_modules/backo2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
- "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
- },
"node_modules/bail": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
@@ -5599,14 +5663,6 @@
"safe-buffer": "^5.0.1"
}
},
- "node_modules/base64-arraybuffer": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
- "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
"node_modules/base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
@@ -6831,11 +6887,6 @@
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
},
- "node_modules/component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
- },
"node_modules/compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -7229,9 +7280,9 @@
}
},
"node_modules/css-loader/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -8680,54 +8731,49 @@
}
},
"node_modules/engine.io": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.2.tgz",
- "integrity": "sha512-t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
+ "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
"dependencies": {
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "2.0.0",
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
- "engine.io-parser": "~4.0.0",
- "ws": "~7.4.2"
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/engine.io-client": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.4.tgz",
- "integrity": "sha512-843fqAdKeUMFqKi1sSjnR11tJ4wi8sIefu6+JC1OzkkJBmjtc/gM/rZ53tJfu5Iae/3gApm5veoS+v+gtT0+Fg==",
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
"dependencies": {
- "base64-arraybuffer": "0.1.4",
- "component-emitter": "~1.3.0",
+ "@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
- "engine.io-parser": "~4.0.1",
- "has-cors": "1.1.0",
- "parseqs": "0.0.6",
- "parseuri": "0.0.6",
- "ws": "~7.4.2",
- "xmlhttprequest-ssl": "~1.6.2",
- "yeast": "0.1.2"
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
}
},
"node_modules/engine.io-parser": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
- "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
- "dependencies": {
- "base64-arraybuffer": "0.1.4"
- },
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.7.tgz",
+ "integrity": "sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ==",
"engines": {
- "node": ">=8.0.0"
+ "node": ">=10.0.0"
}
},
"node_modules/enhanced-resolve": {
- "version": "5.8.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz",
- "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
+ "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
"dependencies": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@@ -8855,20 +8901,20 @@
}
},
"node_modules/es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "version": "0.10.63",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.63.tgz",
+ "integrity": "sha512-hUCZd2Byj/mNKjfP9jXrdVZ62B8KuA/VoK7X8nUh5qT+AxDmcbvZz041oDVZdbIN1qW6XY9VDNwzkvKnZvK2TQ==",
+ "hasInstallScript": true,
"dependencies": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
+ "next-tick": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
}
},
- "node_modules/es5-ext/node_modules/next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
- },
"node_modules/es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
@@ -9227,9 +9273,9 @@
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
"node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -9296,9 +9342,9 @@
}
},
"node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -9578,9 +9624,9 @@
}
},
"node_modules/eslint/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -9646,6 +9692,25 @@
"node": ">= 8"
}
},
+ "node_modules/esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "dependencies": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esniff/node_modules/type": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+ "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
+ },
"node_modules/espree": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
@@ -10401,9 +10466,9 @@
"integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg=="
},
"node_modules/follow-redirects": {
- "version": "1.14.8",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz",
- "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==",
+ "version": "1.15.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"funding": [
{
"type": "individual",
@@ -10553,9 +10618,9 @@
}
},
"node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -10695,9 +10760,9 @@
}
},
"node_modules/gatsby": {
- "version": "4.25.0",
- "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-4.25.0.tgz",
- "integrity": "sha512-zR/u0X60Ww250XqHGytAVFDfFJUpDzMnbPHQ7uAqr6zLgU03DBKyjqKiRpFsGx7L7ENj61hdorjz12IiNj6DIw==",
+ "version": "4.25.7",
+ "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-4.25.7.tgz",
+ "integrity": "sha512-kspM1XokxDw2YqC2hkPKQTfWSNSq/AnY8PNYSrUM+MCsyIKFuGqSVchNonZN1g8/nCoh4jQpBYXH5Uw2Hrs6Sw==",
"hasInstallScript": true,
"dependencies": {
"@babel/code-frame": "^7.14.0",
@@ -10786,7 +10851,7 @@
"gatsby-legacy-polyfills": "^2.25.0",
"gatsby-link": "^4.25.0",
"gatsby-page-utils": "^2.25.0",
- "gatsby-parcel-config": "^0.16.0",
+ "gatsby-parcel-config": "0.16.0",
"gatsby-plugin-page-creator": "^4.25.0",
"gatsby-plugin-typescript": "^4.25.0",
"gatsby-plugin-utils": "^3.19.0",
@@ -10845,8 +10910,8 @@
"shallow-compare": "^1.2.2",
"signal-exit": "^3.0.5",
"slugify": "^1.6.1",
- "socket.io": "3.1.2",
- "socket.io-client": "3.1.3",
+ "socket.io": "4.5.4",
+ "socket.io-client": "4.5.4",
"st": "^2.0.0",
"stack-trace": "^0.0.10",
"string-similarity": "^1.2.2",
@@ -10864,7 +10929,7 @@
"webpack-stats-plugin": "^1.0.3",
"webpack-virtual-modules": "^0.3.2",
"xstate": "4.32.1",
- "yaml-loader": "^0.6.0"
+ "yaml-loader": "^0.8.0"
},
"bin": {
"gatsby": "cli.js"
@@ -11038,9 +11103,9 @@
}
},
"node_modules/gatsby-cli/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -11320,9 +11385,9 @@
}
},
"node_modules/gatsby-plugin-manifest/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -11817,25 +11882,22 @@
}
},
"node_modules/gatsby-plugin-sharp": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.24.0.tgz",
- "integrity": "sha512-wVs8F9zLeiLf02yLi8vjse1vqSrZsx2u3RsMhoSv1bEinyaI5bcoLZ7mMJCsEeZe2G9mvNrPi4Ymhh/YzgxYCg==",
+ "version": "4.25.1",
+ "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.25.1.tgz",
+ "integrity": "sha512-cGRb8lmwJkzwT1Qze0R+VL+55BIb9weM17m+dUf6gs5Z++lQltqge+L8a1qWWsGL6KfLQN7+bIqjhmTTscIPMQ==",
"dependencies": {
"@babel/runtime": "^7.15.4",
- "@gatsbyjs/potrace": "^2.3.0",
"async": "^3.2.4",
"bluebird": "^3.7.2",
"debug": "^4.3.4",
"filenamify": "^4.3.0",
"fs-extra": "^10.1.0",
- "gatsby-core-utils": "^3.24.0",
- "gatsby-plugin-utils": "^3.18.0",
+ "gatsby-core-utils": "^3.25.0",
+ "gatsby-plugin-utils": "^3.19.0",
"lodash": "^4.17.21",
- "mini-svg-data-uri": "^1.4.4",
"probe-image-size": "^7.2.3",
"semver": "^7.3.7",
- "sharp": "^0.30.7",
- "svgo": "^2.8.0"
+ "sharp": "^0.30.7"
},
"engines": {
"node": ">=14.15.0"
@@ -11874,9 +11936,9 @@
}
},
"node_modules/gatsby-plugin-sharp/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -12483,9 +12545,9 @@
}
},
"node_modules/gatsby-remark-responsive-iframe": {
- "version": "5.24.0",
- "resolved": "https://registry.npmjs.org/gatsby-remark-responsive-iframe/-/gatsby-remark-responsive-iframe-5.24.0.tgz",
- "integrity": "sha512-gfLeeRol5Y35vuSxwVr9nRwGylZQmty4BmwzFJJkUwdUa0lI1P8X0Nhu9OY4WEnzLF4aeTMDUECnfsVzXi0/Tw==",
+ "version": "5.25.0",
+ "resolved": "https://registry.npmjs.org/gatsby-remark-responsive-iframe/-/gatsby-remark-responsive-iframe-5.25.0.tgz",
+ "integrity": "sha512-K2a0k0Q2umJA1lDtSoq3MM4QB1OGdAMSIbFtS/P9dXjg8rHDvnZGach6iDB8dF3fpjpl7LH3tr/DYAZBPHTqog==",
"dependencies": {
"@babel/runtime": "^7.15.4",
"cheerio": "^1.0.0-rc.10",
@@ -13052,9 +13114,9 @@
}
},
"node_modules/gatsby-transformer-sharp/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -13074,9 +13136,9 @@
}
},
"node_modules/gatsby-transformer-yaml": {
- "version": "4.21.0",
- "resolved": "https://registry.npmjs.org/gatsby-transformer-yaml/-/gatsby-transformer-yaml-4.21.0.tgz",
- "integrity": "sha512-zq1ZDhGLZvPjCckz1jyBQqYU8Dj1dr0BCHGoZK4s/HmKVjoP2PCTbEGvUOXJv/3rzcZ4TPZczLC9McpLFhtRvA==",
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/gatsby-transformer-yaml/-/gatsby-transformer-yaml-4.25.0.tgz",
+ "integrity": "sha512-upmV5yAqvyDE7WvpMtG0LWlTLHk1lFivP82iL9iwKHRf/bn21iAafiFADyh0RCENnXbK0xxY4mM8UDvAXu3v3g==",
"dependencies": {
"@babel/runtime": "^7.15.4",
"js-yaml": "^3.14.1",
@@ -13476,9 +13538,9 @@
}
},
"node_modules/gatsby/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -14088,11 +14150,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
- },
"node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -15276,6 +15333,11 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
+ "node_modules/javascript-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
+ "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg=="
+ },
"node_modules/jest-worker": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
@@ -15381,6 +15443,11 @@
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
},
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -15834,9 +15901,9 @@
}
},
"node_modules/make-dir/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -16962,14 +17029,6 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
- "bin": {
- "mini-svg-data-uri": "cli.js"
- }
- },
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -17055,22 +17114,43 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/msgpackr": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.4.tgz",
- "integrity": "sha512-Z7w5Jg+2Q9z9gJxeM68d7tSuWZZGnFIRhZnyqcZCa/1dKkhOCNvR1TUV3zzJ3+vj78vlwKRzUgVDlW4jiSOeDA==",
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.10.1.tgz",
+ "integrity": "sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ==",
"optionalDependencies": {
- "msgpackr-extract": "^1.0.14"
+ "msgpackr-extract": "^3.0.2"
}
},
"node_modules/msgpackr-extract": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz",
- "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz",
+ "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==",
"hasInstallScript": true,
"optional": true,
"dependencies": {
- "nan": "^2.14.2",
- "node-gyp-build": "^4.2.3"
+ "node-gyp-build-optional-packages": "5.0.7"
+ },
+ "bin": {
+ "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
+ },
+ "optionalDependencies": {
+ "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2"
+ }
+ },
+ "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz",
+ "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==",
+ "optional": true,
+ "bin": {
+ "node-gyp-build-optional-packages": "bin.js",
+ "node-gyp-build-optional-packages-optional": "optional.js",
+ "node-gyp-build-optional-packages-test": "build-test.js"
}
},
"node_modules/multer": {
@@ -17105,16 +17185,16 @@
"thenify-all": "^1.0.0"
}
},
- "node_modules/nan": {
- "version": "2.15.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
- "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
- "optional": true
- },
"node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -17204,9 +17284,9 @@
}
},
"node_modules/node-abi/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -17815,9 +17895,9 @@
}
},
"node_modules/package-json/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -17936,16 +18016,6 @@
"parse5": "^6.0.1"
}
},
- "node_modules/parseqs": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
- "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w=="
- },
- "node_modules/parseuri": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz",
- "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow=="
- },
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -18200,9 +18270,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.20",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
- "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"funding": [
{
"type": "opencollective",
@@ -18211,10 +18281,14 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@@ -18259,9 +18333,9 @@
}
},
"node_modules/postcss-loader/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -20216,9 +20290,9 @@
}
},
"node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"bin": {
"semver": "bin/semver"
}
@@ -20235,9 +20309,9 @@
}
},
"node_modules/semver-diff/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -20408,9 +20482,9 @@
}
},
"node_modules/sharp/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -20648,53 +20722,46 @@
}
},
"node_modules/socket.io": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz",
- "integrity": "sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz",
+ "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==",
"dependencies": {
- "@types/cookie": "^0.4.0",
- "@types/cors": "^2.8.8",
- "@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "~2.0.0",
- "debug": "~4.3.1",
- "engine.io": "~4.1.0",
- "socket.io-adapter": "~2.1.0",
- "socket.io-parser": "~4.0.3"
+ "debug": "~4.3.2",
+ "engine.io": "~6.2.1",
+ "socket.io-adapter": "~2.4.0",
+ "socket.io-parser": "~4.2.1"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/socket.io-adapter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz",
- "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg=="
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
},
"node_modules/socket.io-client": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.3.tgz",
- "integrity": "sha512-4sIGOGOmCg3AOgGi7EEr6ZkTZRkrXwub70bBB/F0JSkMOUFpA77WsL87o34DffQQ31PkbMUIadGOk+3tx1KGbw==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.4.tgz",
+ "integrity": "sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==",
"dependencies": {
- "@types/component-emitter": "^1.2.10",
- "backo2": "~1.0.2",
- "component-emitter": "~1.3.0",
- "debug": "~4.3.1",
- "engine.io-client": "~4.1.0",
- "parseuri": "0.0.6",
- "socket.io-parser": "~4.0.4"
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.1"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/socket.io-parser": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
- "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
+ "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"dependencies": {
- "@types/component-emitter": "^1.2.10",
- "component-emitter": "~1.3.0",
+ "@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1"
},
"engines": {
@@ -21193,9 +21260,9 @@
}
},
"node_modules/stylis": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz",
- "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag=="
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
+ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
},
"node_modules/sucrase": {
"version": "3.21.0",
@@ -22520,9 +22587,9 @@
}
},
"node_modules/update-notifier/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -22755,9 +22822,9 @@
}
},
"node_modules/watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dependencies": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
@@ -22787,33 +22854,33 @@
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"node_modules/webpack": {
- "version": "5.68.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.68.0.tgz",
- "integrity": "sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g==",
+ "version": "5.76.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz",
+ "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==",
"dependencies": {
- "@types/eslint-scope": "^3.7.0",
- "@types/estree": "^0.0.50",
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^0.0.51",
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
+ "acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.8.3",
+ "enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
+ "json-parse-even-better-errors": "^2.3.1",
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
+ "watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"bin": {
@@ -23041,9 +23108,9 @@
}
},
"node_modules/webpack/node_modules/acorn": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
- "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+ "version": "8.8.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+ "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
"bin": {
"acorn": "bin/acorn"
},
@@ -23149,9 +23216,9 @@
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw=="
},
"node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
+ "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
"engines": {
"node": ">=0.10.0"
}
@@ -23368,11 +23435,11 @@
}
},
"node_modules/ws": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
- "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"engines": {
- "node": ">=8.3.0"
+ "node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
@@ -23401,9 +23468,9 @@
}
},
"node_modules/xmlhttprequest-ssl": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz",
- "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
"engines": {
"node": ">=0.4.0"
}
@@ -23464,15 +23531,37 @@
}
},
"node_modules/yaml-loader": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.6.0.tgz",
- "integrity": "sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==",
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.8.0.tgz",
+ "integrity": "sha512-LjeKnTzVBKWiQBeE2L9ssl6WprqaUIxCSNs5tle8PaDydgu3wVFXTbMfsvF2MSErpy9TDVa092n4q6adYwJaWg==",
"dependencies": {
- "loader-utils": "^1.4.0",
- "yaml": "^1.8.3"
+ "javascript-stringify": "^2.0.1",
+ "loader-utils": "^2.0.0",
+ "yaml": "^2.0.0"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 12.13"
+ }
+ },
+ "node_modules/yaml-loader/node_modules/loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/yaml-loader/node_modules/yaml": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
+ "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==",
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/yargs": {
@@ -23517,11 +23606,6 @@
"fd-slicer": "~1.1.0"
}
},
- "node_modules/yeast": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
- "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
@@ -23583,11 +23667,12 @@
},
"dependencies": {
"@babel/code-frame": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
- "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "version": "7.22.13",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
+ "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
"requires": {
- "@babel/highlight": "^7.18.6"
+ "@babel/highlight": "^7.22.13",
+ "chalk": "^2.4.2"
}
},
"@babel/compat-data": {
@@ -23618,9 +23703,9 @@
},
"dependencies": {
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -23640,19 +23725,20 @@
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
"@babel/generator": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz",
- "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
+ "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
"requires": {
- "@babel/types": "^7.20.5",
+ "@babel/types": "^7.23.0",
"@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
}
},
@@ -23685,9 +23771,9 @@
},
"dependencies": {
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -23735,16 +23821,16 @@
"integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ=="
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
"@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg=="
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA=="
},
"@babel/helper-explode-assignable-expression": {
"version": "7.14.5",
@@ -23755,20 +23841,20 @@
}
},
"@babel/helper-function-name": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
- "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"requires": {
- "@babel/template": "^7.18.10",
- "@babel/types": "^7.19.0"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
- "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
"requires": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
}
},
"@babel/helper-member-expression-to-functions": {
@@ -23854,22 +23940,22 @@
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
- "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
"requires": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
}
},
"@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw=="
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
+ "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw=="
},
"@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A=="
},
"@babel/helper-validator-option": {
"version": "7.18.6",
@@ -23898,19 +23984,19 @@
}
},
"@babel/highlight": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
- "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
+ "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
"requires": {
- "@babel/helper-validator-identifier": "^7.18.6",
- "chalk": "^2.0.0",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
"js-tokens": "^4.0.0"
}
},
"@babel/parser": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz",
- "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA=="
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
+ "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw=="
},
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
"version": "7.15.4",
@@ -24869,9 +24955,9 @@
}
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -25097,9 +25183,9 @@
}
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -25170,39 +25256,39 @@
}
},
"@babel/template": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
- "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
"requires": {
- "@babel/code-frame": "^7.18.6",
- "@babel/parser": "^7.18.10",
- "@babel/types": "^7.18.10"
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
}
},
"@babel/traverse": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz",
- "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==",
- "requires": {
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.20.5",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/parser": "^7.20.5",
- "@babel/types": "^7.20.5",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
+ "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
+ "requires": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.0",
+ "@babel/types": "^7.23.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz",
- "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
+ "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
"requires": {
- "@babel/helper-string-parser": "^7.19.4",
- "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/helper-string-parser": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
}
},
@@ -25217,22 +25303,21 @@
"integrity": "sha512-qnikpQgi30AS01aFlNQV6l8/qdZIcP76mp90ti+u4rucXHsn4afSKivQXApqxvrQG9+Ibv45STyvHizvxef/7A=="
},
"@emotion/babel-plugin": {
- "version": "11.10.2",
- "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz",
- "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==",
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz",
+ "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==",
"requires": {
"@babel/helper-module-imports": "^7.16.7",
- "@babel/plugin-syntax-jsx": "^7.17.12",
"@babel/runtime": "^7.18.3",
- "@emotion/hash": "^0.9.0",
- "@emotion/memoize": "^0.8.0",
- "@emotion/serialize": "^1.1.0",
+ "@emotion/hash": "^0.9.1",
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/serialize": "^1.1.2",
"babel-plugin-macros": "^3.1.0",
"convert-source-map": "^1.5.0",
"escape-string-regexp": "^4.0.0",
"find-root": "^1.1.0",
"source-map": "^0.5.7",
- "stylis": "4.0.13"
+ "stylis": "4.2.0"
},
"dependencies": {
"escape-string-regexp": {
@@ -25262,21 +25347,21 @@
}
},
"@emotion/cache": {
- "version": "11.10.3",
- "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz",
- "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==",
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz",
+ "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==",
"requires": {
- "@emotion/memoize": "^0.8.0",
- "@emotion/sheet": "^1.2.0",
- "@emotion/utils": "^1.2.0",
- "@emotion/weak-memoize": "^0.3.0",
- "stylis": "4.0.13"
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/sheet": "^1.2.2",
+ "@emotion/utils": "^1.2.1",
+ "@emotion/weak-memoize": "^0.3.1",
+ "stylis": "4.2.0"
}
},
"@emotion/hash": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz",
- "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ=="
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz",
+ "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ=="
},
"@emotion/is-prop-valid": {
"version": "1.2.0",
@@ -25287,41 +25372,41 @@
}
},
"@emotion/memoize": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
- "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
},
"@emotion/react": {
- "version": "11.10.4",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz",
- "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==",
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.0.tgz",
+ "integrity": "sha512-ZSK3ZJsNkwfjT3JpDAWJZlrGD81Z3ytNDsxw1LKq1o+xkmO5pnWfr6gmCC8gHEFf3nSSX/09YrG67jybNPxSUw==",
"requires": {
"@babel/runtime": "^7.18.3",
- "@emotion/babel-plugin": "^11.10.0",
- "@emotion/cache": "^11.10.0",
- "@emotion/serialize": "^1.1.0",
- "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
- "@emotion/utils": "^1.2.0",
- "@emotion/weak-memoize": "^0.3.0",
+ "@emotion/babel-plugin": "^11.11.0",
+ "@emotion/cache": "^11.11.0",
+ "@emotion/serialize": "^1.1.2",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@emotion/utils": "^1.2.1",
+ "@emotion/weak-memoize": "^0.3.1",
"hoist-non-react-statics": "^3.3.1"
}
},
"@emotion/serialize": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz",
- "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz",
+ "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==",
"requires": {
- "@emotion/hash": "^0.9.0",
- "@emotion/memoize": "^0.8.0",
- "@emotion/unitless": "^0.8.0",
- "@emotion/utils": "^1.2.0",
+ "@emotion/hash": "^0.9.1",
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/unitless": "^0.8.1",
+ "@emotion/utils": "^1.2.1",
"csstype": "^3.0.2"
}
},
"@emotion/sheet": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz",
- "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w=="
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz",
+ "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA=="
},
"@emotion/styled": {
"version": "11.10.0",
@@ -25336,25 +25421,25 @@
}
},
"@emotion/unitless": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz",
- "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw=="
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
+ "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
},
"@emotion/use-insertion-effect-with-fallbacks": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz",
- "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz",
+ "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==",
"requires": {}
},
"@emotion/utils": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz",
- "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz",
+ "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg=="
},
"@emotion/weak-memoize": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz",
- "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg=="
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz",
+ "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww=="
},
"@eslint/eslintrc": {
"version": "0.4.3",
@@ -25830,12 +25915,12 @@
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
},
"@jridgewell/trace-mapping": {
- "version": "0.3.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
- "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+ "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
"requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"@lezer/common": {
@@ -25998,6 +26083,42 @@
"json5": "^2.2.1"
}
},
+ "@msgpackr-extract/msgpackr-extract-darwin-arm64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz",
+ "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==",
+ "optional": true
+ },
+ "@msgpackr-extract/msgpackr-extract-darwin-x64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz",
+ "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==",
+ "optional": true
+ },
+ "@msgpackr-extract/msgpackr-extract-linux-arm": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz",
+ "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==",
+ "optional": true
+ },
+ "@msgpackr-extract/msgpackr-extract-linux-arm64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz",
+ "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==",
+ "optional": true
+ },
+ "@msgpackr-extract/msgpackr-extract-linux-x64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz",
+ "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==",
+ "optional": true
+ },
+ "@msgpackr-extract/msgpackr-extract-win32-x64": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz",
+ "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==",
+ "optional": true
+ },
"@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -26638,6 +26759,11 @@
}
}
},
+ "@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
"@swc/helpers": {
"version": "0.4.14",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
@@ -26700,11 +26826,6 @@
"resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.1.tgz",
"integrity": "sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg=="
},
- "@types/component-emitter": {
- "version": "1.2.11",
- "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
- "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
- },
"@types/configstore": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz",
@@ -26716,9 +26837,12 @@
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
},
"@types/cors": {
- "version": "2.8.12",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
- "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ "version": "2.8.13",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
+ "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "requires": {
+ "@types/node": "*"
+ }
},
"@types/debug": {
"version": "0.0.30",
@@ -26744,9 +26868,9 @@
}
},
"@types/estree": {
- "version": "0.0.50",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
- "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw=="
+ "version": "0.0.51",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
+ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
},
"@types/get-port": {
"version": "3.2.0",
@@ -26980,9 +27104,9 @@
},
"dependencies": {
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -27042,9 +27166,9 @@
},
"dependencies": {
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -27619,9 +27743,9 @@
},
"dependencies": {
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -27731,11 +27855,6 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
- "backo2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
- "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
- },
"bail": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
@@ -27754,11 +27873,6 @@
"safe-buffer": "^5.0.1"
}
},
- "base64-arraybuffer": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
- "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
- },
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
@@ -28771,11 +28885,6 @@
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
},
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
- },
"compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -29067,9 +29176,9 @@
}
},
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -30165,48 +30274,43 @@
}
},
"engine.io": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.2.tgz",
- "integrity": "sha512-t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
+ "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
"requires": {
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "2.0.0",
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
- "engine.io-parser": "~4.0.0",
- "ws": "~7.4.2"
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3"
}
},
"engine.io-client": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.4.tgz",
- "integrity": "sha512-843fqAdKeUMFqKi1sSjnR11tJ4wi8sIefu6+JC1OzkkJBmjtc/gM/rZ53tJfu5Iae/3gApm5veoS+v+gtT0+Fg==",
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
"requires": {
- "base64-arraybuffer": "0.1.4",
- "component-emitter": "~1.3.0",
+ "@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
- "engine.io-parser": "~4.0.1",
- "has-cors": "1.1.0",
- "parseqs": "0.0.6",
- "parseuri": "0.0.6",
- "ws": "~7.4.2",
- "xmlhttprequest-ssl": "~1.6.2",
- "yeast": "0.1.2"
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
}
},
"engine.io-parser": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
- "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
- "requires": {
- "base64-arraybuffer": "0.1.4"
- }
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.7.tgz",
+ "integrity": "sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ=="
},
"enhanced-resolve": {
- "version": "5.8.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz",
- "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
+ "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
"requires": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@@ -30312,20 +30416,14 @@
}
},
"es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "version": "0.10.63",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.63.tgz",
+ "integrity": "sha512-hUCZd2Byj/mNKjfP9jXrdVZ62B8KuA/VoK7X8nUh5qT+AxDmcbvZz041oDVZdbIN1qW6XY9VDNwzkvKnZvK2TQ==",
"requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- },
- "dependencies": {
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
- }
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
+ "next-tick": "^1.1.0"
}
},
"es6-iterator": {
@@ -30527,9 +30625,9 @@
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
},
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -30745,9 +30843,9 @@
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -30790,9 +30888,9 @@
}
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -30886,6 +30984,24 @@
}
}
},
+ "esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "requires": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+ "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
+ }
+ }
+ },
"espree": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
@@ -31468,9 +31584,9 @@
"integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg=="
},
"follow-redirects": {
- "version": "1.14.8",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz",
- "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA=="
+ "version": "1.15.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA=="
},
"fork-ts-checker-webpack-plugin": {
"version": "6.5.2",
@@ -31558,9 +31674,9 @@
}
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -31658,9 +31774,9 @@
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
},
"gatsby": {
- "version": "4.25.0",
- "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-4.25.0.tgz",
- "integrity": "sha512-zR/u0X60Ww250XqHGytAVFDfFJUpDzMnbPHQ7uAqr6zLgU03DBKyjqKiRpFsGx7L7ENj61hdorjz12IiNj6DIw==",
+ "version": "4.25.7",
+ "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-4.25.7.tgz",
+ "integrity": "sha512-kspM1XokxDw2YqC2hkPKQTfWSNSq/AnY8PNYSrUM+MCsyIKFuGqSVchNonZN1g8/nCoh4jQpBYXH5Uw2Hrs6Sw==",
"requires": {
"@babel/code-frame": "^7.14.0",
"@babel/core": "^7.15.5",
@@ -31748,7 +31864,7 @@
"gatsby-legacy-polyfills": "^2.25.0",
"gatsby-link": "^4.25.0",
"gatsby-page-utils": "^2.25.0",
- "gatsby-parcel-config": "^0.16.0",
+ "gatsby-parcel-config": "0.16.0",
"gatsby-plugin-page-creator": "^4.25.0",
"gatsby-plugin-typescript": "^4.25.0",
"gatsby-plugin-utils": "^3.19.0",
@@ -31808,8 +31924,8 @@
"shallow-compare": "^1.2.2",
"signal-exit": "^3.0.5",
"slugify": "^1.6.1",
- "socket.io": "3.1.2",
- "socket.io-client": "3.1.3",
+ "socket.io": "4.5.4",
+ "socket.io-client": "4.5.4",
"st": "^2.0.0",
"stack-trace": "^0.0.10",
"string-similarity": "^1.2.2",
@@ -31827,7 +31943,7 @@
"webpack-stats-plugin": "^1.0.3",
"webpack-virtual-modules": "^0.3.2",
"xstate": "4.32.1",
- "yaml-loader": "^0.6.0"
+ "yaml-loader": "^0.8.0"
},
"dependencies": {
"@babel/helper-plugin-utils": {
@@ -32061,9 +32177,9 @@
}
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -32227,9 +32343,9 @@
}
},
"semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -32428,9 +32544,9 @@
},
"dependencies": {
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -32807,25 +32923,22 @@
}
},
"gatsby-plugin-sharp": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.24.0.tgz",
- "integrity": "sha512-wVs8F9zLeiLf02yLi8vjse1vqSrZsx2u3RsMhoSv1bEinyaI5bcoLZ7mMJCsEeZe2G9mvNrPi4Ymhh/YzgxYCg==",
+ "version": "4.25.1",
+ "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.25.1.tgz",
+ "integrity": "sha512-cGRb8lmwJkzwT1Qze0R+VL+55BIb9weM17m+dUf6gs5Z++lQltqge+L8a1qWWsGL6KfLQN7+bIqjhmTTscIPMQ==",
"requires": {
"@babel/runtime": "^7.15.4",
- "@gatsbyjs/potrace": "^2.3.0",
"async": "^3.2.4",
"bluebird": "^3.7.2",
"debug": "^4.3.4",
"filenamify": "^4.3.0",
"fs-extra": "^10.1.0",
- "gatsby-core-utils": "^3.24.0",
- "gatsby-plugin-utils": "^3.18.0",
+ "gatsby-core-utils": "^3.25.0",
+ "gatsby-plugin-utils": "^3.19.0",
"lodash": "^4.17.21",
- "mini-svg-data-uri": "^1.4.4",
"probe-image-size": "^7.2.3",
"semver": "^7.3.7",
- "sharp": "^0.30.7",
- "svgo": "^2.8.0"
+ "sharp": "^0.30.7"
},
"dependencies": {
"async": {
@@ -32853,9 +32966,9 @@
}
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -33291,9 +33404,9 @@
}
},
"gatsby-remark-responsive-iframe": {
- "version": "5.24.0",
- "resolved": "https://registry.npmjs.org/gatsby-remark-responsive-iframe/-/gatsby-remark-responsive-iframe-5.24.0.tgz",
- "integrity": "sha512-gfLeeRol5Y35vuSxwVr9nRwGylZQmty4BmwzFJJkUwdUa0lI1P8X0Nhu9OY4WEnzLF4aeTMDUECnfsVzXi0/Tw==",
+ "version": "5.25.0",
+ "resolved": "https://registry.npmjs.org/gatsby-remark-responsive-iframe/-/gatsby-remark-responsive-iframe-5.25.0.tgz",
+ "integrity": "sha512-K2a0k0Q2umJA1lDtSoq3MM4QB1OGdAMSIbFtS/P9dXjg8rHDvnZGach6iDB8dF3fpjpl7LH3tr/DYAZBPHTqog==",
"requires": {
"@babel/runtime": "^7.15.4",
"cheerio": "^1.0.0-rc.10",
@@ -33711,9 +33824,9 @@
}
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -33726,9 +33839,9 @@
}
},
"gatsby-transformer-yaml": {
- "version": "4.21.0",
- "resolved": "https://registry.npmjs.org/gatsby-transformer-yaml/-/gatsby-transformer-yaml-4.21.0.tgz",
- "integrity": "sha512-zq1ZDhGLZvPjCckz1jyBQqYU8Dj1dr0BCHGoZK4s/HmKVjoP2PCTbEGvUOXJv/3rzcZ4TPZczLC9McpLFhtRvA==",
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/gatsby-transformer-yaml/-/gatsby-transformer-yaml-4.25.0.tgz",
+ "integrity": "sha512-upmV5yAqvyDE7WvpMtG0LWlTLHk1lFivP82iL9iwKHRf/bn21iAafiFADyh0RCENnXbK0xxY4mM8UDvAXu3v3g==",
"requires": {
"@babel/runtime": "^7.15.4",
"js-yaml": "^3.14.1",
@@ -34160,11 +34273,6 @@
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
"integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="
},
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
- },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -35034,6 +35142,11 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
+ "javascript-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
+ "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg=="
+ },
"jest-worker": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
@@ -35125,6 +35238,11 @@
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
},
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -35530,9 +35648,9 @@
},
"dependencies": {
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -36371,11 +36489,6 @@
}
}
},
- "mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg=="
- },
"minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -36445,21 +36558,34 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"msgpackr": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.4.tgz",
- "integrity": "sha512-Z7w5Jg+2Q9z9gJxeM68d7tSuWZZGnFIRhZnyqcZCa/1dKkhOCNvR1TUV3zzJ3+vj78vlwKRzUgVDlW4jiSOeDA==",
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.10.1.tgz",
+ "integrity": "sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ==",
"requires": {
- "msgpackr-extract": "^1.0.14"
+ "msgpackr-extract": "^3.0.2"
}
},
"msgpackr-extract": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz",
- "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz",
+ "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==",
"optional": true,
"requires": {
- "nan": "^2.14.2",
- "node-gyp-build": "^4.2.3"
+ "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2",
+ "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2",
+ "node-gyp-build-optional-packages": "5.0.7"
+ },
+ "dependencies": {
+ "node-gyp-build-optional-packages": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz",
+ "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==",
+ "optional": true
+ }
}
},
"multer": {
@@ -36491,16 +36617,10 @@
"thenify-all": "^1.0.0"
}
},
- "nan": {
- "version": "2.15.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
- "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
- "optional": true
- },
"nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
},
"napi-build-utils": {
"version": "1.0.2",
@@ -36574,9 +36694,9 @@
},
"dependencies": {
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -37004,9 +37124,9 @@
}
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -37115,16 +37235,6 @@
"parse5": "^6.0.1"
}
},
- "parseqs": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
- "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w=="
- },
- "parseuri": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz",
- "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow=="
- },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -37325,11 +37435,11 @@
}
},
"postcss": {
- "version": "8.4.20",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
- "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"requires": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
@@ -37357,9 +37467,9 @@
}
},
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -38883,9 +38993,9 @@
}
},
"semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
},
"semver-diff": {
"version": "3.1.1",
@@ -38896,9 +39006,9 @@
},
"dependencies": {
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
}
}
},
@@ -39041,9 +39151,9 @@
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -39208,47 +39318,40 @@
}
},
"socket.io": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz",
- "integrity": "sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz",
+ "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==",
"requires": {
- "@types/cookie": "^0.4.0",
- "@types/cors": "^2.8.8",
- "@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "~2.0.0",
- "debug": "~4.3.1",
- "engine.io": "~4.1.0",
- "socket.io-adapter": "~2.1.0",
- "socket.io-parser": "~4.0.3"
+ "debug": "~4.3.2",
+ "engine.io": "~6.2.1",
+ "socket.io-adapter": "~2.4.0",
+ "socket.io-parser": "~4.2.1"
}
},
"socket.io-adapter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz",
- "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg=="
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
},
"socket.io-client": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.3.tgz",
- "integrity": "sha512-4sIGOGOmCg3AOgGi7EEr6ZkTZRkrXwub70bBB/F0JSkMOUFpA77WsL87o34DffQQ31PkbMUIadGOk+3tx1KGbw==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.4.tgz",
+ "integrity": "sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==",
"requires": {
- "@types/component-emitter": "^1.2.10",
- "backo2": "~1.0.2",
- "component-emitter": "~1.3.0",
- "debug": "~4.3.1",
- "engine.io-client": "~4.1.0",
- "parseuri": "0.0.6",
- "socket.io-parser": "~4.0.4"
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.1"
}
},
"socket.io-parser": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
- "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
+ "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"requires": {
- "@types/component-emitter": "^1.2.10",
- "component-emitter": "~1.3.0",
+ "@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1"
}
},
@@ -39657,9 +39760,9 @@
}
},
"stylis": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz",
- "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag=="
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
+ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
},
"sucrase": {
"version": "3.21.0",
@@ -40687,9 +40790,9 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@@ -40873,9 +40976,9 @@
}
},
"watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"requires": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
@@ -40902,40 +41005,40 @@
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"webpack": {
- "version": "5.68.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.68.0.tgz",
- "integrity": "sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g==",
+ "version": "5.76.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz",
+ "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==",
"requires": {
- "@types/eslint-scope": "^3.7.0",
- "@types/estree": "^0.0.50",
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^0.0.51",
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
+ "acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.8.3",
+ "enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
+ "json-parse-even-better-errors": "^2.3.1",
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
+ "watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"dependencies": {
"acorn": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
- "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ=="
+ "version": "8.8.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+ "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw=="
},
"acorn-import-assertions": {
"version": "1.8.0",
@@ -41169,9 +41272,9 @@
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw=="
},
"word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
+ "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA=="
},
"workbox-background-sync": {
"version": "4.3.1",
@@ -41374,9 +41477,9 @@
}
},
"ws": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
- "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"requires": {}
},
"x-is-string": {
@@ -41390,9 +41493,9 @@
"integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
},
"xmlhttprequest-ssl": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz",
- "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
},
"xss": {
"version": "1.0.8",
@@ -41434,12 +41537,30 @@
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
},
"yaml-loader": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.6.0.tgz",
- "integrity": "sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==",
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.8.0.tgz",
+ "integrity": "sha512-LjeKnTzVBKWiQBeE2L9ssl6WprqaUIxCSNs5tle8PaDydgu3wVFXTbMfsvF2MSErpy9TDVa092n4q6adYwJaWg==",
"requires": {
- "loader-utils": "^1.4.0",
- "yaml": "^1.8.3"
+ "javascript-stringify": "^2.0.1",
+ "loader-utils": "^2.0.0",
+ "yaml": "^2.0.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "yaml": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
+ "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ=="
+ }
}
},
"yargs": {
@@ -41478,11 +41599,6 @@
"fd-slicer": "~1.1.0"
}
},
- "yeast": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
- "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
- },
"yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/docs/package.json b/docs/package.json
index 5cf838702791..e062f6224bac 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -6,11 +6,11 @@
"author": "",
"license": "MIT",
"dependencies": {
- "@emotion/react": "^11.10.4",
+ "@emotion/react": "^11.11.0",
"@emotion/styled": "^11.10.0",
"@mdx-js/mdx": "^1.6.22",
"@mdx-js/react": "^1.6.16",
- "gatsby": "^4.25.0",
+ "gatsby": "^4.25.7",
"gatsby-alias-imports": "^1.0.6",
"gatsby-plugin-canonical-urls": "^4.25.0",
"gatsby-plugin-catch-links": "^4.21.0",
@@ -22,20 +22,20 @@
"gatsby-plugin-react-helmet": "^5.21.0",
"gatsby-plugin-react-svg": "^3.1.0",
"gatsby-plugin-robots-txt": "^1.7.1",
- "gatsby-plugin-sharp": "^4.24.0",
+ "gatsby-plugin-sharp": "^4.25.1",
"gatsby-plugin-sitemap": "^5.24.0",
"gatsby-remark-autolink-headers": "^5.24.0",
"gatsby-remark-copy-linked-files": "^5.24.0",
"gatsby-remark-external-links": "^0.0.4",
"gatsby-remark-images": "^6.25.0",
"gatsby-remark-mermaid": "^2.1.0",
- "gatsby-remark-responsive-iframe": "^5.24.0",
+ "gatsby-remark-responsive-iframe": "^5.25.0",
"gatsby-source-filesystem": "^4.22.0",
"gatsby-transformer-remark": "^5.25.1",
"gatsby-transformer-sharp": "^4.21.0",
- "gatsby-transformer-yaml": "^4.21.0",
+ "gatsby-transformer-yaml": "^4.25.0",
"polished": "^4.2.2",
- "postcss": "^8.4.20",
+ "postcss": "^8.4.31",
"prism-react-renderer": "^1.3.5",
"prop-types": "^15.8.1",
"puppeteer": "^13.7.0",
@@ -51,7 +51,7 @@
"gatsby-plugin-netlify": "^5.1.0"
},
"scripts": {
- "build": "make -C .. expand_website_templates && gatsby build",
+ "build": "make -C .. website_expand_templates website_copy_jsonschema && gatsby build",
"start": "gatsby develop",
"serve": "gatsby serve",
"clean": "gatsby clean"
diff --git a/docs/src/config/sidebar.yml b/docs/src/config/sidebar.yml
index b034cdb4c1b2..93030648c859 100644
--- a/docs/src/config/sidebar.yml
+++ b/docs/src/config/sidebar.yml
@@ -2,32 +2,36 @@
- label: "Introduction"
link: "/"
-- label: Usage
+- label: Welcome
items:
- label: "Install"
- link: "/usage/install/"
+ link: "/welcome/install/"
- label: "Quick Start"
- link: "/usage/quick-start/"
+ link: "/welcome/quick-start/"
- label: "Integrations"
- link: "/usage/integrations/"
- - label: "Linters"
- link: "/usage/linters/"
+ link: "/welcome/integrations/"
+ - label: "FAQ"
+ link: "/welcome/faq/"
+- label: Usage
+ items:
- label: "Configuration"
link: "/usage/configuration/"
+ - label: "Linters"
+ link: "/usage/linters/"
- label: "False Positives"
link: "/usage/false-positives/"
- - label: "Performance"
- link: "/usage/performance/"
- - label: "FAQ"
- link: "/usage/faq/"
- label: Product
items:
- - label: "Roadmap"
- link: "/product/roadmap/"
- label: "Thanks"
link: "/product/thanks/"
- label: "Trusted By"
link: "/product/trusted-by/"
+ - label: "Changelog"
+ link: "/product/changelog/"
+ - label: "Roadmap"
+ link: "/product/roadmap/"
+ - label: "Performance"
+ link: "/product/performance/"
- label: "GitHub"
link: "https://github.com/golangci/golangci-lint"
- label: Contributing
@@ -46,3 +50,10 @@
link: /contributing/faq/
- label: This Website
link: /contributing/website/
+- label: Plugins
+ items:
+ - label: Module Plugin System
+ link: /plugins/module-plugins/
+ - label: Go Plugin System
+ link: /plugins/go-plugins/
+
diff --git a/docs/src/docs/contributing/architecture.mdx b/docs/src/docs/contributing/architecture.mdx
index 5a48b3d3e340..ad4dc3fd2481 100644
--- a/docs/src/docs/contributing/architecture.mdx
+++ b/docs/src/docs/contributing/architecture.mdx
@@ -24,88 +24,16 @@ graph LR
## Init
-The execution starts here:
+The configuration is loaded from file and flags by `config.Loader` inside `PersistentPreRun` (or `PreRun`) of the commands that require configuration.
-```go title=cmd/golangci-lint/main.go
-func main() {
- e := commands.NewExecutor(version, commit, date)
-
- if err := e.Execute(); err != nil {
- fmt.Fprintf(os.Stderr, "failed executing command with error %v\n", err)
- os.Exit(exitcodes.Failure)
- }
-}
-```
-
-The **executer** is our abstraction:
-
-```go title=pkg/commands/executor.go
-type Executor struct {
- rootCmd *cobra.Command
- runCmd *cobra.Command
- lintersCmd *cobra.Command
-
- exitCode int
-
- cfg *config.Config
- log logutils.Log
- reportData report.Data
- DBManager *lintersdb.Manager
- EnabledLintersSet *lintersdb.EnabledSet
- contextLoader *lint.ContextLoader
- goenv *goutil.Env
- fileCache *fsutils.FileCache
- lineCache *fsutils.LineCache
- pkgCache *pkgcache.Cache
- debugf logutils.DebugFunc
- sw *timeutils.Stopwatch
-
- loadGuard *load.Guard
- flock *flock.Flock
-}
-```
-
-We use dependency injection and all root dependencies are stored in this executor.
-
-In the function `NewExecutor` we do the following:
-
-1. init dependencies
-2. init [cobra](https://github.com/spf13/cobra) commands
-3. parse config file using [viper](https://github.com/spf13/viper) and merge it with command line args.
-
-The following execution is controlled by `cobra`. If a user executes `golangci-lint run`
-then `cobra` executes `e.runCmd`.
-
-Different `cobra` commands have different runners, e.g. a `run` command is configured in the following way:
-
-```go title=pkg/commands/run.go
-func (e *Executor) initRun() {
- e.runCmd = &cobra.Command{
- Use: "run",
- Short: welcomeMessage,
- Run: e.executeRun,
- PreRun: func(_ *cobra.Command, _ []string) {
- if ok := e.acquireFileLock(); !ok {
- e.log.Fatalf("Parallel golangci-lint is running")
- }
- },
- PostRun: func(_ *cobra.Command, _ []string) {
- e.releaseFileLock()
- },
- }
- e.rootCmd.AddCommand(e.runCmd)
- e.runCmd.SetOutput(logutils.StdOut) // use custom output to properly color it in Windows terminals
- e.initRunConfiguration(e.runCmd)
-}
-```
-
-The primary execution function of the `run` command is `executeRun`.
+The linter database (`linterdb.Manager`) is fill based on the configuration:
+- The linters ("internals" and plugins) are built by `linterdb.LinterBuilder` and `linterdb.PluginBuilder` builders.
+- The configuration is validated by `linterdb.Validator`.
## Load Packages
Loading packages is listing all packages and their recursive dependencies for analysis.
-Also, depending on the enabled linters set some parsing of the source code can be performed
-at this step.
+Also, depending on the enabled linters set some parsing of the source code can be performed at this step.
Packages loading starts here:
@@ -114,13 +42,13 @@ func (cl *ContextLoader) Load(ctx context.Context, linters []*linter.Config) (*l
loadMode := cl.findLoadMode(linters)
pkgs, err := cl.loadPackages(ctx, loadMode)
if err != nil {
- return nil, err
+ return nil, fmt.Errorf("failed to load packages: %w", err)
}
- // ...
- ret := &linter.Context{
- // ...
- }
+ // ...
+ ret := &linter.Context{
+ // ...
+ }
return ret, nil
}
```
@@ -142,10 +70,11 @@ func (lc *Config) WithLoadFiles() *Config {
If a linter uses `go/analysis` and needs type information, we need to extract more data by `go/packages`:
-```go title=/pkg/lint/linter/config.go
+```go title=pkg/lint/linter/config.go
func (lc *Config) WithLoadForGoAnalysis() *Config {
lc = lc.WithLoadFiles()
- lc.LoadMode |= packages.NeedImports | packages.NeedDeps | packages.NeedExportsFile | packages.NeedTypesSizes
+ lc.LoadMode |= packages.NeedImports | packages.NeedDeps | packages.NeedExportFile | packages.NeedTypesSizes
+ lc.IsSlow = true
return lc
}
```
@@ -157,41 +86,44 @@ and outputs list of packages and requested information about them: filenames, ty
First, we need to find all enabled linters. All linters are registered here:
-```go title=pkg/lint/lintersdb/manager.go
-func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config {
- // ...
- lcs := []*linter.Config{
+```go title=pkg/lint/lintersdb/builder_linter.go
+func (b LinterBuilder) Build(cfg *config.Config) []*linter.Config {
+ // ...
+ return []*linter.Config{
+ // ...
+ linter.NewConfig(golinters.NewBodyclose()).
+ WithSince("v1.18.0").
+ WithLoadForGoAnalysis().
+ WithPresets(linter.PresetPerformance, linter.PresetBugs).
+ WithURL("https://github.com/timakin/bodyclose"),
+ // ...
linter.NewConfig(golinters.NewGovet(govetCfg)).
+ WithEnabledByDefault().
+ WithSince("v1.0.0").
WithLoadForGoAnalysis().
- WithPresets(linter.PresetBugs).
+ WithPresets(linter.PresetBugs, linter.PresetMetaLinter).
WithAlternativeNames("vet", "vetshadow").
WithURL("https://pkg.go.dev/cmd/vet"),
- linter.NewConfig(golinters.NewBodyclose()).
- WithLoadForGoAnalysis().
- WithPresets(linter.PresetPerformance, linter.PresetBugs).
- WithURL("https://github.com/timakin/bodyclose"),
- // ...
- }
- // ...
+ // ...
+ }
}
```
We filter requested in config and command-line linters in `EnabledSet`:
-```go title=pkg/lint/lintersdb/enabled_set.go
-func (es EnabledSet) GetEnabledLintersMap() (map[string]*linter.Config, error)
+```go title=pkg/lint/lintersdb/manager.go
+func (m *Manager) GetEnabledLintersMap() (map[string]*linter.Config, error)
```
We merge enabled linters into one `MetaLinter` to improve execution time if we can:
-```go title=pkg/lint/lintersdb/enabled_set.go
-// GetOptimizedLinters returns enabled linters after optimization (merging) of multiple linters
-// into a fewer number of linters. E.g. some go/analysis linters can be optimized into
-// one metalinter for data reuse and speed up.
-func (es EnabledSet) GetOptimizedLinters() ([]*linter.Config, error) {
- // ...
- es.combineGoAnalysisLinters(resultLintersSet)
- // ...
+```go titlepkg/lint/lintersdb/manager.go
+// GetOptimizedLinters returns enabled linters after optimization (merging) of multiple linters into a fewer number of linters.
+// E.g. some go/analysis linters can be optimized into one metalinter for data reuse and speed up.
+func (m *Manager) GetOptimizedLinters() ([]*linter.Config, error) {
+ // ...
+ m.combineGoAnalysisLinters(resultLintersSet)
+ // ...
}
```
@@ -207,9 +139,11 @@ type MetaLinter struct {
Currently, all linters except `unused` can be merged into this meta linter.
The `unused` isn't merged because it has high memory usage.
-Linters execution starts in `runAnalyzers`. It's the most complex part of the `golangci-lint`.
-We use custom [go/analysis](https://pkg.go.dev/golang.org/x/tools/go/analysis) runner there. It runs as much as it can in parallel. It lazy-loads as much as it can
-to reduce memory usage. Also, it sets all heavyweight data to `nil` as becomes unneeded to save memory.
+Linters execution starts in `runAnalyzers`.
+It's the most complex part of the `golangci-lint`.
+We use custom [go/analysis](https://pkg.go.dev/golang.org/x/tools/go/analysis) runner there.
+It runs as much as it can in parallel. It lazy-loads as much as it can to reduce memory usage.
+Also, it sets all heavyweight data to `nil` as becomes unneeded to save memory.
We don't use existing [multichecker](https://pkg.go.dev/golang.org/x/tools/go/analysis/multichecker) because
it doesn't use caching and doesn't have some important performance optimizations.
@@ -221,6 +155,8 @@ type Issue struct {
FromLinter string
Text string
+ Severity string
+
// Source lines of a code with the issue to show
SourceLines []string
@@ -250,8 +186,10 @@ We have an abstraction of `result.Processor` to postprocess found issues:
```sh
$ tree -L 1 ./pkg/result/processors/
./pkg/result/processors/
+./pkg/result/processors/
├── autogenerated_exclude.go
├── autogenerated_exclude_test.go
+├── base_rule.go
├── cgo.go
├── diff.go
├── exclude.go
@@ -262,6 +200,7 @@ $ tree -L 1 ./pkg/result/processors/
├── fixer.go
├── identifier_marker.go
├── identifier_marker_test.go
+├── issues.go
├── max_from_linter.go
├── max_from_linter_test.go
├── max_per_file_from_linter.go
@@ -270,17 +209,23 @@ $ tree -L 1 ./pkg/result/processors/
├── max_same_issues_test.go
├── nolint.go
├── nolint_test.go
+├── path_prefixer.go
+├── path_prefixer_test.go
├── path_prettifier.go
├── path_shortener.go
├── processor.go
+├── processor_test.go
+├── severity_rules.go
+├── severity_rules_test.go
├── skip_dirs.go
├── skip_files.go
├── skip_files_test.go
+├── sort_results.go
+├── sort_results_test.go
├── source_code.go
├── testdata
├── uniq_by_line.go
-├── uniq_by_line_test.go
-└── utils.go
+└── uniq_by_line_test.go
```
The abstraction is simple:
@@ -303,14 +248,24 @@ We have an abstraction for printing found issues.
$ tree -L 1 ./pkg/printers/
./pkg/printers/
├── checkstyle.go
+├── checkstyle_test.go
├── codeclimate.go
+├── codeclimate_test.go
├── github.go
├── github_test.go
+├── html.go
+├── html_test.go
├── json.go
+├── json_test.go
├── junitxml.go
+├── junitxml_test.go
├── printer.go
├── tab.go
-└── text.go
+├── tab_test.go
+├── teamcity.go
+├── teamcity_test.go
+├── text.go
+└── text_test.go
```
Needed printer is selected by command line option `--out-format`.
diff --git a/docs/src/docs/contributing/faq.mdx b/docs/src/docs/contributing/faq.mdx
index 9ed95b77dba2..1da0c75a0535 100644
--- a/docs/src/docs/contributing/faq.mdx
+++ b/docs/src/docs/contributing/faq.mdx
@@ -2,10 +2,6 @@
title: Contributing FAQ
---
-## How to write a custom linter
-
-See [there](/contributing/new-linters#how-to-write-a-custom-linter).
-
## How to add a new open-source linter to `golangci-lint`
See [there](/contributing/new-linters#how-to-add-a-public-linter-to-golangci-lint).
@@ -16,7 +12,7 @@ See [there](/contributing/new-linters#how-to-add-a-private-linter-to-golangci-li
## How to update existing linter
-Just update it's version in `go.mod`.
+Just update its version in `go.mod`.
## How to add configuration option to existing linter
diff --git a/docs/src/docs/contributing/new-linters.mdx b/docs/src/docs/contributing/new-linters.mdx
index 55f5c4a065ee..2bdb1ca6be4e 100644
--- a/docs/src/docs/contributing/new-linters.mdx
+++ b/docs/src/docs/contributing/new-linters.mdx
@@ -2,28 +2,34 @@
title: New linters
---
-## How to write a custom linter
+## How to write a linter
-Use `go/analysis` and take a look at [this tutorial](https://disaev.me/p/writing-useful-go-analysis-linter/): it shows how to write `go/analysis` linter
-from scratch and integrate it into `golangci-lint`.
+Use `go/analysis` and take a look at [this tutorial](https://disaev.me/p/writing-useful-go-analysis-linter/):
+it shows how to write `go/analysis` linter from scratch and integrate it into `golangci-lint`.
## How to add a public linter to `golangci-lint`
You need to implement a new linter using `go/analysis` API.
-We don't accept not `go/analysis` linters.
+We don't accept non `go/analysis` linters.
After that:
1. Implement functional tests for the linter:
- Add one file into directory [`test/testdata`](https://github.com/golangci/golangci-lint/tree/master/test/testdata).
- - Run `T=yourlintername.go make test_linters` to ensure that test fails.
- - Run `go run ./cmd/golangci-lint/ run --no-config --disable-all --enable=yourlintername ./test/testdata/yourlintername.go`
+ - Run the test to ensure that test fails:
+ ```bash
+ T=yourlintername.go make test_linters
+ ```
+ - Run:
+ ```bash
+ go run ./cmd/golangci-lint/ run --no-config --disable-all --enable=yourlintername ./test/testdata/yourlintername.go
+ ```
2. Add a new file `pkg/golinters/{yourlintername}.go`.
Look at other linters in this directory.
Implement linter integration and check that test passes.
3. Add the new struct for the linter (which you've implemented in `pkg/golinters/{yourlintername}.go`) to the
- list of all supported linters in [`pkg/lint/lintersdb/manager.go`](https://github.com/golangci/golangci-lint/blob/master/pkg/lint/lintersdb/manager.go)
- to the function `GetAllSupportedLinterConfigs`.
+ list of all supported linters in [`pkg/lint/lintersdb/builder_linter.go`](https://github.com/golangci/golangci-lint/blob/master/pkg/lint/lintersdb/builder_linter.go)
+ to the method `LinterBuilder.Build`.
- Add `WithSince("next_version")`, where `next_version` must be replaced by the next minor version. (ex: v1.2.0 if the current version is v1.1.0)
4. Find out what options do you need to configure for the linter.
For example, `nakedret` has only 1 option: [`max-func-lines`](https://github.com/golangci/golangci-lint/blob/master/.golangci.reference.yml).
@@ -33,59 +39,14 @@ After that:
if you think that this project needs not default values.
- [config struct](https://github.com/golangci/golangci-lint/blob/master/pkg/config/config.go) -
don't forget about `mapstructure` tag for proper configuration files parsing by [pflag](https://github.com/spf13/pflag).
-5. Take a look at the example of [Pull Request with new linter support](https://github.com/golangci/golangci-lint/pulls?q=is%3Apr+is%3Amerged+label%3A%22linter%3A+new%22).
+5. Take a look at the example of [pull requests with new linter support](https://github.com/golangci/golangci-lint/pulls?q=is%3Apr+is%3Amerged+label%3A%22linter%3A+new%22).
## How to add a private linter to `golangci-lint`
Some people and organizations may choose to have custom-made linters run as a part of `golangci-lint`.
Typically, these linters can't be open-sourced or too specific.
-Such linters can be added through Go's plugin library.
-For a private linter (which acts as a plugin) to work properly,
-the plugin as well as the golangci-lint binary needs to be built for the same environment. `CGO_ENABLED` is another requirement.
-This means that `golangci-lint` needs to be built for whatever machine you intend to run it on
-(cloning the golangci-lint repository and running a `CGO_ENABLED=1 make build` should do the trick for your machine).
+Such linters can be added through 2 plugin systems:
-### Configure a Plugin
-
-If you already have a linter plugin available, you can follow these steps to define it's usage in a projects
-`.golangci.yml` file. An example linter can be found at [here](https://github.com/golangci/example-plugin-linter). If you're looking for
-instructions on how to configure your own custom linter, they can be found further down.
-
-1. If the project you want to lint does not have one already, copy the [.golangci.yml](https://github.com/golangci/golangci-lint/blob/master/.golangci.yml) to the root directory.
-2. Adjust the yaml to appropriate `linters-settings:custom` entries as so:
-
-```yaml
-linters-settings:
- custom:
- example:
- path: /example.so
- description: The description of the linter
- original-url: github.com/golangci/example-linter
-```
-
-That is all the configuration that is required to run a custom linter in your project. Custom linters are enabled by default,
-but abide by the same rules as other linters. If the disable all option is specified either on command line or in
-`.golangci.yml` files `linters:disable-all: true`, custom linters will be disabled; they can be re-enabled by adding them
-to the `linters:enable` list, or providing the enabled option on the command line, `golangci-lint run -Eexample`.
-
-### Create a Plugin
-
-Your linter must implement one or more `golang.org/x/tools/go/analysis.Analyzer` structs.
-Your project should also use `go.mod`. All versions of libraries that overlap `golangci-lint` (including replaced
-libraries) MUST be set to the same version as `golangci-lint`. You can see the versions by running `go version -m golangci-lint`.
-
-You'll also need to create a go file like `plugin/example.go`. This MUST be in the package `main`, and define a
-variable of name `AnalyzerPlugin`. The `AnalyzerPlugin` instance MUST implement the following interface:
-
-```go
-type AnalyzerPlugin interface {
- GetAnalyzers() []*analysis.Analyzer
-}
-```
-
-The type of `AnalyzerPlugin` is not important, but is by convention `type analyzerPlugin struct {}`. See
-[plugin/example.go](https://github.com/golangci/example-plugin-linter/blob/master/plugin/example.go) for more info.
-
-To build the plugin, from the root project directory, run `go build -buildmode=plugin plugin/example.go`. This will create a plugin `*.so`
-file that can be copied into your project or another well known location for usage in golangci-lint.
+1. [Go Plugin System](/plugins/module-plugins)
+2. [Module Plugin System](/plugins/go-plugins)
diff --git a/docs/src/docs/contributing/website.mdx b/docs/src/docs/contributing/website.mdx
index b56757850ff7..aaf68a2e0e50 100644
--- a/docs/src/docs/contributing/website.mdx
+++ b/docs/src/docs/contributing/website.mdx
@@ -4,8 +4,7 @@ title: Website architecture
## Technology
-We use [Gatsby](https://www.gatsbyjs.org/) for static site generation because sites built with it
-are very fast.
+We use [Gatsby](https://www.gatsbyjs.org/) for static site generation because sites built with it are very fast.
This framework uses React and JavaScript/TypeScript.
@@ -15,10 +14,9 @@ The website lives in `docs/` directory of [golangci-lint repository](https://git
## Theme
-Initially the site is based on [@rocketseat](https://rocketdocs.netlify.app/) theme.
-Later we've merged it's code into `src/@rocketseat` because we needed too much changes
-and [gatsby shadowing](https://www.gatsbyjs.org/docs/themes/shadowing/) doesn't
-allow shadowing `gatsby-node.js` or `gatsby-config.js`.
+Initially the site is based on [@rocketseat](https://github.com/jpedroschmitz/rocketdocs) theme.
+Later we've merged its code into `src/@rocketseat` because we needed too much changes
+and [gatsby shadowing](https://www.gatsbyjs.org/docs/themes/shadowing/) doesn't allow shadowing `gatsby-node.js` or `gatsby-config.js`.
## Navigation
@@ -31,29 +29,24 @@ allowing to use `React` components.
## Templating
-We use templates like `{.SomeField}` inside our `mdx` files. There templates are expanded
-by running `make expand_website_templates` in the root of the repository.
-It runs script `scripts/expand_website_templates/main.go` that rewrites `mdx` files with replaced templates.
-
-## CDN and DNS
-
-We use [CloudFlare](https://www.cloudflare.com/) for CDN, proxying and DNS management.
+We use templates like `{.SomeField}` inside our `mdx` files.
+There templates are expanded by running `make website_expand_templates` in the root of the repository.
+It runs script `scripts/website/expand_templates/` that rewrites `mdx` files with replaced templates.
## Hosting
-We use [Netlify](https://www.netlify.com/) as static website hosting and CD.
-It's integrated into our pull requests: if `docs/` directory has changes Netlify
-will trigger website rebuild and deploy it's preview for a branch. You can view
-it to ensure that everything ok.
+We use GitHub Pages as static website hosting and CD.
-Netlify deploys the website to production after merging anything to a `master` branch.
+GitHub deploys the website to production after merging anything to a `master` branch.
## Local Testing
+Install Node.js (v20 or newer).
+
Run:
```sh
-npm install
+npm install --legacy-peer-deps
npm run start
```
@@ -61,16 +54,10 @@ And navigate to `http://localhost:8000` after successful Gatsby build.
There is no need to restart Gatsby server almost for all changes: it supports hot reload.
Also, there is no need to refresh a webpage: hot reload updates changed content on the open page.
-## Trigger Website Rebuild
+## Website Build
-Currently, Netlify triggers rebuild only if anything has changes in `docs/` directory.
-But we can add a new linter and need to change a documentation to list the linter.
-
-To do it run
+To do it run:
```sh
-go run ./scripts/expand_website_templates/main.go -only-state
+go run ./scripts/website/expand_templates/
```
-
-It saves a hash of template replacements (that include all linters, configs, etc)
-into `docs/template_data.state`.
diff --git a/docs/src/docs/contributing/workflow.mdx b/docs/src/docs/contributing/workflow.mdx
index a6e8531a6d66..79df46701e69 100644
--- a/docs/src/docs/contributing/workflow.mdx
+++ b/docs/src/docs/contributing/workflow.mdx
@@ -4,10 +4,9 @@ title: Contributing Workflow
# Contributing
-By participating to this project, you agree to abide our [code of
-conduct](https://github.com/golangci/golangci-lint/blob/master/CODE_OF_CONDUCT.md).
+By participating in this project, you agree to abide our [code of conduct](https://github.com/golangci/golangci-lint/blob/master/CODE_OF_CONDUCT.md).
-## Setup your machine
+## Set up your machine
`golangci-lint` is written in [Go](https://go.dev).
@@ -46,14 +45,13 @@ Push your branch to your `golangci-lint` fork and open a pull request against th
## Pull request checks
-First, please, accept [CLA](https://gist.github.com/jirfag/26a39fd375da84b2d5ad4296fecb0668) - [cla assistant](https://cla-assistant.io/) will
-make a comment on the pull request about it.
+First, please, accept [CLA](https://gist.github.com/jirfag/26a39fd375da84b2d5ad4296fecb0668) - [cla assistant](https://cla-assistant.io/) will make a comment on the pull request about it.
Also, we run a few checks in CI by using GitHub actions, you can see them [here](https://github.com/golangci/golangci-lint/blob/master/.github/workflows/pr.yml).
## New releases
-First, see [our versioning policy](/usage/install/#versioning-policy).
+First, see [our versioning policy](/product/roadmap/#versioning-policy).
To make a new release create a tag `vx.y.z`. Don't forget to add zero patch version for a new minor release, e.g. `v1.99.0`.
A GitHub action [workflow](https://github.com/golangci/golangci-lint/blob/master/.github/workflows/tag.yml) will start building and publishing release after that.
@@ -61,19 +59,11 @@ A GitHub action [workflow](https://github.com/golangci/golangci-lint/blob/master
After making a release you need to update:
1. GitHub [action config](https://github.com/golangci/golangci-lint/blob/master/assets/github-action-config.json) by running:
-
```sh
make assets/github-action-config.json
```
-2. The latest netlify state (e.g. docs/template_date.state):
-
-```sh
-make update_netlify_state
-```
-
-3. Contributors list
-
+2. Contributors list:
```sh
make update_contributors_list # may take 15 min
```
diff --git a/docs/src/docs/index.mdx b/docs/src/docs/index.mdx
index 537e1e87c4a9..5a862ec576b1 100644
--- a/docs/src/docs/index.mdx
+++ b/docs/src/docs/index.mdx
@@ -20,14 +20,14 @@ Follow the news and releases on our twitter