diff --git a/.eslintrc.browser.json b/.eslintrc.browser.json index cd1ce88..747fa31 100644 --- a/.eslintrc.browser.json +++ b/.eslintrc.browser.json @@ -3,7 +3,7 @@ "env": { "worker": true }, - "ignorePatterns": ["src/webviews/apps/**/*", "src/env/node/*"], + "ignorePatterns": ["src/webviews/apps/**/*", "src/env/node/**/*"], "parserOptions": { "project": "tsconfig.browser.json" } diff --git a/package.json b/package.json index 53d601a..687df62 100644 --- a/package.json +++ b/package.json @@ -10134,10 +10134,10 @@ "@octokit/graphql": "4.8.0", "@vscode/codicons": "0.0.27", "chroma-js": "2.1.2", - "crypto-browserify": "3.12.0", "dayjs": "1.10.7", "iconv-lite": "0.6.3", "lodash-es": "4.17.21", + "md5.js": "1.3.5", "node-fetch": "3.0.0", "path-browserify": "1.0.1", "sortablejs": "1.14.0" @@ -10157,7 +10157,7 @@ "cross-env": "7.0.3", "csp-html-webpack-plugin": "5.1.0", "css-loader": "6.5.1", - "esbuild": "0.14.7", + "esbuild": "0.14.8", "esbuild-loader": "2.18.0", "eslint": "8.5.0", "eslint-cli": "1.1.1", @@ -10185,7 +10185,7 @@ "webpack-cli": "4.9.1" }, "resolutions": { - "esbuild": "0.14.7", + "esbuild": "0.14.8", "node-fetch": "2.6.1", "semver-regex": "3.1.3", "trim-newlines": "4.0.2" diff --git a/src/@types/md5.js.d.ts b/src/@types/md5.js.d.ts new file mode 100644 index 0000000..39670ba --- /dev/null +++ b/src/@types/md5.js.d.ts @@ -0,0 +1,13 @@ +/// + +declare module 'md5.js' { + import type { Hash } from 'crypto'; + + export = MD5; + + interface MD5 extends Hash { + new (): MD5; + } + + declare const MD5: MD5; +} diff --git a/src/annotations/annotations.ts b/src/annotations/annotations.ts index 60fb8fa..c05ab4d 100644 --- a/src/annotations/annotations.ts +++ b/src/annotations/annotations.ts @@ -15,7 +15,8 @@ import { HeatmapLocations } from '../config'; import { Config, configuration } from '../configuration'; import { Colors, GlyphChars } from '../constants'; import { Container } from '../container'; -import { CommitFormatOptions, CommitFormatter, GitCommit } from '../git/git'; +import { CommitFormatOptions, CommitFormatter } from '../git/formatters'; +import { GitCommit } from '../git/models'; import { Strings } from '../system'; import { toRgba } from '../webviews/apps/shared/colors'; diff --git a/src/annotations/autolinks.ts b/src/annotations/autolinks.ts index 182c9fe..0382621 100644 --- a/src/annotations/autolinks.ts +++ b/src/annotations/autolinks.ts @@ -3,7 +3,7 @@ import { ConfigurationChangeEvent, Disposable } from 'vscode'; import { AutolinkReference, configuration } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { GitRemote, IssueOrPullRequest } from '../git/git'; +import { GitRemote, IssueOrPullRequest } from '../git/models'; import { Logger } from '../logger'; import { Dates, debug, Encoding, Iterables, Promises, Strings } from '../system'; diff --git a/src/annotations/blameAnnotationProvider.ts b/src/annotations/blameAnnotationProvider.ts index 628ab82..4acfc23 100644 --- a/src/annotations/blameAnnotationProvider.ts +++ b/src/annotations/blameAnnotationProvider.ts @@ -2,8 +2,8 @@ import { CancellationToken, Disposable, Hover, languages, Position, Range, TextDocument, TextEditor } from 'vscode'; import { FileAnnotationType } from '../config'; import { Container } from '../container'; -import { GitBlame, GitBlameCommit, GitCommit } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitBlame, GitBlameCommit, GitCommit } from '../git/models'; import { Hovers } from '../hovers/hovers'; import { log } from '../system'; import { GitDocumentState, TrackedDocument } from '../trackers/gitDocumentTracker'; diff --git a/src/annotations/gutterBlameAnnotationProvider.ts b/src/annotations/gutterBlameAnnotationProvider.ts index b54b939..3b862fa 100644 --- a/src/annotations/gutterBlameAnnotationProvider.ts +++ b/src/annotations/gutterBlameAnnotationProvider.ts @@ -3,7 +3,8 @@ import { DecorationOptions, Range, TextEditor, ThemableDecorationAttachmentRende import { FileAnnotationType, GravatarDefaultStyle } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { CommitFormatOptions, CommitFormatter, GitBlame, GitBlameCommit } from '../git/git'; +import { CommitFormatOptions, CommitFormatter } from '../git/formatters'; +import { GitBlame, GitBlameCommit } from '../git/models'; import { Logger } from '../logger'; import { Arrays, Iterables, log, Stopwatch, Strings } from '../system'; import { GitDocumentState } from '../trackers/gitDocumentTracker'; diff --git a/src/annotations/gutterChangesAnnotationProvider.ts b/src/annotations/gutterChangesAnnotationProvider.ts index 8d74b3c..66709a2 100644 --- a/src/annotations/gutterChangesAnnotationProvider.ts +++ b/src/annotations/gutterChangesAnnotationProvider.ts @@ -15,7 +15,7 @@ import { } from 'vscode'; import { FileAnnotationType } from '../configuration'; import { Container } from '../container'; -import { GitDiff, GitLogCommit } from '../git/git'; +import { GitDiff, GitLogCommit } from '../git/models'; import { Hovers } from '../hovers/hovers'; import { Logger } from '../logger'; import { log, Stopwatch } from '../system'; diff --git a/src/annotations/gutterHeatmapBlameAnnotationProvider.ts b/src/annotations/gutterHeatmapBlameAnnotationProvider.ts index 5c2b972..10848dc 100644 --- a/src/annotations/gutterHeatmapBlameAnnotationProvider.ts +++ b/src/annotations/gutterHeatmapBlameAnnotationProvider.ts @@ -2,7 +2,7 @@ import { Range, TextEditor, TextEditorDecorationType } from 'vscode'; import { FileAnnotationType } from '../configuration'; import { Container } from '../container'; -import { GitBlameCommit } from '../git/git'; +import { GitBlameCommit } from '../git/models'; import { Logger } from '../logger'; import { log, Stopwatch } from '../system'; import { GitDocumentState } from '../trackers/gitDocumentTracker'; diff --git a/src/annotations/lineAnnotationController.ts b/src/annotations/lineAnnotationController.ts index f7fa166..9ec4597 100644 --- a/src/annotations/lineAnnotationController.ts +++ b/src/annotations/lineAnnotationController.ts @@ -14,7 +14,9 @@ import { import { configuration } from '../configuration'; import { GlyphChars, isTextEditor } from '../constants'; import { Container } from '../container'; -import { Authentication, CommitFormatter, GitBlameCommit, PullRequest } from '../git/git'; +import { CommitFormatter } from '../git/formatters'; +import { GitBlameCommit, PullRequest } from '../git/models'; +import { Authentication } from '../git/remotes/provider'; import { LogCorrelationContext, Logger } from '../logger'; import { debug, Iterables, log, Promises } from '../system'; import { LinesChangeEvent, LineSelection } from '../trackers/gitLineTracker'; diff --git a/src/avatars.ts b/src/avatars.ts index cd2f024..6a7f362 100644 --- a/src/avatars.ts +++ b/src/avatars.ts @@ -3,7 +3,7 @@ import { EventEmitter, Uri } from 'vscode'; import { GravatarDefaultStyle } from './config'; import { GlobalState } from './constants'; import { Container } from './container'; -import { GitRevisionReference } from './git/git'; +import { GitRevisionReference } from './git/models'; import { Dates, Functions, Iterables, Strings } from './system'; import { ContactPresenceStatus } from './vsls/vsls'; diff --git a/src/codelens/codeLensProvider.ts b/src/codelens/codeLensProvider.ts index ea2fd8b..6b3dbad 100644 --- a/src/codelens/codeLensProvider.ts +++ b/src/codelens/codeLensProvider.ts @@ -38,8 +38,9 @@ import { } from '../configuration'; import { BuiltInCommands, DocumentSchemes } from '../constants'; import { Container } from '../container'; -import { GitBlame, GitBlameLines, GitCommit, RemoteResourceType } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitBlame, GitBlameLines, GitCommit } from '../git/models'; +import { RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { Functions, Iterables } from '../system'; diff --git a/src/commands/common.ts b/src/commands/common.ts index f02d910..7709423 100644 --- a/src/commands/common.ts +++ b/src/commands/common.ts @@ -19,8 +19,17 @@ import { import type { Action, ActionContext } from '../api/gitlens'; import { BuiltInCommands, DocumentSchemes, ImageMimetypes } from '../constants'; import { Container } from '../container'; -import { GitBranch, GitCommit, GitContributor, GitFile, GitReference, GitRemote, GitTag, Repository } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { + GitBranch, + GitCommit, + GitContributor, + GitFile, + GitReference, + GitRemote, + GitTag, + Repository, +} from '../git/models'; import { Logger } from '../logger'; import { CommandQuickPickItem, RepositoryPicker } from '../quickpicks'; import { ViewNode, ViewRefNode } from '../views/nodes'; diff --git a/src/commands/createPullRequestOnRemote.ts b/src/commands/createPullRequestOnRemote.ts index 022ec19..4cfda0a 100644 --- a/src/commands/createPullRequestOnRemote.ts +++ b/src/commands/createPullRequestOnRemote.ts @@ -1,6 +1,7 @@ 'use strict'; import { Container } from '../container'; -import { GitRemote, RemoteProvider, RemoteResource, RemoteResourceType } from '../git/git'; +import { GitRemote } from '../git/models'; +import { RemoteProvider, RemoteResource, RemoteResourceType } from '../git/remotes/provider'; import { Command, command, Commands, executeCommand } from './common'; import { OpenOnRemoteCommandArgs } from './openOnRemote'; diff --git a/src/commands/diffLineWithPrevious.ts b/src/commands/diffLineWithPrevious.ts index 05c1da0..52f5e36 100644 --- a/src/commands/diffLineWithPrevious.ts +++ b/src/commands/diffLineWithPrevious.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode'; import { Container } from '../container'; -import { GitCommit } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitCommit } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common'; diff --git a/src/commands/diffLineWithWorking.ts b/src/commands/diffLineWithWorking.ts index d4814a8..a81e155 100644 --- a/src/commands/diffLineWithWorking.ts +++ b/src/commands/diffLineWithWorking.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextDocumentShowOptions, TextEditor, Uri, window } from 'vscode'; import { Container } from '../container'; -import { GitCommit, GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitCommit, GitRevision } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common'; diff --git a/src/commands/diffWith.ts b/src/commands/diffWith.ts index ac92781..905e740 100644 --- a/src/commands/diffWith.ts +++ b/src/commands/diffWith.ts @@ -3,8 +3,8 @@ import * as paths from 'path'; import { commands, Range, TextDocumentShowOptions, Uri, ViewColumn } from 'vscode'; import { BuiltInCommands, GlyphChars } from '../constants'; import { Container } from '../container'; -import { GitCommit, GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitCommit, GitRevision } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { command, Command, Commands } from './common'; diff --git a/src/commands/diffWithNext.ts b/src/commands/diffWithNext.ts index 470cdb5..1fdd82b 100644 --- a/src/commands/diffWithNext.ts +++ b/src/commands/diffWithNext.ts @@ -1,8 +1,8 @@ 'use strict'; import { Range, TextDocumentShowOptions, TextEditor, Uri } from 'vscode'; import { Container } from '../container'; -import { GitLogCommit } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitLogCommit } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { ActiveEditorCommand, command, CommandContext, Commands, executeCommand, getCommandUri } from './common'; diff --git a/src/commands/diffWithPrevious.ts b/src/commands/diffWithPrevious.ts index 818612b..71a187a 100644 --- a/src/commands/diffWithPrevious.ts +++ b/src/commands/diffWithPrevious.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode'; import { Container } from '../container'; -import { GitCommit, GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitCommit, GitRevision } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { diff --git a/src/commands/diffWithRevision.ts b/src/commands/diffWithRevision.ts index 2dd9926..2bf8e88 100644 --- a/src/commands/diffWithRevision.ts +++ b/src/commands/diffWithRevision.ts @@ -2,8 +2,8 @@ import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode'; import { GlyphChars, quickPickTitleMaxChars } from '../constants'; import { Container } from '../container'; -import { GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitRevision } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { CommandQuickPickItem, CommitPicker } from '../quickpicks'; diff --git a/src/commands/diffWithRevisionFrom.ts b/src/commands/diffWithRevisionFrom.ts index e4aa193..ce437ed 100644 --- a/src/commands/diffWithRevisionFrom.ts +++ b/src/commands/diffWithRevisionFrom.ts @@ -3,8 +3,8 @@ import * as paths from 'path'; import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode'; import { GlyphChars, quickPickTitleMaxChars } from '../constants'; import { Container } from '../container'; -import { GitReference, GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitReference, GitRevision } from '../git/models'; import { Messages } from '../messages'; import { ReferencePicker, StashPicker } from '../quickpicks'; import { Strings } from '../system'; diff --git a/src/commands/diffWithWorking.ts b/src/commands/diffWithWorking.ts index deb84e7..ebe5e85 100644 --- a/src/commands/diffWithWorking.ts +++ b/src/commands/diffWithWorking.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextDocumentShowOptions, TextEditor, Uri, window } from 'vscode'; import { Container } from '../container'; -import { GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitRevision } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common'; diff --git a/src/commands/externalDiff.ts b/src/commands/externalDiff.ts index 5f018a6..ace9cab 100644 --- a/src/commands/externalDiff.ts +++ b/src/commands/externalDiff.ts @@ -3,8 +3,8 @@ import { env, SourceControlResourceState, Uri, window } from 'vscode'; import { ScmResource } from '../@types/vscode.git.resources'; import { ScmResourceGroupType, ScmStatus } from '../@types/vscode.git.resources.enums'; import { Container } from '../container'; -import { GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitRevision } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { Arrays } from '../system'; diff --git a/src/commands/git/branch.ts b/src/commands/git/branch.ts index 5993114..b16d64d 100644 --- a/src/commands/git/branch.ts +++ b/src/commands/git/branch.ts @@ -1,7 +1,7 @@ 'use strict'; import { QuickInputButtons } from 'vscode'; import { Container } from '../../container'; -import { GitBranchReference, GitReference, Repository } from '../../git/git'; +import { GitBranchReference, GitReference, Repository } from '../../git/models'; import { FlagsQuickPickItem, QuickPickItemOfT } from '../../quickpicks'; import { Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/git/cherry-pick.ts b/src/commands/git/cherry-pick.ts index f99ac7a..6db2f35 100644 --- a/src/commands/git/cherry-pick.ts +++ b/src/commands/git/cherry-pick.ts @@ -1,6 +1,6 @@ 'use strict'; import { Container } from '../../container'; -import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/git'; +import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/models'; import { FlagsQuickPickItem } from '../../quickpicks'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; import { diff --git a/src/commands/git/coauthors.ts b/src/commands/git/coauthors.ts index c5bbaea..e8a6817 100644 --- a/src/commands/git/coauthors.ts +++ b/src/commands/git/coauthors.ts @@ -1,7 +1,7 @@ 'use strict'; import { commands } from 'vscode'; import { Container } from '../../container'; -import { GitContributor, Repository } from '../../git/git'; +import { GitContributor, Repository } from '../../git/models'; import { Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; import { diff --git a/src/commands/git/fetch.ts b/src/commands/git/fetch.ts index d4b0806..b967a4d 100644 --- a/src/commands/git/fetch.ts +++ b/src/commands/git/fetch.ts @@ -1,7 +1,7 @@ 'use strict'; import { GlyphChars } from '../../constants'; import { Container } from '../../container'; -import { GitBranchReference, GitReference, Repository } from '../../git/git'; +import { GitBranchReference, GitReference, Repository } from '../../git/models'; import { FlagsQuickPickItem } from '../../quickpicks'; import { Arrays, Dates, Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/git/log.ts b/src/commands/git/log.ts index e76200b..58178af 100644 --- a/src/commands/git/log.ts +++ b/src/commands/git/log.ts @@ -1,8 +1,8 @@ 'use strict'; import { GlyphChars, quickPickTitleMaxChars } from '../../constants'; import { Container } from '../../container'; -import { GitLog, GitLogCommit, GitReference, Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitLog, GitLogCommit, GitReference, Repository } from '../../git/models'; import { Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; import { GitCommandsCommand } from '../gitCommands'; diff --git a/src/commands/git/merge.ts b/src/commands/git/merge.ts index d4dabca..06a411d 100644 --- a/src/commands/git/merge.ts +++ b/src/commands/git/merge.ts @@ -1,6 +1,6 @@ 'use strict'; import { Container } from '../../container'; -import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/git'; +import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/models'; import { Directive, DirectiveQuickPickItem, FlagsQuickPickItem } from '../../quickpicks'; import { Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/git/pull.ts b/src/commands/git/pull.ts index 010da08..059ed62 100644 --- a/src/commands/git/pull.ts +++ b/src/commands/git/pull.ts @@ -1,7 +1,7 @@ 'use strict'; import { GlyphChars } from '../../constants'; import { Container } from '../../container'; -import { GitBranch, GitBranchReference, GitReference, Repository } from '../../git/git'; +import { GitBranch, GitBranchReference, GitReference, Repository } from '../../git/models'; import { Directive, DirectiveQuickPickItem, FlagsQuickPickItem } from '../../quickpicks'; import { Arrays, Dates, Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/git/push.ts b/src/commands/git/push.ts index 7b3f3d5..17f6b01 100644 --- a/src/commands/git/push.ts +++ b/src/commands/git/push.ts @@ -2,7 +2,7 @@ import { configuration } from '../../configuration'; import { BuiltInGitConfiguration, GlyphChars } from '../../constants'; import { Container } from '../../container'; -import { GitBranch, GitBranchReference, GitReference, Repository } from '../../git/git'; +import { GitBranch, GitBranchReference, GitReference, Repository } from '../../git/models'; import { Directive, DirectiveQuickPickItem, FlagsQuickPickItem } from '../../quickpicks'; import { Arrays, Dates, Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/git/rebase.ts b/src/commands/git/rebase.ts index 2403307..c07be2c 100644 --- a/src/commands/git/rebase.ts +++ b/src/commands/git/rebase.ts @@ -1,7 +1,7 @@ 'use strict'; import { env } from 'vscode'; import { Container } from '../../container'; -import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/git'; +import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/models'; import { Directive, DirectiveQuickPickItem, FlagsQuickPickItem } from '../../quickpicks'; import { Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/git/reset.ts b/src/commands/git/reset.ts index 9c78b8e..7ea4f98 100644 --- a/src/commands/git/reset.ts +++ b/src/commands/git/reset.ts @@ -1,6 +1,6 @@ 'use strict'; import { Container } from '../../container'; -import { GitBranch, GitLog, GitReference, GitRevisionReference, Repository } from '../../git/git'; +import { GitBranch, GitLog, GitReference, GitRevisionReference, Repository } from '../../git/models'; import { FlagsQuickPickItem } from '../../quickpicks'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; import { diff --git a/src/commands/git/revert.ts b/src/commands/git/revert.ts index 90950b3..a3476b5 100644 --- a/src/commands/git/revert.ts +++ b/src/commands/git/revert.ts @@ -1,6 +1,6 @@ 'use strict'; import { Container } from '../../container'; -import { GitBranch, GitLog, GitReference, GitRevisionReference, Repository } from '../../git/git'; +import { GitBranch, GitLog, GitReference, GitRevisionReference, Repository } from '../../git/models'; import { FlagsQuickPickItem } from '../../quickpicks'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; import { diff --git a/src/commands/git/search.ts b/src/commands/git/search.ts index d6bc67f..7b2b22f 100644 --- a/src/commands/git/search.ts +++ b/src/commands/git/search.ts @@ -1,7 +1,8 @@ 'use strict'; import { GlyphChars } from '../../constants'; import { Container } from '../../container'; -import { GitLog, GitLogCommit, Repository, SearchOperators, searchOperators, SearchPattern } from '../../git/git'; +import { GitLog, GitLogCommit, Repository } from '../../git/models'; +import { searchOperators, SearchOperators, SearchPattern } from '../../git/search'; import { ActionQuickPickItem, QuickPickItemOfT } from '../../quickpicks'; import { Strings } from '../../system'; import { SearchResultsNode } from '../../views/nodes'; diff --git a/src/commands/git/show.ts b/src/commands/git/show.ts index 2526f5c..be45f9b 100644 --- a/src/commands/git/show.ts +++ b/src/commands/git/show.ts @@ -1,6 +1,6 @@ 'use strict'; import { Container } from '../../container'; -import { GitAuthor, GitLogCommit, GitRevisionReference, GitStashCommit, Repository } from '../../git/git'; +import { GitAuthor, GitLogCommit, GitRevisionReference, GitStashCommit, Repository } from '../../git/models'; import { CommandQuickPickItem, CommitFilesQuickPickItem, GitCommandQuickPickItem } from '../../quickpicks'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; import { diff --git a/src/commands/git/stash.ts b/src/commands/git/stash.ts index 0b26b56..0c3f054 100644 --- a/src/commands/git/stash.ts +++ b/src/commands/git/stash.ts @@ -2,8 +2,9 @@ import { QuickInputButtons, QuickPickItem, Uri, window } from 'vscode'; import { GlyphChars } from '../../constants'; import { Container } from '../../container'; -import { GitReference, GitStashCommit, GitStashReference, Repository, RunError } from '../../git/git'; +import { StashApplyError, StashApplyErrorReason } from '../../git/errors'; import { GitUri } from '../../git/gitUri'; +import { GitReference, GitStashCommit, GitStashReference, Repository } from '../../git/models'; import { Logger } from '../../logger'; import { Messages } from '../../messages'; import { FlagsQuickPickItem, QuickPickItemOfT } from '../../quickpicks'; @@ -291,32 +292,14 @@ export class StashGitCommand extends QuickCommand { } catch (ex) { Logger.error(ex, context.title); - if (ex instanceof Error) { - const msg: string = ex.message ?? ''; - if (msg.includes('Your local changes to the following files would be overwritten by merge')) { + if (ex instanceof StashApplyError) { + if (ex.reason === StashApplyErrorReason.WorkingChanges) { void window.showWarningMessage( 'Unable to apply stash. Your working tree changes would be overwritten. Please commit or stash your changes before trying again', ); - - return; - } - - if ( - (msg.includes('Auto-merging') && msg.includes('CONFLICT')) || - (ex instanceof RunError && - ((ex.stdout.includes('Auto-merging') && ex.stdout.includes('CONFLICT')) || - ex.stdout.includes('needs merge'))) - ) { - void window.showInformationMessage('Stash applied with conflicts'); - - return; + } else { + void Messages.showGenericErrorMessage(ex.message); } - - void Messages.showGenericErrorMessage( - `Unable to apply stash \u2014 ${msg.trim().replace(/\n+?/g, '; ')}`, - ); - - return; } } } diff --git a/src/commands/git/status.ts b/src/commands/git/status.ts index c985e71..c21b51f 100644 --- a/src/commands/git/status.ts +++ b/src/commands/git/status.ts @@ -1,7 +1,7 @@ 'use strict'; import { GlyphChars } from '../../constants'; import { Container } from '../../container'; -import { GitReference, GitStatus, Repository } from '../../git/git'; +import { GitReference, GitStatus, Repository } from '../../git/models'; import { CommandQuickPickItem, GitCommandQuickPickItem } from '../../quickpicks'; import { Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/git/switch.ts b/src/commands/git/switch.ts index fa4a930..be46d2f 100644 --- a/src/commands/git/switch.ts +++ b/src/commands/git/switch.ts @@ -2,7 +2,7 @@ import { ProgressLocation, QuickPickItem, window } from 'vscode'; import { BranchSorting } from '../../config'; import { Container } from '../../container'; -import { GitReference, Repository } from '../../git/git'; +import { GitReference, Repository } from '../../git/models'; import { Arrays } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; import { diff --git a/src/commands/git/tag.ts b/src/commands/git/tag.ts index 2566bd8..f04c816 100644 --- a/src/commands/git/tag.ts +++ b/src/commands/git/tag.ts @@ -1,7 +1,7 @@ 'use strict'; import { QuickInputButtons, QuickPickItem } from 'vscode'; import { Container } from '../../container'; -import { GitReference, GitTagReference, Repository } from '../../git/git'; +import { GitReference, GitTagReference, Repository } from '../../git/models'; import { FlagsQuickPickItem, QuickPickItemOfT } from '../../quickpicks'; import { Strings } from '../../system'; import { ViewsWithRepositoryFolders } from '../../views/viewBase'; diff --git a/src/commands/gitCommands.actions.ts b/src/commands/gitCommands.actions.ts index 5430c97..20c9b87 100644 --- a/src/commands/gitCommands.actions.ts +++ b/src/commands/gitCommands.actions.ts @@ -13,6 +13,7 @@ import { } from '../commands'; import { FileAnnotationType } from '../configuration'; import { Container } from '../container'; +import { GitUri } from '../git/gitUri'; import { GitBranchReference, GitContributor, @@ -25,8 +26,7 @@ import { GitStashReference, GitTagReference, Repository, -} from '../git/git'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; import { RepositoryPicker } from '../quickpicks'; import { ViewsWithRepositoryFolders } from '../views/viewBase'; import { ResetGitCommandArgs } from './git/reset'; diff --git a/src/commands/openBranchOnRemote.ts b/src/commands/openBranchOnRemote.ts index 87b6535..b49879e 100644 --- a/src/commands/openBranchOnRemote.ts +++ b/src/commands/openBranchOnRemote.ts @@ -1,7 +1,7 @@ 'use strict'; import { TextEditor, Uri, window } from 'vscode'; -import { RemoteResourceType } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { CommandQuickPickItem, ReferencePicker, ReferencesQuickPickIncludes } from '../quickpicks'; import { diff --git a/src/commands/openBranchesOnRemote.ts b/src/commands/openBranchesOnRemote.ts index 9569bd9..77a523f 100644 --- a/src/commands/openBranchesOnRemote.ts +++ b/src/commands/openBranchesOnRemote.ts @@ -1,7 +1,7 @@ 'use strict'; import { TextEditor, Uri, window } from 'vscode'; -import { RemoteResourceType } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { ActiveEditorCommand, diff --git a/src/commands/openCommitOnRemote.ts b/src/commands/openCommitOnRemote.ts index 8b85ed9..1b15831 100644 --- a/src/commands/openCommitOnRemote.ts +++ b/src/commands/openCommitOnRemote.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextEditor, Uri, window } from 'vscode'; import { Container } from '../container'; -import { RemoteResourceType } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { diff --git a/src/commands/openComparisonOnRemote.ts b/src/commands/openComparisonOnRemote.ts index cbcf689..094a581 100644 --- a/src/commands/openComparisonOnRemote.ts +++ b/src/commands/openComparisonOnRemote.ts @@ -1,6 +1,6 @@ 'use strict'; import { window } from 'vscode'; -import { RemoteResourceType } from '../git/git'; +import { RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { ResultsCommitsNode } from '../views/nodes'; import { Command, command, CommandContext, Commands, executeCommand } from './common'; diff --git a/src/commands/openFileAtRevision.ts b/src/commands/openFileAtRevision.ts index 1ed0d2d..9e2bb76 100644 --- a/src/commands/openFileAtRevision.ts +++ b/src/commands/openFileAtRevision.ts @@ -3,8 +3,8 @@ import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode'; import { FileAnnotationType } from '../configuration'; import { GlyphChars, quickPickTitleMaxChars } from '../constants'; import { Container } from '../container'; -import { GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitRevision } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { CommandQuickPickItem, CommitPicker } from '../quickpicks'; diff --git a/src/commands/openFileAtRevisionFrom.ts b/src/commands/openFileAtRevisionFrom.ts index 5995edb..dc06857 100644 --- a/src/commands/openFileAtRevisionFrom.ts +++ b/src/commands/openFileAtRevisionFrom.ts @@ -4,8 +4,8 @@ import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode'; import { FileAnnotationType } from '../configuration'; import { GlyphChars, quickPickTitleMaxChars } from '../constants'; import { Container } from '../container'; -import { GitReference } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitReference } from '../git/models'; import { Messages } from '../messages'; import { ReferencePicker, StashPicker } from '../quickpicks'; import { Strings } from '../system'; diff --git a/src/commands/openFileOnRemote.ts b/src/commands/openFileOnRemote.ts index b15b8d6..38091a6 100644 --- a/src/commands/openFileOnRemote.ts +++ b/src/commands/openFileOnRemote.ts @@ -4,8 +4,9 @@ import { UriComparer } from '../comparers'; import { BranchSorting, TagSorting } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { GitBranch, GitRevision, RemoteResourceType } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitBranch, GitRevision } from '../git/models'; +import { RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { ReferencePicker } from '../quickpicks'; import { Strings } from '../system'; diff --git a/src/commands/openOnRemote.ts b/src/commands/openOnRemote.ts index 28c33e4..b752e14 100644 --- a/src/commands/openOnRemote.ts +++ b/src/commands/openOnRemote.ts @@ -1,7 +1,8 @@ 'use strict'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { GitRemote, GitRevision, RemoteProvider, RemoteResource, RemoteResourceType } from '../git/git'; +import { GitRemote, GitRevision } from '../git/models'; +import { RemoteProvider, RemoteResource, RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { RemoteProviderPicker } from '../quickpicks'; diff --git a/src/commands/openRepoOnRemote.ts b/src/commands/openRepoOnRemote.ts index 29330fc..3dd8bf5 100644 --- a/src/commands/openRepoOnRemote.ts +++ b/src/commands/openRepoOnRemote.ts @@ -1,7 +1,7 @@ 'use strict'; import { TextEditor, Uri, window } from 'vscode'; -import { RemoteResourceType } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { RemoteResourceType } from '../git/remotes/provider'; import { Logger } from '../logger'; import { ActiveEditorCommand, diff --git a/src/commands/quickCommand.steps.ts b/src/commands/quickCommand.steps.ts index 118dfd0..dc8c2da 100644 --- a/src/commands/quickCommand.steps.ts +++ b/src/commands/quickCommand.steps.ts @@ -3,6 +3,8 @@ import { QuickInputButton, QuickPick } from 'vscode'; import { BranchSorting, configuration, TagSorting } from '../configuration'; import { GlyphChars, quickPickTitleMaxChars } from '../constants'; import { Container } from '../container'; +import { PagedResult } from '../git/gitProvider'; +import { GitUri } from '../git/gitUri'; import { BranchSortOptions, GitBranch, @@ -19,14 +21,11 @@ import { GitStatus, GitTag, GitTagReference, - RemoteProvider, - RemoteResourceType, Repository, - SearchPattern, TagSortOptions, -} from '../git/git'; -import { PagedResult } from '../git/gitProvider'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; +import { RemoteProvider, RemoteResourceType } from '../git/remotes/provider'; +import { SearchPattern } from '../git/search'; import { BranchQuickPickItem, CommandQuickPickItem, diff --git a/src/commands/remoteProviders.ts b/src/commands/remoteProviders.ts index 4a94346..0c61b26 100644 --- a/src/commands/remoteProviders.ts +++ b/src/commands/remoteProviders.ts @@ -1,6 +1,7 @@ 'use strict'; import { Container } from '../container'; -import { GitCommit, GitRemote, Repository, RichRemoteProvider } from '../git/git'; +import { GitCommit, GitRemote, Repository } from '../git/models'; +import { RichRemoteProvider } from '../git/remotes/provider'; import { RepositoryPicker } from '../quickpicks/repositoryPicker'; import { Iterables } from '../system'; import { command, Command, CommandContext, Commands, isCommandContextViewNodeHasRemote } from './common'; diff --git a/src/commands/searchCommits.ts b/src/commands/searchCommits.ts index 4232e4e..7c49b90 100644 --- a/src/commands/searchCommits.ts +++ b/src/commands/searchCommits.ts @@ -1,7 +1,7 @@ 'use strict'; import { executeGitCommand } from '../commands'; import { Container } from '../container'; -import { SearchPattern } from '../git/git'; +import { SearchPattern } from '../git/search'; import { SearchResultsNode } from '../views/nodes'; import { Command, command, CommandContext, Commands, isCommandContextViewNodeHasRepository } from './common'; diff --git a/src/commands/showCommitsInView.ts b/src/commands/showCommitsInView.ts index 47c0235..0fec06f 100644 --- a/src/commands/showCommitsInView.ts +++ b/src/commands/showCommitsInView.ts @@ -2,8 +2,8 @@ import { TextEditor, Uri } from 'vscode'; import { executeGitCommand } from '../commands'; import { Container } from '../container'; -import { SearchPattern } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { SearchPattern } from '../git/search'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { Iterables } from '../system'; diff --git a/src/commands/showQuickBranchHistory.ts b/src/commands/showQuickBranchHistory.ts index 19297b3..0259fb1 100644 --- a/src/commands/showQuickBranchHistory.ts +++ b/src/commands/showQuickBranchHistory.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextEditor, Uri } from 'vscode'; import { Container } from '../container'; -import { GitReference } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitReference } from '../git/models'; import { ActiveEditorCachedCommand, command, CommandContext, Commands, getCommandUri } from './common'; import { executeGitCommand } from './gitCommands'; diff --git a/src/commands/showQuickCommit.ts b/src/commands/showQuickCommit.ts index 6680546..e0f0fb8 100644 --- a/src/commands/showQuickCommit.ts +++ b/src/commands/showQuickCommit.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextEditor, Uri } from 'vscode'; import { Container } from '../container'; -import { GitCommit, GitLog, GitLogCommit } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitCommit, GitLog, GitLogCommit } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { diff --git a/src/commands/showQuickCommitFile.ts b/src/commands/showQuickCommitFile.ts index e45aa37..573c124 100644 --- a/src/commands/showQuickCommitFile.ts +++ b/src/commands/showQuickCommitFile.ts @@ -1,8 +1,8 @@ 'use strict'; import { TextEditor, Uri, window } from 'vscode'; import { Container } from '../container'; -import { GitBlameCommit, GitCommit, GitLog, GitLogCommit } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitBlameCommit, GitCommit, GitLog, GitLogCommit } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { diff --git a/src/commands/showQuickFileHistory.ts b/src/commands/showQuickFileHistory.ts index 9f5b4b6..339fb87 100644 --- a/src/commands/showQuickFileHistory.ts +++ b/src/commands/showQuickFileHistory.ts @@ -1,8 +1,8 @@ 'use strict'; import { Range, TextEditor, Uri } from 'vscode'; import { Container } from '../container'; -import { GitBranch, GitLog, GitReference, GitTag } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitBranch, GitLog, GitReference, GitTag } from '../git/models'; import { CommandQuickPickItem } from '../quickpicks'; import { ActiveEditorCachedCommand, command, CommandContext, Commands, getCommandUri } from './common'; import { executeGitCommand } from './gitCommands'; diff --git a/src/commands/stashApply.ts b/src/commands/stashApply.ts index 60cef52..92fb8ab 100644 --- a/src/commands/stashApply.ts +++ b/src/commands/stashApply.ts @@ -1,6 +1,6 @@ 'use strict'; import { GitActions } from '../commands'; -import { GitStashCommit, GitStashReference } from '../git/git'; +import { GitStashCommit, GitStashReference } from '../git/models'; import { CommandQuickPickItem } from '../quickpicks'; import { command, diff --git a/src/constants.ts b/src/constants.ts index 37b4071..f1583c5 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,7 +1,7 @@ 'use strict'; import { commands, TextDocument, TextEditor, window } from 'vscode'; import { ViewShowBranchComparison } from './config'; -import { SearchPattern } from './git/git'; +import { SearchPattern } from './git/search'; export const quickPickTitleMaxChars = 80; diff --git a/src/container.ts b/src/container.ts index a85a3bf..e2403e3 100644 --- a/src/container.ts +++ b/src/container.ts @@ -1,14 +1,6 @@ 'use strict'; -import { - commands, - ConfigurationChangeEvent, - ConfigurationScope, - env, - Event, - EventEmitter, - ExtensionContext, - UIKind, -} from 'vscode'; +import { commands, ConfigurationChangeEvent, ConfigurationScope, Event, EventEmitter, ExtensionContext } from 'vscode'; +import { getSupportedGitProviders } from '@env/git'; import { Autolinks } from './annotations/autolinks'; import { FileAnnotationController } from './annotations/fileAnnotationController'; import { LineAnnotationController } from './annotations/lineAnnotationController'; @@ -24,8 +16,7 @@ import { FileAnnotationType, } from './configuration'; import { GitFileSystemProvider } from './git/fsProvider'; -import { GitProviderId, GitProviderService } from './git/gitProviderService'; -import { LocalGitProvider } from './git/providers/localGitProvider'; +import { GitProviderService } from './git/gitProviderService'; import { LineHoverController } from './hovers/lineHoverController'; import { Keyboard } from './keyboard'; import { Logger } from './logger'; @@ -155,8 +146,9 @@ export class Container { @log() private registerGitProviders() { - if (env.uiKind !== UIKind.Web) { - this._context.subscriptions.push(this._git.register(GitProviderId.Git, new LocalGitProvider(this))); + const providers = getSupportedGitProviders(this); + for (const provider of providers) { + this._context.subscriptions.push(this._git.register(provider.descriptor.id, provider)); } this._git.registrationComplete(); diff --git a/src/emojis.ts b/src/emojis.ts index ae77bd1..223c627 100644 --- a/src/emojis.ts +++ b/src/emojis.ts @@ -1,11 +1,8 @@ 'use strict'; -import * as emojis from './emojis.json'; +import emojis from './emojis.json'; -const emojiMap = (emojis as any).default as Record; const emojiRegex = /:([-+_a-z0-9]+):/g; export function emojify(message: string) { - return message.replace(emojiRegex, (s, code) => { - return emojiMap[code] || s; - }); + return message.replace(emojiRegex, (s, code) => (emojis as Record)[code] || s); } diff --git a/src/env/browser/crypto.ts b/src/env/browser/crypto.ts new file mode 100644 index 0000000..0c0358b --- /dev/null +++ b/src/env/browser/crypto.ts @@ -0,0 +1,10 @@ +import MD5 from 'md5.js'; +import { base64 } from './base64'; + +export function getNonce(): string { + return base64(globalThis.crypto.getRandomValues(new Uint8Array(16))); +} + +export function md5(data: string | Uint8Array, encoding: 'base64' | 'hex' = 'base64'): string { + return new MD5().update(data).digest(encoding); +} diff --git a/src/env/browser/git.ts b/src/env/browser/git.ts new file mode 100644 index 0000000..a0e76e8 --- /dev/null +++ b/src/env/browser/git.ts @@ -0,0 +1,11 @@ +import { Container } from '../../container'; +import { GitCommandOptions } from '../../git/commandOptions'; +import { GitProvider } from '../../git/gitProvider'; + +export function git(_options: GitCommandOptions, ..._args: any[]): Promise { + return Promise.resolve(''); +} + +export function getSupportedGitProviders(_container: Container): GitProvider[] { + return []; +} diff --git a/src/env/browser/platform.ts b/src/env/browser/platform.ts new file mode 100644 index 0000000..fd506e0 --- /dev/null +++ b/src/env/browser/platform.ts @@ -0,0 +1,5 @@ +export const isWeb = true; +export const isWindows = + (navigator as any)?.userAgentData?.platform === 'Windows' || + navigator.platform === 'Win32' || + navigator.platform === 'Win64'; diff --git a/src/env/node/crypto.ts b/src/env/node/crypto.ts new file mode 100644 index 0000000..3ab5663 --- /dev/null +++ b/src/env/node/crypto.ts @@ -0,0 +1,9 @@ +import { createHash, randomBytes } from 'crypto'; + +export function getNonce(): string { + return randomBytes(16).toString('base64'); +} + +export function md5(data: string | Uint8Array, encoding: 'base64' | 'hex' = 'base64'): string { + return createHash('md5').update(data).digest(encoding); +} diff --git a/src/env/node/git.ts b/src/env/node/git.ts new file mode 100644 index 0000000..fa496da --- /dev/null +++ b/src/env/node/git.ts @@ -0,0 +1,12 @@ +import { Container } from '../../container'; +import { GitProvider } from '../../git/gitProvider'; +import { LocalGitProvider } from './git/localGitProvider'; +import { isWeb } from './platform'; + +export { git } from './git/git'; + +export function getSupportedGitProviders(container: Container): GitProvider[] { + if (isWeb) return []; + + return [new LocalGitProvider(container)]; +} diff --git a/src/git/git.ts b/src/env/node/git/git.ts similarity index 97% rename from src/git/git.ts rename to src/env/node/git/git.ts index 3587d84..8814fae 100644 --- a/src/git/git.ts +++ b/src/env/node/git/git.ts @@ -3,24 +3,16 @@ import * as paths from 'path'; import { Uri, window, workspace } from 'vscode'; import { hrtime } from '@env/hrtime'; -import { GlyphChars } from '../constants'; -import { Container } from '../container'; -import { Logger } from '../logger'; -import { Paths, Strings, Versions } from '../system'; +import { GlyphChars } from '../../../constants'; +import { Container } from '../../../container'; +import { GitCommandOptions, GitErrorHandling } from '../../../git/commandOptions'; +import { GitDiffFilter, GitRevision } from '../../../git/models'; +import { GitBranchParser, GitLogParser, GitReflogParser, GitStashParser, GitTagParser } from '../../../git/parsers'; +import { Logger } from '../../../logger'; +import { Paths, Strings, Versions } from '../../../system'; import { GitLocation } from './locator'; -import { GitRevision } from './models/models'; -import { GitBranchParser, GitLogParser, GitReflogParser, GitStashParser, GitTagParser } from './parsers/parsers'; import { fsExists, run, RunError, RunOptions } from './shell'; -export * from './models/models'; -export * from './parsers/parsers'; -export * from './formatters/formatters'; -export * from './remotes/provider'; -export * from './search'; -export { RunError } from './shell'; - -export type GitDiffFilter = 'A' | 'C' | 'D' | 'M' | 'R' | 'T' | 'U' | 'X' | 'B' | '*'; - const emptyArray = Object.freeze([]) as unknown as any[]; const emptyObj = Object.freeze({}); const emptyStr = ''; @@ -57,19 +49,6 @@ const GitWarnings = { notAGitCommand: /'.+' is not a git command/i, }; -export const enum GitErrorHandling { - Ignore = 'ignore', - Throw = 'throw', -} - -export interface GitCommandOptions extends RunOptions { - configs?: string[]; - readonly correlationKey?: string; - errors?: GitErrorHandling; - // Specifies that this command should always be executed locally if possible - local?: boolean; -} - // A map of running git commands -- avoids running duplicate overlaping commands const pendingCommands = new Map>(); @@ -1563,7 +1542,3 @@ export namespace Git { export function isFolderGlob(path: string) { return paths.basename(path) === '*'; } - -export function toFolderGlob(fsPath: string) { - return paths.join(fsPath, '*'); -} diff --git a/src/git/providers/localGitProvider.ts b/src/env/node/git/localGitProvider.ts similarity index 97% rename from src/git/providers/localGitProvider.ts rename to src/env/node/git/localGitProvider.ts index 7ee89d2..0c7555e 100644 --- a/src/git/providers/localGitProvider.ts +++ b/src/env/node/git/localGitProvider.ts @@ -16,80 +16,93 @@ import { WorkspaceFolder, } from 'vscode'; import { hrtime } from '@env/hrtime'; -import type { API as BuiltInGitApi, Repository as BuiltInGitRepository, GitExtension } from '../../@types/vscode.git'; -import { configuration } from '../../configuration'; -import { BuiltInGitConfiguration, DocumentSchemes, GlyphChars } from '../../constants'; -import { Container } from '../../container'; -import { LogCorrelationContext, Logger } from '../../logger'; -import { Messages } from '../../messages'; -import { Arrays, debug, Functions, gate, Iterables, log, Paths, Promises, Strings, Versions } from '../../system'; -import { PromiseOrValue } from '../../system/promise'; +import { isWindows } from '@env/platform'; +import type { + API as BuiltInGitApi, + Repository as BuiltInGitRepository, + GitExtension, +} from '../../../@types/vscode.git'; +import { configuration } from '../../../configuration'; +import { BuiltInGitConfiguration, DocumentSchemes, GlyphChars } from '../../../constants'; +import { Container } from '../../../container'; +import { StashApplyError, StashApplyErrorReason } from '../../../git/errors'; import { - CachedBlame, - CachedDiff, - CachedLog, - GitDocumentState, - TrackedDocument, -} from '../../trackers/gitDocumentTracker'; + GitProvider, + GitProviderId, + PagedResult, + RepositoryInitWatcher, + ScmRepository, +} from '../../../git/gitProvider'; +import { GitProviderService } from '../../../git/gitProviderService'; +import { GitUri } from '../../../git/gitUri'; import { BranchSortOptions, - Git, GitAuthor, GitBlame, GitBlameCommit, GitBlameLine, GitBlameLines, - GitBlameParser, GitBranch, - GitBranchParser, GitBranchReference, GitCommitType, GitContributor, GitDiff, GitDiffFilter, GitDiffHunkLine, - GitDiffParser, GitDiffShortStat, - GitErrors, GitFile, GitLog, GitLogCommit, - GitLogParser, GitMergeStatus, GitRebaseStatus, GitReference, GitReflog, GitRemote, - GitRemoteParser, GitRevision, GitStash, - GitStashParser, GitStatus, GitStatusFile, - GitStatusParser, GitTag, - GitTagParser, GitTree, - GitTreeParser, GitUser, - isFolderGlob, - maxGitCliLength, PullRequest, PullRequestState, Repository, RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, - SearchPattern, TagSortOptions, -} from '../git'; -import { GitProvider, GitProviderId, PagedResult, RepositoryInitWatcher, ScmRepository } from '../gitProvider'; -import { GitProviderService } from '../gitProviderService'; -import { GitUri } from '../gitUri'; -import { findGitPath, GitLocation, InvalidGitConfigError, UnableToFindGitError } from '../locator'; -import { GitReflogParser, GitShortLogParser } from '../parsers/parsers'; -import { RemoteProvider, RemoteProviderFactory, RemoteProviders, RichRemoteProvider } from '../remotes/factory'; -import { fsExists, isWindows } from '../shell'; +} from '../../../git/models'; +import { + GitBlameParser, + GitBranchParser, + GitDiffParser, + GitLogParser, + GitReflogParser, + GitRemoteParser, + GitShortLogParser, + GitStashParser, + GitStatusParser, + GitTagParser, + GitTreeParser, +} from '../../../git/parsers'; +import { RemoteProviderFactory, RemoteProviders } from '../../../git/remotes/factory'; +import { RemoteProvider, RichRemoteProvider } from '../../../git/remotes/provider'; +import { SearchPattern } from '../../../git/search'; +import { LogCorrelationContext, Logger } from '../../../logger'; +import { Messages } from '../../../messages'; +import { Arrays, debug, Functions, gate, Iterables, log, Paths, Promises, Strings, Versions } from '../../../system'; +import { PromiseOrValue } from '../../../system/promise'; +import { + CachedBlame, + CachedDiff, + CachedLog, + GitDocumentState, + TrackedDocument, +} from '../../../trackers/gitDocumentTracker'; +import { Git, GitErrors, isFolderGlob, maxGitCliLength } from './git'; +import { findGitPath, GitLocation, InvalidGitConfigError, UnableToFindGitError } from './locator'; +import { fsExists, RunError } from './shell'; const emptyStr = ''; @@ -683,7 +696,7 @@ export class LocalGitProvider implements GitProvider, Disposable { async getBlameForFileContents(uri: GitUri, contents: string): Promise { const cc = Logger.getCorrelationContext(); - const key = `blame:${Strings.sha1(contents)}`; + const key = `blame:${Strings.md5(contents)}`; const doc = await this.container.tracker.getOrAdd(uri); if (this.useCaching) { @@ -1457,7 +1470,7 @@ export class LocalGitProvider implements GitProvider, Disposable { ): Promise { const cc = Logger.getCorrelationContext(); - const key = `diff:${Strings.sha1(contents)}`; + const key = `diff:${Strings.md5(contents)}`; const doc = await this.container.tracker.getOrAdd(uri); if (this.useCaching) { @@ -3679,7 +3692,39 @@ export class LocalGitProvider implements GitProvider, Disposable { stashName: string, { deleteAfter }: { deleteAfter?: boolean } = {}, ): Promise { - await Git.stash__apply(repoPath, stashName, Boolean(deleteAfter)); + try { + await Git.stash__apply(repoPath, stashName, Boolean(deleteAfter)); + } catch (ex) { + if (ex instanceof Error) { + const msg: string = ex.message ?? ''; + if (msg.includes('Your local changes to the following files would be overwritten by merge')) { + throw new StashApplyError( + 'Unable to apply stash. Your working tree changes would be overwritten. Please commit or stash your changes before trying again', + StashApplyErrorReason.WorkingChanges, + ex, + ); + } + + if ( + (msg.includes('Auto-merging') && msg.includes('CONFLICT')) || + (ex instanceof RunError && + ((ex.stdout.includes('Auto-merging') && ex.stdout.includes('CONFLICT')) || + ex.stdout.includes('needs merge'))) + ) { + void window.showInformationMessage('Stash applied with conflicts'); + + return; + } + + throw new StashApplyError( + `Unable to apply stash \u2014 ${msg.trim().replace(/\n+?/g, '; ')}`, + undefined, + ex, + ); + } + + throw new StashApplyError(`Unable to apply stash \u2014 ${String(ex)}`, undefined, ex); + } } @log() diff --git a/src/git/locator.ts b/src/env/node/git/locator.ts similarity index 96% rename from src/git/locator.ts rename to src/env/node/git/locator.ts index 4b17759..bb544f4 100644 --- a/src/git/locator.ts +++ b/src/env/node/git/locator.ts @@ -1,8 +1,8 @@ 'use strict'; import * as paths from 'path'; -import { GlyphChars } from '../constants'; -import { LogLevel } from '../logger'; -import { Stopwatch } from '../system'; +import { GlyphChars } from '../../../constants'; +import { LogLevel } from '../../../logger'; +import { Stopwatch } from '../../../system'; import { findExecutable, run } from './shell'; export class UnableToFindGitError extends Error { diff --git a/src/git/shell.ts b/src/env/node/git/shell.ts similarity index 99% rename from src/git/shell.ts rename to src/env/node/git/shell.ts index ad59cfc..7687503 100644 --- a/src/git/shell.ts +++ b/src/env/node/git/shell.ts @@ -3,7 +3,7 @@ import { ExecException, execFile } from 'child_process'; import * as fs from 'fs'; import * as paths from 'path'; import * as iconv from 'iconv-lite'; -import { Logger } from '../logger'; +import { Logger } from '../../../logger'; export const isWindows = process.platform === 'win32'; diff --git a/src/env/node/platform.ts b/src/env/node/platform.ts new file mode 100644 index 0000000..de9c4a6 --- /dev/null +++ b/src/env/node/platform.ts @@ -0,0 +1,4 @@ +import { env, UIKind } from 'vscode'; + +export const isWeb = env.uiKind === UIKind.Web; +export const isWindows = process.platform === 'win32'; diff --git a/src/extension.ts b/src/extension.ts index d09db39..49e1aef 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,14 +1,14 @@ 'use strict'; import { version as codeVersion, commands, env, ExtensionContext, extensions, window, workspace } from 'vscode'; -import type { CreatePullRequestActionContext, GitLensApi, OpenPullRequestActionContext } from '../src/api/gitlens'; import { Api } from './api/api'; +import type { CreatePullRequestActionContext, GitLensApi, OpenPullRequestActionContext } from './api/gitlens'; import { Commands, executeCommand, OpenPullRequestOnRemoteCommandArgs, registerCommands } from './commands'; import { CreatePullRequestOnRemoteCommandArgs } from './commands/createPullRequestOnRemote'; import { configuration, Configuration, OutputLevel } from './configuration'; import { ContextKeys, GlobalState, setContext, SyncedState } from './constants'; import { Container } from './container'; -import { GitBranch, GitCommit } from './git/git'; import { GitUri } from './git/gitUri'; +import { GitBranch, GitCommit } from './git/models'; import { Logger, LogLevel } from './logger'; import { Messages } from './messages'; import { registerPartnerActionRunners } from './partners'; diff --git a/src/git/commandOptions.ts b/src/git/commandOptions.ts new file mode 100644 index 0000000..35ea154 --- /dev/null +++ b/src/git/commandOptions.ts @@ -0,0 +1,23 @@ +'use strict'; + +export const enum GitErrorHandling { + Throw = 0, + Ignore = 1, +} + +export interface GitCommandOptions { + // extends RunOptions { + configs?: string[]; + readonly correlationKey?: string; + errors?: GitErrorHandling; + // Specifies that this command should always be executed locally if possible + local?: boolean; + + // Below options comes from RunOptions + cwd?: string; + readonly env?: Record; + readonly encoding?: BufferEncoding | 'buffer' | string; + readonly maxBuffer?: number; + readonly stdin?: string | Buffer; + readonly stdinEncoding?: string; +} diff --git a/src/git/errors.ts b/src/git/errors.ts index 34b5561..cd6467e 100644 --- a/src/git/errors.ts +++ b/src/git/errors.ts @@ -1,3 +1,4 @@ +'use strict'; import { Uri } from 'vscode'; import { GitProviderId, GitProviderService } from './gitProviderService'; @@ -15,3 +16,19 @@ export class ProviderNotFoundError extends Error { Error.captureStackTrace?.(this, ProviderNotFoundError); } } + +export const enum StashApplyErrorReason { + WorkingChanges = 1, +} + +export class StashApplyError extends Error { + constructor( + message: string, + public readonly reason: StashApplyErrorReason | undefined, + public readonly original?: Error, + ) { + super(message); + + Error.captureStackTrace?.(this, StashApplyError); + } +} diff --git a/src/git/formatters.ts b/src/git/formatters.ts new file mode 100644 index 0000000..ab07b49 --- /dev/null +++ b/src/git/formatters.ts @@ -0,0 +1,4 @@ +'use strict'; + +export * from './formatters/commitFormatter'; +export * from './formatters/statusFormatter'; diff --git a/src/git/formatters/commitFormatter.ts b/src/git/formatters/commitFormatter.ts index e534acb..474eff3 100644 --- a/src/git/formatters/commitFormatter.ts +++ b/src/git/formatters/commitFormatter.ts @@ -18,16 +18,9 @@ import { Container } from '../../container'; import { emojify } from '../../emojis'; import { Iterables, Promises, Strings } from '../../system'; import { ContactPresence } from '../../vsls/vsls'; -import { - GitCommit, - GitLogCommit, - GitRemote, - GitRevision, - IssueOrPullRequest, - PullRequest, - RemoteProvider, -} from '../git'; import { GitUri } from '../gitUri'; +import { GitCommit, GitLogCommit, GitRemote, GitRevision, IssueOrPullRequest, PullRequest } from '../models'; +import { RemoteProvider } from '../remotes/provider'; import { FormatOptions, Formatter } from './formatter'; const emptyStr = ''; diff --git a/src/git/formatters/formatters.ts b/src/git/formatters/formatters.ts deleted file mode 100644 index ff1a2c6..0000000 --- a/src/git/formatters/formatters.ts +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -export * from './commitFormatter'; -export * from './statusFormatter'; diff --git a/src/git/fsProvider.ts b/src/git/fsProvider.ts index 8fcfa64..e8763ae 100644 --- a/src/git/fsProvider.ts +++ b/src/git/fsProvider.ts @@ -14,9 +14,9 @@ import { } from 'vscode'; import { DocumentSchemes } from '../constants'; import { Container } from '../container'; -import { GitRevision, GitTree } from '../git/git'; import { GitUri } from '../git/gitUri'; import { debug, Iterables, Strings, TernarySearchTree } from '../system'; +import { GitRevision, GitTree } from './models'; const emptyArray = new Uint8Array(0); diff --git a/src/git/gitProvider.ts b/src/git/gitProvider.ts index 6595df5..6da8ede 100644 --- a/src/git/gitProvider.ts +++ b/src/git/gitProvider.ts @@ -1,5 +1,6 @@ import { Disposable, Event, Range, TextEditor, Uri, WorkspaceFolder } from 'vscode'; import { Commit, InputBox } from '../@types/vscode.git'; +import { GitUri } from './gitUri'; import { BranchSortOptions, GitBlame, @@ -25,14 +26,12 @@ import { GitTag, GitTree, GitUser, - RemoteProvider, Repository, RepositoryChangeEvent, - RichRemoteProvider, TagSortOptions, -} from './git'; -import { GitUri } from './gitUri'; +} from './models'; import { RemoteProviders } from './remotes/factory'; +import { RemoteProvider, RichRemoteProvider } from './remotes/provider'; import { SearchPattern } from './search'; export const enum GitProviderId { diff --git a/src/git/gitProviderService.ts b/src/git/gitProviderService.ts index b18597a..45fb329 100644 --- a/src/git/gitProviderService.ts +++ b/src/git/gitProviderService.ts @@ -31,8 +31,9 @@ import { Arrays, debug, gate, Iterables, log, Paths, Promises, Strings } from '. import { PromiseOrValue } from '../system/promise'; import { vslsUriPrefixRegex } from '../vsls/vsls'; import { ProviderNotFoundError } from './errors'; +import { GitProvider, GitProviderDescriptor, GitProviderId, PagedResult, ScmRepository } from './gitProvider'; +import { GitUri } from './gitUri'; import { - Authentication, BranchDateFormatting, BranchSortOptions, CommitDateFormatting, @@ -68,12 +69,11 @@ import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, - SearchPattern, TagSortOptions, -} from './git'; -import { GitProvider, GitProviderDescriptor, GitProviderId, PagedResult, ScmRepository } from './gitProvider'; -import { GitUri } from './gitUri'; -import { RemoteProvider, RemoteProviders, RichRemoteProvider } from './remotes/factory'; +} from './models'; +import { RemoteProviders } from './remotes/factory'; +import { Authentication, RemoteProvider, RichRemoteProvider } from './remotes/provider'; +import { SearchPattern } from './search'; export { type GitProviderDescriptor, GitProviderId }; diff --git a/src/git/gitUri.ts b/src/git/gitUri.ts index 6109046..f4e1708 100644 --- a/src/git/gitUri.ts +++ b/src/git/gitUri.ts @@ -4,9 +4,9 @@ import { Uri } from 'vscode'; import { UriComparer } from '../comparers'; import { DocumentSchemes } from '../constants'; import { Container } from '../container'; -import { GitCommit, GitFile, GitRevision } from '../git/git'; import { Logger } from '../logger'; import { debug, memoize, Strings } from '../system'; +import { GitCommit, GitFile, GitRevision } from './models'; const emptyStr = ''; const slash = '/'; diff --git a/src/git/models.ts b/src/git/models.ts new file mode 100644 index 0000000..b2f717a --- /dev/null +++ b/src/git/models.ts @@ -0,0 +1,28 @@ +'use strict'; +export * from './models/author'; +export * from './models/blame'; +export * from './models/blameCommit'; +export * from './models/branch'; +export * from './models/commit'; +export * from './models/contributor'; +export * from './models/defaultBranch'; +export * from './models/diff'; +export * from './models/file'; +export * from './models/issue'; +export * from './models/log'; +export * from './models/logCommit'; +export * from './models/merge'; +export * from './models/pullRequest'; +export * from './models/reference'; +export * from './models/rebase'; +export * from './models/reflog'; +export * from './models/remote'; +export * from './models/remoteProvider'; +export * from './models/repository'; +export * from './models/shortlog'; +export * from './models/stash'; +export * from './models/stashCommit'; +export * from './models/status'; +export * from './models/tag'; +export * from './models/tree'; +export * from './models/user'; diff --git a/src/git/models/branch.ts b/src/git/models/branch.ts index 887b16a..a823d03 100644 --- a/src/git/models/branch.ts +++ b/src/git/models/branch.ts @@ -3,8 +3,9 @@ import { BranchSorting, configuration, DateStyle } from '../../configuration'; import { Starred, WorkspaceState } from '../../constants'; import { Container } from '../../container'; import { Dates, debug, memoize, Strings } from '../../system'; -import { GitRemote, GitRevision } from '../git'; -import { GitBranchReference, GitReference, PullRequest, PullRequestState } from './models'; +import { GitBranchReference, GitReference, GitRevision } from '../models'; +import { PullRequest, PullRequestState } from './pullRequest'; +import { GitRemote } from './remote'; import { GitStatus } from './status'; const whitespaceRegex = /\s/; diff --git a/src/git/models/commit.ts b/src/git/models/commit.ts index 2600463..df7b2b3 100644 --- a/src/git/models/commit.ts +++ b/src/git/models/commit.ts @@ -4,9 +4,9 @@ import { getAvatarUri } from '../../avatars'; import { configuration, DateSource, DateStyle, GravatarDefaultStyle } from '../../configuration'; import { Container } from '../../container'; import { Dates, memoize } from '../../system'; -import { CommitFormatter } from '../formatters/formatters'; +import { CommitFormatter } from '../formatters'; import { GitUri } from '../gitUri'; -import { GitReference, GitRevision, GitRevisionReference, PullRequest } from './models'; +import { GitReference, GitRevision, GitRevisionReference, PullRequest } from '../models'; export interface GitAuthor { name: string; diff --git a/src/git/models/diff.ts b/src/git/models/diff.ts index e8cc438..80da856 100644 --- a/src/git/models/diff.ts +++ b/src/git/models/diff.ts @@ -53,3 +53,5 @@ export interface GitDiffShortStat { readonly insertions: number; readonly deletions: number; } + +export type GitDiffFilter = 'A' | 'C' | 'D' | 'M' | 'R' | 'T' | 'U' | 'X' | 'B' | '*'; diff --git a/src/git/models/logCommit.ts b/src/git/models/logCommit.ts index cb999b5..edf3864 100644 --- a/src/git/models/logCommit.ts +++ b/src/git/models/logCommit.ts @@ -2,9 +2,9 @@ import { Uri } from 'vscode'; import { memoize, Strings } from '../../system'; import { GitUri } from '../gitUri'; +import { GitReference } from '../models'; import { GitCommit, GitCommitType } from './commit'; import { GitFile, GitFileStatus } from './file'; -import { GitReference } from './models'; const emptyStats = Object.freeze({ added: 0, diff --git a/src/git/models/merge.ts b/src/git/models/merge.ts index 838e8ff..847686a 100644 --- a/src/git/models/merge.ts +++ b/src/git/models/merge.ts @@ -1,5 +1,5 @@ 'use strict'; -import { GitBranchReference, GitRevisionReference } from './models'; +import { GitBranchReference, GitRevisionReference } from '../models'; export interface GitMergeStatus { type: 'merge'; diff --git a/src/git/models/rebase.ts b/src/git/models/rebase.ts index 2bd9906..60ea24d 100644 --- a/src/git/models/rebase.ts +++ b/src/git/models/rebase.ts @@ -1,5 +1,5 @@ 'use strict'; -import { GitBranchReference, GitRevisionReference } from './models'; +import { GitBranchReference, GitRevisionReference } from '../models'; export interface GitRebaseStatus { type: 'rebase'; diff --git a/src/git/models/models.ts b/src/git/models/reference.ts similarity index 93% rename from src/git/models/models.ts rename to src/git/models/reference.ts index 30008ca..f2a184c 100644 --- a/src/git/models/models.ts +++ b/src/git/models/reference.ts @@ -339,30 +339,3 @@ export namespace GitReference { } } } - -export * from './author'; -export * from './blame'; -export * from './blameCommit'; -export * from './branch'; -export * from './commit'; -export * from './contributor'; -export * from './defaultBranch'; -export * from './diff'; -export * from './file'; -export * from './issue'; -export * from './log'; -export * from './logCommit'; -export * from './merge'; -export * from './pullRequest'; -export * from './rebase'; -export * from './reflog'; -export * from './remote'; -export * from './remoteProvider'; -export * from './repository'; -export * from './shortlog'; -export * from './stash'; -export * from './stashCommit'; -export * from './status'; -export * from './tag'; -export * from './tree'; -export * from './user'; diff --git a/src/git/models/reflog.ts b/src/git/models/reflog.ts index 061704a..55abc07 100644 --- a/src/git/models/reflog.ts +++ b/src/git/models/reflog.ts @@ -1,7 +1,7 @@ 'use strict'; import { DateStyle } from '../../config'; import { Dates, memoize } from '../../system'; -import { CommitDateFormatting, GitRevision } from '../git'; +import { CommitDateFormatting, GitRevision } from '../models'; export interface GitReflog { readonly repoPath: string; diff --git a/src/git/models/remote.ts b/src/git/models/remote.ts index e004da6..e6b2d86 100644 --- a/src/git/models/remote.ts +++ b/src/git/models/remote.ts @@ -2,7 +2,7 @@ import { WorkspaceState } from '../../constants'; import { Container } from '../../container'; import { Strings } from '../../system'; -import { RemoteProvider, RichRemoteProvider } from '../remotes/factory'; +import { RemoteProvider, RichRemoteProvider } from '../remotes/provider'; export const enum GitRemoteType { Fetch = 'fetch', diff --git a/src/git/models/repository.ts b/src/git/models/repository.ts index 944ec58..444de04 100644 --- a/src/git/models/repository.ts +++ b/src/git/models/repository.ts @@ -22,30 +22,23 @@ import { Logger, LogLevel } from '../../logger'; import { Messages } from '../../messages'; import { Arrays, Dates, debug, Functions, gate, Iterables, log, logName } from '../../system'; import { runGitCommandInTerminal } from '../../terminal'; -import { - GitBranch, - GitContributor, - GitDiffShortStat, - GitRemote, - GitStash, - GitStatus, - GitTag, - SearchPattern, -} from '../git'; import { GitProviderDescriptor } from '../gitProvider'; import { GitUri } from '../gitUri'; -import { RemoteProviderFactory, RemoteProviders, RichRemoteProvider } from '../remotes/factory'; -import { - BranchSortOptions, - GitBranchReference, - GitLog, - GitLogCommit, - GitMergeStatus, - GitRebaseStatus, - GitReference, - GitTagReference, - TagSortOptions, -} from './models'; +import { RemoteProviderFactory, RemoteProviders } from '../remotes/factory'; +import { RichRemoteProvider } from '../remotes/provider'; +import { SearchPattern } from '../search'; +import { BranchSortOptions, GitBranch } from './branch'; +import { GitContributor } from './contributor'; +import { GitDiffShortStat } from './diff'; +import { GitLog } from './log'; +import { GitLogCommit } from './logCommit'; +import { GitMergeStatus } from './merge'; +import { GitRebaseStatus } from './rebase'; +import { GitBranchReference, GitReference, GitTagReference } from './reference'; +import { GitRemote } from './remote'; +import { GitStash } from './stash'; +import { GitStatus } from './status'; +import { GitTag, TagSortOptions } from './tag'; export const enum RepositoryChange { // FileSystem = 'filesystem', diff --git a/src/git/models/stashCommit.ts b/src/git/models/stashCommit.ts index 53825af..6a9b90a 100644 --- a/src/git/models/stashCommit.ts +++ b/src/git/models/stashCommit.ts @@ -1,10 +1,10 @@ 'use strict'; import { Container } from '../../container'; import { gate, memoize } from '../../system'; +import { GitReference } from '../models'; import { GitCommitType } from './commit'; import { GitFile, GitFileWorkingTreeStatus } from './file'; import { GitLogCommit } from './logCommit'; -import { GitReference } from './models'; const stashNumberRegex = /stash@{(\d+)}/; diff --git a/src/git/models/status.ts b/src/git/models/status.ts index 9bd7cf6..1f831a0 100644 --- a/src/git/models/status.ts +++ b/src/git/models/status.ts @@ -4,9 +4,9 @@ import { GlyphChars } from '../../constants'; import { Container } from '../../container'; import { memoize, Strings } from '../../system'; import { GitUri } from '../gitUri'; +import { GitCommitType, GitLogCommit, GitRemote, GitRevision, GitUser } from '../models'; import { GitBranch, GitTrackingState } from './branch'; import { GitFile, GitFileConflictStatus, GitFileIndexStatus, GitFileStatus, GitFileWorkingTreeStatus } from './file'; -import { GitCommitType, GitLogCommit, GitRemote, GitRevision, GitUser } from './models'; export interface ComputedWorkingTreeGitStatus { staged: number; diff --git a/src/git/models/tag.ts b/src/git/models/tag.ts index f33370c..499492f 100644 --- a/src/git/models/tag.ts +++ b/src/git/models/tag.ts @@ -1,7 +1,7 @@ 'use strict'; import { configuration, DateStyle, TagSorting } from '../../configuration'; import { Dates, memoize, Strings } from '../../system'; -import { GitReference, GitTagReference } from './models'; +import { GitReference, GitTagReference } from '../models'; export const TagDateFormatting = { dateFormat: undefined! as string | null, diff --git a/src/git/parsers.ts b/src/git/parsers.ts new file mode 100644 index 0000000..7329399 --- /dev/null +++ b/src/git/parsers.ts @@ -0,0 +1,13 @@ +'use strict'; + +export * from './parsers/blameParser'; +export * from './parsers/branchParser'; +export * from './parsers/diffParser'; +export * from './parsers/logParser'; +export * from './parsers/reflogParser'; +export * from './parsers/remoteParser'; +export * from './parsers/shortlogParser'; +export * from './parsers/stashParser'; +export * from './parsers/statusParser'; +export * from './parsers/tagParser'; +export * from './parsers/treeParser'; diff --git a/src/git/parsers/blameParser.ts b/src/git/parsers/blameParser.ts index 2461022..ac7d1d4 100644 --- a/src/git/parsers/blameParser.ts +++ b/src/git/parsers/blameParser.ts @@ -1,7 +1,7 @@ 'use strict'; import * as paths from 'path'; import { debug, Strings } from '../../system'; -import { GitAuthor, GitBlame, GitBlameCommit, GitCommitLine, GitRevision, GitUser } from '../git'; +import { GitAuthor, GitBlame, GitBlameCommit, GitCommitLine, GitRevision, GitUser } from '../models'; const emptyStr = ''; const slash = '/'; diff --git a/src/git/parsers/logParser.ts b/src/git/parsers/logParser.ts index adc24eb..4fd9f3a 100644 --- a/src/git/parsers/logParser.ts +++ b/src/git/parsers/logParser.ts @@ -12,7 +12,7 @@ import { GitLogCommitLine, GitRevision, GitUser, -} from '../git'; +} from '../models'; const emptyEntry: LogEntry = {}; const emptyStr = ''; diff --git a/src/git/parsers/parsers.ts b/src/git/parsers/parsers.ts deleted file mode 100644 index 8a05da2..0000000 --- a/src/git/parsers/parsers.ts +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -export * from './blameParser'; -export * from './branchParser'; -export * from './diffParser'; -export * from './logParser'; -export * from './reflogParser'; -export * from './remoteParser'; -export * from './shortlogParser'; -export * from './stashParser'; -export * from './statusParser'; -export * from './tagParser'; -export * from './treeParser'; diff --git a/src/git/parsers/remoteParser.ts b/src/git/parsers/remoteParser.ts index 98c5bd7..cae0a43 100644 --- a/src/git/parsers/remoteParser.ts +++ b/src/git/parsers/remoteParser.ts @@ -1,8 +1,8 @@ 'use strict'; import { debug } from '../../system'; -import { GitRemote } from '../git'; +import { GitRemote } from '../models'; import { GitRemoteType } from '../models/remote'; -import { RemoteProvider } from '../remotes/factory'; +import { RemoteProvider } from '../remotes/provider'; const emptyStr = ''; diff --git a/src/git/parsers/shortlogParser.ts b/src/git/parsers/shortlogParser.ts index 87eec2e..1790dbe 100644 --- a/src/git/parsers/shortlogParser.ts +++ b/src/git/parsers/shortlogParser.ts @@ -1,6 +1,6 @@ 'use strict'; import { debug } from '../../system'; -import { GitContributor, GitShortLog, GitUser } from '../git'; +import { GitContributor, GitShortLog, GitUser } from '../models'; const shortlogRegex = /^(.*?)\t(.*?) <(.*?)>$/gm; const shortstatRegex = diff --git a/src/git/parsers/stashParser.ts b/src/git/parsers/stashParser.ts index 6363ede..d9aa639 100644 --- a/src/git/parsers/stashParser.ts +++ b/src/git/parsers/stashParser.ts @@ -1,6 +1,7 @@ 'use strict'; import { Arrays, debug, Strings } from '../../system'; -import { fileStatusRegex, GitCommitType, GitFile, GitFileIndexStatus, GitStash, GitStashCommit } from '../git'; +import { GitCommitType, GitFile, GitFileIndexStatus, GitStash, GitStashCommit } from '../models'; +import { fileStatusRegex } from './logParser'; // import { Logger } from './logger'; // Using %x00 codes because some shells seem to try to expand things if not diff --git a/src/git/parsers/statusParser.ts b/src/git/parsers/statusParser.ts index 54c26fa..cd37b73 100644 --- a/src/git/parsers/statusParser.ts +++ b/src/git/parsers/statusParser.ts @@ -1,6 +1,6 @@ 'use strict'; import { debug, Strings } from '../../system'; -import { GitStatus, GitStatusFile } from '../git'; +import { GitStatus, GitStatusFile } from '../models'; const emptyStr = ''; diff --git a/src/git/parsers/tagParser.ts b/src/git/parsers/tagParser.ts index 8e2b795..4053436 100644 --- a/src/git/parsers/tagParser.ts +++ b/src/git/parsers/tagParser.ts @@ -1,6 +1,6 @@ 'use strict'; import { debug } from '../../system'; -import { GitTag } from '../git'; +import { GitTag } from '../models'; const tagRegex = /^(.+)<\*r>(.*)(.*)(.*)(.*)(.*)$/gm; diff --git a/src/git/parsers/treeParser.ts b/src/git/parsers/treeParser.ts index e3cef4b..20492c7 100644 --- a/src/git/parsers/treeParser.ts +++ b/src/git/parsers/treeParser.ts @@ -1,6 +1,6 @@ 'use strict'; import { debug } from '../../system'; -import { GitTree } from '../git'; +import { GitTree } from '../models'; const emptyStr = ''; const treeRegex = /(?:.+?)\s+(.+?)\s+(.+?)\s+(.+?)\s+(.+)/gm; diff --git a/src/git/remotes/bitbucket-server.ts b/src/git/remotes/bitbucket-server.ts index 5f9516d..aadc5ee 100644 --- a/src/git/remotes/bitbucket-server.ts +++ b/src/git/remotes/bitbucket-server.ts @@ -2,7 +2,7 @@ import { Range, Uri } from 'vscode'; import { DynamicAutolinkReference } from '../../annotations/autolinks'; import { AutolinkReference } from '../../config'; -import { GitRevision } from '../models/models'; +import { GitRevision } from '../models'; import { Repository } from '../models/repository'; import { RemoteProvider } from './provider'; diff --git a/src/git/remotes/bitbucket.ts b/src/git/remotes/bitbucket.ts index e87ece1..898750a 100644 --- a/src/git/remotes/bitbucket.ts +++ b/src/git/remotes/bitbucket.ts @@ -2,7 +2,7 @@ import { Range, Uri } from 'vscode'; import { DynamicAutolinkReference } from '../../annotations/autolinks'; import { AutolinkReference } from '../../config'; -import { GitRevision } from '../models/models'; +import { GitRevision } from '../models'; import { Repository } from '../models/repository'; import { RemoteProvider } from './provider'; diff --git a/src/git/remotes/factory.ts b/src/git/remotes/factory.ts index d499f4f..3391146 100644 --- a/src/git/remotes/factory.ts +++ b/src/git/remotes/factory.ts @@ -9,9 +9,9 @@ import { GerritRemote } from './gerrit'; import { GiteaRemote } from './gitea'; import { GitHubRemote } from './github'; import { GitLabRemote } from './gitlab'; -import { RemoteProvider, RichRemoteProvider } from './provider'; +import { RemoteProvider } from './provider'; -export { RemoteProvider, RichRemoteProvider }; +// export { RemoteProvider, RichRemoteProvider }; export type RemoteProviders = { custom: boolean; matcher: string | RegExp; diff --git a/src/git/remotes/gerrit.ts b/src/git/remotes/gerrit.ts index d495c94..36c48ca 100644 --- a/src/git/remotes/gerrit.ts +++ b/src/git/remotes/gerrit.ts @@ -2,7 +2,7 @@ import { Range, Uri } from 'vscode'; import { DynamicAutolinkReference } from '../../annotations/autolinks'; import { AutolinkReference } from '../../config'; -import { GitRevision } from '../models/models'; +import { GitRevision } from '../models'; import { Repository } from '../models/repository'; import { RemoteProvider } from './provider'; diff --git a/src/git/remotes/gitea.ts b/src/git/remotes/gitea.ts index 010c641..4b9a0cd 100644 --- a/src/git/remotes/gitea.ts +++ b/src/git/remotes/gitea.ts @@ -2,7 +2,7 @@ import { Range, Uri } from 'vscode'; import { DynamicAutolinkReference } from '../../annotations/autolinks'; import { AutolinkReference } from '../../config'; -import { GitRevision } from '../models/models'; +import { GitRevision } from '../models'; import { Repository } from '../models/repository'; import { RemoteProvider } from './provider'; diff --git a/src/git/remotes/github.ts b/src/git/remotes/github.ts index 643243c..f032923 100644 --- a/src/git/remotes/github.ts +++ b/src/git/remotes/github.ts @@ -12,7 +12,7 @@ import { PullRequest, PullRequestState, Repository, -} from '../models/models'; +} from '../models'; import { RichRemoteProvider } from './provider'; const issueEnricher3rdPartyRegex = /\b(?[^/\s]+\/[^/\s]+)\\#(?[0-9]+)\b(?!]\()/g; diff --git a/src/git/remotes/gitlab.ts b/src/git/remotes/gitlab.ts index 3ca3621..8575296 100644 --- a/src/git/remotes/gitlab.ts +++ b/src/git/remotes/gitlab.ts @@ -2,7 +2,7 @@ import { Range, Uri } from 'vscode'; import { DynamicAutolinkReference } from '../../annotations/autolinks'; import { AutolinkReference } from '../../config'; -import { GitRevision } from '../models/models'; +import { GitRevision } from '../models'; import { Repository } from '../models/repository'; import { RemoteProvider } from './provider'; diff --git a/src/git/remotes/provider.ts b/src/git/remotes/provider.ts index 0b7d612..f84a447 100644 --- a/src/git/remotes/provider.ts +++ b/src/git/remotes/provider.ts @@ -24,7 +24,7 @@ import { PullRequestState, RemoteProviderReference, Repository, -} from '../models/models'; +} from '../models'; export const enum RemoteResourceType { Branch = 'branch', diff --git a/src/git/search.ts b/src/git/search.ts index 271d0e6..c658f92 100644 --- a/src/git/search.ts +++ b/src/git/search.ts @@ -1,6 +1,5 @@ 'use strict'; -import { GitRevision } from './git'; -import { GitRevisionReference } from './models/models'; +import { GitRevision, GitRevisionReference } from './models'; export type SearchOperators = | '' diff --git a/src/github/github.ts b/src/github/github.ts index 0902133..485bd8b 100644 --- a/src/github/github.ts +++ b/src/github/github.ts @@ -1,16 +1,14 @@ 'use strict'; import { graphql } from '@octokit/graphql'; import { - AuthenticationError, - ClientError, DefaultBranch, IssueOrPullRequest, IssueOrPullRequestType, PullRequest, PullRequestState, - RichRemoteProvider, -} from '../git/git'; +} from '../git/models'; import { Account } from '../git/models/author'; +import { AuthenticationError, ClientError, RichRemoteProvider } from '../git/remotes/provider'; import { Logger } from '../logger'; import { debug } from '../system'; diff --git a/src/hovers/hovers.ts b/src/hovers/hovers.ts index 6fc0902..b8b8510 100644 --- a/src/hovers/hovers.ts +++ b/src/hovers/hovers.ts @@ -1,11 +1,12 @@ 'use strict'; import { CancellationToken, MarkdownString } from 'vscode'; +import { hrtime } from '@env/hrtime'; import { DiffWithCommand, ShowQuickCommitCommand } from '../commands'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { hrtime } from '../env/node/hrtime'; +import { CommitFormatter } from '../git/formatters'; +import { GitUri } from '../git/gitUri'; import { - CommitFormatter, GitBlameCommit, GitCommit, GitDiffHunk, @@ -14,8 +15,7 @@ import { GitRemote, GitRevision, PullRequest, -} from '../git/git'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; import { Logger, LogLevel } from '../logger'; import { Iterables, Promises, Strings } from '../system'; diff --git a/src/messages.ts b/src/messages.ts index 2f98d08..e48ca2d 100644 --- a/src/messages.ts +++ b/src/messages.ts @@ -1,7 +1,7 @@ 'use strict'; import { ConfigurationTarget, env, MessageItem, Uri, window } from 'vscode'; import { configuration } from './configuration'; -import { GitCommit } from './git/git'; +import { GitCommit } from './git/models'; import { Logger } from './logger'; export const enum SuppressedMessages { diff --git a/src/quickpicks/commitPicker.ts b/src/quickpicks/commitPicker.ts index c658ac4..3af98d1 100644 --- a/src/quickpicks/commitPicker.ts +++ b/src/quickpicks/commitPicker.ts @@ -2,7 +2,7 @@ import { Disposable, window } from 'vscode'; import { configuration } from '../configuration'; import { Container } from '../container'; -import { GitLog, GitLogCommit, GitStash, GitStashCommit } from '../git/git'; +import { GitLog, GitLogCommit, GitStash, GitStashCommit } from '../git/models'; import { KeyboardScope, Keys } from '../keyboard'; import { CommandQuickPickItem, diff --git a/src/quickpicks/commitQuickPickItems.ts b/src/quickpicks/commitQuickPickItems.ts index 7fa78e6..89a455a 100644 --- a/src/quickpicks/commitQuickPickItems.ts +++ b/src/quickpicks/commitQuickPickItems.ts @@ -4,7 +4,8 @@ import { QuickPickItem, window } from 'vscode'; import { Commands, GitActions, OpenChangedFilesCommandArgs } from '../commands'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { CommitFormatter, GitFile, GitLogCommit, GitStatusFile } from '../git/git'; +import { CommitFormatter } from '../git/formatters'; +import { GitFile, GitLogCommit, GitStatusFile } from '../git/models'; import { Keys } from '../keyboard'; import { Strings } from '../system'; import { CommandQuickPickItem } from './quickPicksItems'; diff --git a/src/quickpicks/gitQuickPickItems.ts b/src/quickpicks/gitQuickPickItems.ts index d479c86..9ef03a4 100644 --- a/src/quickpicks/gitQuickPickItems.ts +++ b/src/quickpicks/gitQuickPickItems.ts @@ -13,7 +13,7 @@ import { GitStashCommit, GitTag, Repository, -} from '../git/git'; +} from '../git/models'; import { Dates, Strings } from '../system'; import { CommandQuickPickItem, QuickPickItemOfT } from './quickPicksItems'; diff --git a/src/quickpicks/quickPicksItems.ts b/src/quickpicks/quickPicksItems.ts index eace950..aad6494 100644 --- a/src/quickpicks/quickPicksItems.ts +++ b/src/quickpicks/quickPicksItems.ts @@ -2,7 +2,8 @@ import { commands, QuickPickItem } from 'vscode'; import { Commands, GitActions } from '../commands'; import { Container } from '../container'; -import { GitReference, GitRevisionReference, GitStashCommit, SearchPattern } from '../git/git'; +import { GitReference, GitRevisionReference, GitStashCommit } from '../git/models'; +import { SearchPattern } from '../git/search'; import { Keys } from '../keyboard'; declare module 'vscode' { diff --git a/src/quickpicks/referencePicker.ts b/src/quickpicks/referencePicker.ts index 24f07b4..ea268be 100644 --- a/src/quickpicks/referencePicker.ts +++ b/src/quickpicks/referencePicker.ts @@ -4,7 +4,7 @@ import { GitActions } from '../commands'; import { getBranchesAndOrTags, getValidateGitReferenceFn, QuickCommandButtons } from '../commands/quickCommand'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { BranchSortOptions, GitBranch, GitReference, GitTag, TagSortOptions } from '../git/git'; +import { BranchSortOptions, GitBranch, GitReference, GitTag, TagSortOptions } from '../git/models'; import { KeyboardScope, Keys } from '../keyboard'; import { BranchQuickPickItem, getQuickPickIgnoreFocusOut, RefQuickPickItem, TagQuickPickItem } from '../quickpicks'; diff --git a/src/quickpicks/remoteProviderPicker.ts b/src/quickpicks/remoteProviderPicker.ts index 21d184c..a997488 100644 --- a/src/quickpicks/remoteProviderPicker.ts +++ b/src/quickpicks/remoteProviderPicker.ts @@ -3,14 +3,8 @@ import { Disposable, env, QuickInputButton, ThemeIcon, Uri, window } from 'vscod import { Commands, OpenOnRemoteCommandArgs } from '../commands'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { - getNameFromRemoteResource, - GitBranch, - GitRemote, - RemoteProvider, - RemoteResource, - RemoteResourceType, -} from '../git/git'; +import { GitBranch, GitRemote } from '../git/models'; +import { getNameFromRemoteResource, RemoteProvider, RemoteResource, RemoteResourceType } from '../git/remotes/provider'; import { Keys } from '../keyboard'; import { CommandQuickPickItem, getQuickPickIgnoreFocusOut } from '../quickpicks'; diff --git a/src/quickpicks/repositoryPicker.ts b/src/quickpicks/repositoryPicker.ts index 65c6708..903c681 100644 --- a/src/quickpicks/repositoryPicker.ts +++ b/src/quickpicks/repositoryPicker.ts @@ -1,7 +1,7 @@ 'use strict'; import { Disposable, window } from 'vscode'; import { Container } from '../container'; -import { Repository } from '../git/git'; +import { Repository } from '../git/models'; import { getQuickPickIgnoreFocusOut, RepositoryQuickPickItem } from '../quickpicks'; import { Iterables } from '../system'; diff --git a/src/statusbar/statusBarController.ts b/src/statusbar/statusBarController.ts index 47e9c44..9cd202a 100644 --- a/src/statusbar/statusBarController.ts +++ b/src/statusbar/statusBarController.ts @@ -15,7 +15,8 @@ import { command, Commands, ToggleFileChangesAnnotationCommandArgs } from '../co import { configuration, FileAnnotationType, StatusBarCommand } from '../configuration'; import { GlyphChars, isTextEditor } from '../constants'; import { Container } from '../container'; -import { CommitFormatter, GitBlameCommit, PullRequest } from '../git/git'; +import { CommitFormatter } from '../git/formatters'; +import { GitBlameCommit, PullRequest } from '../git/models'; import { Hovers } from '../hovers/hovers'; import { LogCorrelationContext, Logger } from '../logger'; import { debug, Promises } from '../system'; diff --git a/src/system/date.ts b/src/system/date.ts index 9cccfe0..3a71f0e 100644 --- a/src/system/date.ts +++ b/src/system/date.ts @@ -4,8 +4,8 @@ import * as advancedFormat from 'dayjs/plugin/advancedFormat'; import * as relativeTime from 'dayjs/plugin/relativeTime'; import * as updateLocale from 'dayjs/plugin/updateLocale'; -dayjs.extend(advancedFormat.default); -dayjs.extend(relativeTime.default, { +dayjs.default.extend(advancedFormat.default); +dayjs.default.extend(relativeTime.default, { thresholds: [ { l: 's', r: 44, d: 'second' }, { l: 'm', r: 89 }, @@ -22,9 +22,9 @@ dayjs.extend(relativeTime.default, { { l: 'yy', d: 'year' }, ], }); -dayjs.extend(updateLocale.default); +dayjs.default.extend(updateLocale.default); -dayjs.updateLocale('en', { +dayjs.default.updateLocale('en', { relativeTime: { future: 'in %s', past: '%s ago', @@ -101,7 +101,7 @@ const shortLocale = { }, }; -dayjs.locale('en-short', shortLocale, true); +dayjs.default.locale('en-short', shortLocale, true); export const MillisecondsPerMinute = 60000; // 60 * 1000 export const MillisecondsPerHour = 3600000; // 60 * 60 * 1000 diff --git a/src/system/string.ts b/src/system/string.ts index 669f081..98b7e23 100644 --- a/src/system/string.ts +++ b/src/system/string.ts @@ -1,7 +1,7 @@ 'use strict'; -import { BinaryToTextEncoding, createHash } from 'crypto'; import ansiRegex from 'ansi-regex'; -import { isWindows } from '../git/shell'; +import { md5 as _md5 } from '@env/crypto'; +import { isWindows } from '@env/platform'; export { fromBase64, base64 } from '@env/base64'; @@ -281,8 +281,8 @@ export function* lines(s: string, char: string = '\n'): IterableIterator } } -export function md5(s: string, encoding: BinaryToTextEncoding = 'base64'): string { - return createHash('md5').update(s).digest(encoding); +export function md5(s: string, encoding: 'base64' | 'hex' = 'base64'): string { + return _md5(s, encoding); } export function normalizePath(fileName: string, options?: { addLeadingSlash?: boolean; stripTrailingSlash?: boolean }) { @@ -379,10 +379,6 @@ export function sanitizeForFileSystem(s: string, replacement: string = '_') { return s.replace(illegalCharsForFSRegex, replacement); } -export function sha1(s: string, encoding: BinaryToTextEncoding = 'base64'): string { - return createHash('sha1').update(s).digest(encoding); -} - export function splitLast(s: string, splitter: string) { const index = s.lastIndexOf(splitter); if (index === -1) return [s]; diff --git a/src/terminal/linkProvider.ts b/src/terminal/linkProvider.ts index 799481d..2c2ef2e 100644 --- a/src/terminal/linkProvider.ts +++ b/src/terminal/linkProvider.ts @@ -7,8 +7,8 @@ import { ShowQuickCommitCommandArgs, } from '../commands'; import { Container } from '../container'; -import { GitBranch, GitReference, GitTag } from '../git/git'; import { PagedResult } from '../git/gitProvider'; +import { GitBranch, GitReference, GitTag } from '../git/models'; const commandsRegexShared = /\b(g(?:it)?\b\s*)\b(branch|checkout|cherry-pick|fetch|grep|log|merge|pull|push|rebase|reset|revert|show|stash|status|tag)\b/gi; diff --git a/src/trackers/documentTracker.ts b/src/trackers/documentTracker.ts index df1b82a..c0c5b89 100644 --- a/src/trackers/documentTracker.ts +++ b/src/trackers/documentTracker.ts @@ -19,9 +19,9 @@ import { import { configuration } from '../configuration'; import { ContextKeys, DocumentSchemes, isActiveDocument, isTextEditor, setContext } from '../constants'; import { Container } from '../container'; -import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent } from '../git/git'; import { RepositoriesChangeEvent } from '../git/gitProviderService'; import { GitUri } from '../git/gitUri'; +import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent } from '../git/models'; import { Functions, Iterables } from '../system'; import { DocumentBlameStateChangeEvent, TrackedDocument } from './trackedDocument'; diff --git a/src/trackers/gitDocumentTracker.ts b/src/trackers/gitDocumentTracker.ts index beeb20c..249a61d 100644 --- a/src/trackers/gitDocumentTracker.ts +++ b/src/trackers/gitDocumentTracker.ts @@ -1,5 +1,5 @@ 'use strict'; -import { GitBlame, GitDiff, GitLog } from '../git/git'; +import { GitBlame, GitDiff, GitLog } from '../git/models'; import { DocumentTracker } from './documentTracker'; export * from './documentTracker'; diff --git a/src/trackers/gitLineTracker.ts b/src/trackers/gitLineTracker.ts index 3ce0474..2209319 100644 --- a/src/trackers/gitLineTracker.ts +++ b/src/trackers/gitLineTracker.ts @@ -2,7 +2,7 @@ import { Disposable, TextEditor } from 'vscode'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { GitBlameCommit, GitLogCommit } from '../git/git'; +import { GitBlameCommit, GitLogCommit } from '../git/models'; import { Logger } from '../logger'; import { debug } from '../system'; import { diff --git a/src/trackers/trackedDocument.ts b/src/trackers/trackedDocument.ts index fccdde0..f741c9b 100644 --- a/src/trackers/trackedDocument.ts +++ b/src/trackers/trackedDocument.ts @@ -2,8 +2,8 @@ import { Disposable, Event, EventEmitter, TextDocument, TextEditor } from 'vscode'; import { ContextKeys, getEditorIfActive, isActiveDocument, setContext } from '../constants'; import { Container } from '../container'; -import { GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitRevision } from '../git/models'; import { Logger } from '../logger'; export interface DocumentBlameStateChangeEvent { diff --git a/src/views/branchesView.ts b/src/views/branchesView.ts index f6acbc4..e8341d9 100644 --- a/src/views/branchesView.ts +++ b/src/views/branchesView.ts @@ -18,6 +18,7 @@ import { } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; +import { GitUri } from '../git/gitUri'; import { GitBranchReference, GitLogCommit, @@ -26,8 +27,7 @@ import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, -} from '../git/git'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; import { gate, Strings } from '../system'; import { BranchesNode, diff --git a/src/views/commitsView.ts b/src/views/commitsView.ts index 5f53077..30e26b9 100644 --- a/src/views/commitsView.ts +++ b/src/views/commitsView.ts @@ -12,6 +12,7 @@ import { import { CommitsViewConfig, configuration, ViewFilesLayout, ViewShowBranchComparison } from '../configuration'; import { ContextKeys, GlyphChars, setContext } from '../constants'; import { Container } from '../container'; +import { GitUri } from '../git/gitUri'; import { GitLogCommit, GitReference, @@ -20,8 +21,7 @@ import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, -} from '../git/git'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; import { debug, Functions, gate, Strings } from '../system'; import { BranchNode, diff --git a/src/views/contributorsView.ts b/src/views/contributorsView.ts index bd5df7c..e0e82b5 100644 --- a/src/views/contributorsView.ts +++ b/src/views/contributorsView.ts @@ -13,8 +13,8 @@ import { Avatars } from '../avatars'; import { configuration, ContributorsViewConfig, ViewFilesLayout } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; -import { GitContributor, RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitContributor, RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent } from '../git/models'; import { debug, gate, Strings } from '../system'; import { ContributorNode, diff --git a/src/views/nodes/autolinkedItemNode.ts b/src/views/nodes/autolinkedItemNode.ts index 7243cee..d6e747e 100644 --- a/src/views/nodes/autolinkedItemNode.ts +++ b/src/views/nodes/autolinkedItemNode.ts @@ -1,7 +1,7 @@ 'use strict'; import { MarkdownString, TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { GitFile, IssueOrPullRequest, IssueOrPullRequestType } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitFile, IssueOrPullRequest, IssueOrPullRequestType } from '../../git/models'; import { Dates } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { ContextValues, ViewNode } from './viewNode'; diff --git a/src/views/nodes/autolinkedItemsNode.ts b/src/views/nodes/autolinkedItemsNode.ts index 4d278d4..8ff750d 100644 --- a/src/views/nodes/autolinkedItemsNode.ts +++ b/src/views/nodes/autolinkedItemsNode.ts @@ -1,7 +1,8 @@ 'use strict'; import { TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { GitFile, GitLog, GitRemote, IssueOrPullRequest, PullRequest, RichRemoteProvider } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitFile, GitLog, GitRemote, IssueOrPullRequest, PullRequest } from '../../git/models'; +import { RichRemoteProvider } from '../../git/remotes/provider'; import { debug, gate, Promises } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { AutolinkedItemNode } from './autolinkedItemNode'; diff --git a/src/views/nodes/branchNode.ts b/src/views/nodes/branchNode.ts index cf3a522..21436ce 100644 --- a/src/views/nodes/branchNode.ts +++ b/src/views/nodes/branchNode.ts @@ -2,6 +2,7 @@ import { MarkdownString, ThemeColor, ThemeIcon, TreeItem, TreeItemCollapsibleState, Uri, window } from 'vscode'; import { ViewBranchesLayout, ViewShowBranchComparison } from '../../configuration'; import { Colors, GlyphChars } from '../../constants'; +import { GitUri } from '../../git/gitUri'; import { BranchDateFormatting, GitBranch, @@ -10,8 +11,7 @@ import { GitRemote, GitRemoteType, PullRequestState, -} from '../../git/git'; -import { GitUri } from '../../git/gitUri'; +} from '../../git/models'; import { debug, gate, Iterables, log, Strings } from '../../system'; import { BranchesView } from '../branchesView'; import { CommitsView } from '../commitsView'; diff --git a/src/views/nodes/branchTrackingStatusFilesNode.ts b/src/views/nodes/branchTrackingStatusFilesNode.ts index 46d79bf..30a0744 100644 --- a/src/views/nodes/branchTrackingStatusFilesNode.ts +++ b/src/views/nodes/branchTrackingStatusFilesNode.ts @@ -2,8 +2,8 @@ import * as paths from 'path'; import { TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewFilesLayout } from '../../configuration'; -import { GitBranch, GitFileWithCommit, GitRevision } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitBranch, GitFileWithCommit, GitRevision } from '../../git/models'; import { Arrays, Iterables, Strings } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { BranchNode } from './branchNode'; diff --git a/src/views/nodes/branchTrackingStatusNode.ts b/src/views/nodes/branchTrackingStatusNode.ts index 125f574..c8f96bf 100644 --- a/src/views/nodes/branchTrackingStatusNode.ts +++ b/src/views/nodes/branchTrackingStatusNode.ts @@ -1,8 +1,8 @@ 'use strict'; import { MarkdownString, ThemeColor, ThemeIcon, TreeItem, TreeItemCollapsibleState, window } from 'vscode'; import { Colors } from '../../constants'; -import { GitBranch, GitLog, GitRemote, GitRevision, GitTrackingState } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitBranch, GitLog, GitRemote, GitRevision, GitTrackingState } from '../../git/models'; import { Dates, debug, gate, Iterables, Strings } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { BranchNode } from './branchNode'; diff --git a/src/views/nodes/branchesNode.ts b/src/views/nodes/branchesNode.ts index a577db6..7a4eb20 100644 --- a/src/views/nodes/branchesNode.ts +++ b/src/views/nodes/branchesNode.ts @@ -1,8 +1,8 @@ 'use strict'; import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewBranchesLayout } from '../../configuration'; -import { Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { Repository } from '../../git/models'; import { Arrays, debug, gate } from '../../system'; import { BranchesView } from '../branchesView'; import { RepositoriesView } from '../repositoriesView'; diff --git a/src/views/nodes/commitFileNode.ts b/src/views/nodes/commitFileNode.ts index 37738d9..7f16b9a 100644 --- a/src/views/nodes/commitFileNode.ts +++ b/src/views/nodes/commitFileNode.ts @@ -2,8 +2,9 @@ import * as paths from 'path'; import { Command, Selection, TreeItem, TreeItemCollapsibleState, Uri } from 'vscode'; import { Commands, DiffWithPreviousCommandArgs } from '../../commands'; -import { GitBranch, GitFile, GitLogCommit, GitRevisionReference, StatusFileFormatter } from '../../git/git'; +import { StatusFileFormatter } from '../../git/formatters'; import { GitUri } from '../../git/gitUri'; +import { GitBranch, GitFile, GitLogCommit, GitRevisionReference } from '../../git/models'; import { FileHistoryView } from '../fileHistoryView'; import { View, ViewsWithCommits } from '../viewBase'; import { ContextValues, ViewNode, ViewRefFileNode } from './viewNode'; diff --git a/src/views/nodes/commitNode.ts b/src/views/nodes/commitNode.ts index e16b7a9..565caf1 100644 --- a/src/views/nodes/commitNode.ts +++ b/src/views/nodes/commitNode.ts @@ -4,7 +4,8 @@ import { Command, MarkdownString, ThemeColor, ThemeIcon, TreeItem, TreeItemColla import { Commands, DiffWithPreviousCommandArgs } from '../../commands'; import { ViewFilesLayout } from '../../configuration'; import { Colors, GlyphChars } from '../../constants'; -import { CommitFormatter, GitBranch, GitLogCommit, GitRevisionReference } from '../../git/git'; +import { CommitFormatter } from '../../git/formatters'; +import { GitBranch, GitLogCommit, GitRevisionReference } from '../../git/models'; import { Arrays, Strings } from '../../system'; import { FileHistoryView } from '../fileHistoryView'; import { TagsView } from '../tagsView'; diff --git a/src/views/nodes/compareBranchNode.ts b/src/views/nodes/compareBranchNode.ts index 74e55a2..fa0b128 100644 --- a/src/views/nodes/compareBranchNode.ts +++ b/src/views/nodes/compareBranchNode.ts @@ -2,8 +2,8 @@ import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewShowBranchComparison } from '../../configuration'; import { BranchComparison, BranchComparisons, GlyphChars, WorkspaceState } from '../../constants'; -import { GitBranch, GitRevision } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitBranch, GitRevision } from '../../git/models'; import { CommandQuickPickItem, ReferencePicker } from '../../quickpicks'; import { debug, gate, log, Strings } from '../../system'; import { BranchesView } from '../branchesView'; diff --git a/src/views/nodes/compareResultsNode.ts b/src/views/nodes/compareResultsNode.ts index b479102..e16ef95 100644 --- a/src/views/nodes/compareResultsNode.ts +++ b/src/views/nodes/compareResultsNode.ts @@ -1,8 +1,8 @@ 'use strict'; import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { NamedRef } from '../../constants'; -import { GitRevision } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitRevision } from '../../git/models'; import { debug, gate, log, Strings } from '../../system'; import { SearchAndCompareView } from '../searchAndCompareView'; import { RepositoryNode } from './repositoryNode'; @@ -19,7 +19,7 @@ export class CompareResultsNode extends ViewNode { } static getPinnableId(repoPath: string, ref1: string, ref2: string) { - return Strings.sha1(`${repoPath}|${ref1}|${ref2}`); + return Strings.md5(`${repoPath}|${ref1}|${ref2}`); } private _children: ViewNode[] | undefined; diff --git a/src/views/nodes/contributorNode.ts b/src/views/nodes/contributorNode.ts index 0b2e8c3..3879542 100644 --- a/src/views/nodes/contributorNode.ts +++ b/src/views/nodes/contributorNode.ts @@ -2,8 +2,8 @@ import { MarkdownString, TreeItem, TreeItemCollapsibleState, window } from 'vscode'; import { getPresenceDataUri } from '../../avatars'; import { GlyphChars } from '../../constants'; -import { GitContributor, GitLog } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitContributor, GitLog } from '../../git/models'; import { debug, gate, Iterables, Strings } from '../../system'; import { ContactPresence } from '../../vsls/vsls'; import { ContributorsView } from '../contributorsView'; diff --git a/src/views/nodes/contributorsNode.ts b/src/views/nodes/contributorsNode.ts index 6cc49ec..7710725 100644 --- a/src/views/nodes/contributorsNode.ts +++ b/src/views/nodes/contributorsNode.ts @@ -1,7 +1,7 @@ 'use strict'; import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { GitContributor, Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitContributor, Repository } from '../../git/models'; import { debug, gate, timeout } from '../../system'; import { ContributorsView } from '../contributorsView'; import { RepositoriesView } from '../repositoriesView'; diff --git a/src/views/nodes/fileHistoryNode.ts b/src/views/nodes/fileHistoryNode.ts index dd98bdd..6d9d261 100644 --- a/src/views/nodes/fileHistoryNode.ts +++ b/src/views/nodes/fileHistoryNode.ts @@ -2,6 +2,7 @@ import * as paths from 'path'; import { Disposable, TreeItem, TreeItemCollapsibleState, window } from 'vscode'; import { configuration } from '../../configuration'; +import { GitUri } from '../../git/gitUri'; import { GitBranch, GitLog, @@ -10,9 +11,7 @@ import { RepositoryChangeComparisonMode, RepositoryChangeEvent, RepositoryFileSystemChangeEvent, - toFolderGlob, -} from '../../git/git'; -import { GitUri } from '../../git/gitUri'; +} from '../../git/models'; import { Logger } from '../../logger'; import { Arrays, debug, gate, Iterables, memoize } from '../../system'; import { FileHistoryView } from '../fileHistoryView'; @@ -243,7 +242,7 @@ export class FileHistoryNode extends SubscribeableViewNode impl @memoize() private getPathOrGlob() { - return this.folder ? toFolderGlob(this.uri.fsPath) : this.uri.fsPath; + return this.folder ? paths.join(this.uri.fsPath, '*') : this.uri.fsPath; } get hasMore() { diff --git a/src/views/nodes/fileHistoryTrackerNode.ts b/src/views/nodes/fileHistoryTrackerNode.ts index 309ca7b..040ad4e 100644 --- a/src/views/nodes/fileHistoryTrackerNode.ts +++ b/src/views/nodes/fileHistoryTrackerNode.ts @@ -2,8 +2,8 @@ import { Disposable, FileType, TextEditor, TreeItem, TreeItemCollapsibleState, window, workspace } from 'vscode'; import { UriComparer } from '../../comparers'; import { ContextKeys, setContext } from '../../constants'; -import { GitReference, GitRevision } from '../../git/git'; import { GitCommitish, GitUri } from '../../git/gitUri'; +import { GitReference, GitRevision } from '../../git/models'; import { Logger } from '../../logger'; import { ReferencePicker } from '../../quickpicks'; import { debug, Functions, gate, log } from '../../system'; diff --git a/src/views/nodes/fileRevisionAsCommitNode.ts b/src/views/nodes/fileRevisionAsCommitNode.ts index ff2601a..afd49c9 100644 --- a/src/views/nodes/fileRevisionAsCommitNode.ts +++ b/src/views/nodes/fileRevisionAsCommitNode.ts @@ -12,15 +12,9 @@ import { } from 'vscode'; import { Commands, DiffWithPreviousCommandArgs } from '../../commands'; import { Colors, GlyphChars } from '../../constants'; -import { - CommitFormatter, - GitBranch, - GitFile, - GitLogCommit, - GitRevisionReference, - StatusFileFormatter, -} from '../../git/git'; +import { CommitFormatter, StatusFileFormatter } from '../../git/formatters'; import { GitUri } from '../../git/gitUri'; +import { GitBranch, GitFile, GitLogCommit, GitRevisionReference } from '../../git/models'; import { FileHistoryView } from '../fileHistoryView'; import { LineHistoryView } from '../lineHistoryView'; import { ViewsWithCommits } from '../viewBase'; diff --git a/src/views/nodes/helpers.ts b/src/views/nodes/helpers.ts index 35d9e98..46bc907 100644 --- a/src/views/nodes/helpers.ts +++ b/src/views/nodes/helpers.ts @@ -1,5 +1,5 @@ 'use strict'; -import { GitLogCommit } from '../../git/git'; +import { GitLogCommit } from '../../git/models'; import { MessageNode } from './common'; import { ContextValues, ViewNode } from './viewNode'; diff --git a/src/views/nodes/lineHistoryNode.ts b/src/views/nodes/lineHistoryNode.ts index 64c5c37..0f8d123 100644 --- a/src/views/nodes/lineHistoryNode.ts +++ b/src/views/nodes/lineHistoryNode.ts @@ -1,5 +1,6 @@ 'use strict'; import { Disposable, Selection, TreeItem, TreeItemCollapsibleState, window } from 'vscode'; +import { GitUri } from '../../git/gitUri'; import { GitBranch, GitCommitType, @@ -12,8 +13,7 @@ import { RepositoryChangeComparisonMode, RepositoryChangeEvent, RepositoryFileSystemChangeEvent, -} from '../../git/git'; -import { GitUri } from '../../git/gitUri'; +} from '../../git/models'; import { Logger } from '../../logger'; import { debug, gate, Iterables, memoize } from '../../system'; import { FileHistoryView } from '../fileHistoryView'; diff --git a/src/views/nodes/lineHistoryTrackerNode.ts b/src/views/nodes/lineHistoryTrackerNode.ts index 66a0a61..976b960 100644 --- a/src/views/nodes/lineHistoryTrackerNode.ts +++ b/src/views/nodes/lineHistoryTrackerNode.ts @@ -2,8 +2,8 @@ import { Selection, TreeItem, TreeItemCollapsibleState, window } from 'vscode'; import { UriComparer } from '../../comparers'; import { ContextKeys, setContext } from '../../constants'; -import { GitReference, GitRevision } from '../../git/git'; import { GitCommitish, GitUri } from '../../git/gitUri'; +import { GitReference, GitRevision } from '../../git/models'; import { Logger } from '../../logger'; import { ReferencePicker } from '../../quickpicks'; import { debug, Functions, gate, log } from '../../system'; diff --git a/src/views/nodes/mergeConflictCurrentChangesNode.ts b/src/views/nodes/mergeConflictCurrentChangesNode.ts index 834378a..a9beed1 100644 --- a/src/views/nodes/mergeConflictCurrentChangesNode.ts +++ b/src/views/nodes/mergeConflictCurrentChangesNode.ts @@ -2,8 +2,9 @@ import { Command, MarkdownString, ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { Commands, DiffWithCommandArgs } from '../../commands'; import { BuiltInCommands, GlyphChars } from '../../constants'; -import { CommitFormatter, GitFile, GitMergeStatus, GitRebaseStatus, GitReference } from '../../git/git'; +import { CommitFormatter } from '../../git/formatters'; import { GitUri } from '../../git/gitUri'; +import { GitFile, GitMergeStatus, GitRebaseStatus, GitReference } from '../../git/models'; import { FileHistoryView } from '../fileHistoryView'; import { LineHistoryView } from '../lineHistoryView'; import { ViewsWithCommits } from '../viewBase'; diff --git a/src/views/nodes/mergeConflictFileNode.ts b/src/views/nodes/mergeConflictFileNode.ts index 39ad520..fabda2f 100644 --- a/src/views/nodes/mergeConflictFileNode.ts +++ b/src/views/nodes/mergeConflictFileNode.ts @@ -2,8 +2,9 @@ import * as paths from 'path'; import { Command, ThemeIcon, TreeItem, TreeItemCollapsibleState, Uri } from 'vscode'; import { BuiltInCommands } from '../../constants'; -import { GitFile, GitMergeStatus, GitRebaseStatus, StatusFileFormatter } from '../../git/git'; +import { StatusFileFormatter } from '../../git/formatters'; import { GitUri } from '../../git/gitUri'; +import { GitFile, GitMergeStatus, GitRebaseStatus } from '../../git/models'; import { ViewsWithCommits } from '../viewBase'; import { FileNode } from './folderNode'; import { MergeConflictCurrentChangesNode } from './mergeConflictCurrentChangesNode'; diff --git a/src/views/nodes/mergeConflictIncomingChangesNode.ts b/src/views/nodes/mergeConflictIncomingChangesNode.ts index 7c386a2..fbd2cfc 100644 --- a/src/views/nodes/mergeConflictIncomingChangesNode.ts +++ b/src/views/nodes/mergeConflictIncomingChangesNode.ts @@ -2,8 +2,9 @@ import { Command, MarkdownString, ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { Commands, DiffWithCommandArgs } from '../../commands'; import { BuiltInCommands, GlyphChars } from '../../constants'; -import { CommitFormatter, GitFile, GitMergeStatus, GitRebaseStatus, GitReference } from '../../git/git'; +import { CommitFormatter } from '../../git/formatters'; import { GitUri } from '../../git/gitUri'; +import { GitFile, GitMergeStatus, GitRebaseStatus, GitReference } from '../../git/models'; import { FileHistoryView } from '../fileHistoryView'; import { LineHistoryView } from '../lineHistoryView'; import { ViewsWithCommits } from '../viewBase'; diff --git a/src/views/nodes/mergeStatusNode.ts b/src/views/nodes/mergeStatusNode.ts index 614b76a..f67dbf4 100644 --- a/src/views/nodes/mergeStatusNode.ts +++ b/src/views/nodes/mergeStatusNode.ts @@ -2,8 +2,8 @@ import * as paths from 'path'; import { MarkdownString, ThemeColor, ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewFilesLayout } from '../../configuration'; -import { GitBranch, GitMergeStatus, GitReference, GitStatus } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitBranch, GitMergeStatus, GitReference, GitStatus } from '../../git/models'; import { Arrays, Strings } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { BranchNode } from './branchNode'; diff --git a/src/views/nodes/pullRequestNode.ts b/src/views/nodes/pullRequestNode.ts index 79fc63a..a99776f 100644 --- a/src/views/nodes/pullRequestNode.ts +++ b/src/views/nodes/pullRequestNode.ts @@ -1,7 +1,7 @@ 'use strict'; import { MarkdownString, TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { GitBranch, GitCommit, PullRequest, PullRequestState } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitBranch, GitCommit, PullRequest, PullRequestState } from '../../git/models'; import { ViewsWithCommits } from '../viewBase'; import { RepositoryNode } from './repositoryNode'; import { ContextValues, ViewNode } from './viewNode'; diff --git a/src/views/nodes/rebaseStatusNode.ts b/src/views/nodes/rebaseStatusNode.ts index 23dacf0..b550109 100644 --- a/src/views/nodes/rebaseStatusNode.ts +++ b/src/views/nodes/rebaseStatusNode.ts @@ -13,16 +13,16 @@ import { import { Commands, DiffWithPreviousCommandArgs } from '../../commands'; import { ViewFilesLayout } from '../../configuration'; import { BuiltInCommands, GlyphChars } from '../../constants'; +import { CommitFormatter } from '../../git/formatters'; +import { GitUri } from '../../git/gitUri'; import { - CommitFormatter, GitBranch, GitLogCommit, GitRebaseStatus, GitReference, GitRevisionReference, GitStatus, -} from '../../git/git'; -import { GitUri } from '../../git/gitUri'; +} from '../../git/models'; import { Arrays, Strings } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { BranchNode } from './branchNode'; diff --git a/src/views/nodes/reflogNode.ts b/src/views/nodes/reflogNode.ts index 7e2c3ff..f071230 100644 --- a/src/views/nodes/reflogNode.ts +++ b/src/views/nodes/reflogNode.ts @@ -1,7 +1,7 @@ 'use strict'; import { TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { GitReflog, Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitReflog, Repository } from '../../git/models'; import { debug, gate } from '../../system'; import { RepositoriesView } from '../repositoriesView'; import { LoadMoreNode, MessageNode } from './common'; diff --git a/src/views/nodes/reflogRecordNode.ts b/src/views/nodes/reflogRecordNode.ts index e5f2028..7038ab2 100644 --- a/src/views/nodes/reflogRecordNode.ts +++ b/src/views/nodes/reflogRecordNode.ts @@ -1,8 +1,8 @@ 'use strict'; import { TreeItem, TreeItemCollapsibleState, window } from 'vscode'; import { GlyphChars } from '../../constants'; -import { GitLog, GitReflogRecord } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitLog, GitReflogRecord } from '../../git/models'; import { debug, gate, Iterables } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { CommitNode } from './commitNode'; diff --git a/src/views/nodes/remoteNode.ts b/src/views/nodes/remoteNode.ts index 981aba8..192fe34 100644 --- a/src/views/nodes/remoteNode.ts +++ b/src/views/nodes/remoteNode.ts @@ -2,8 +2,8 @@ import { ThemeIcon, TreeItem, TreeItemCollapsibleState, Uri } from 'vscode'; import { ViewBranchesLayout } from '../../configuration'; import { GlyphChars } from '../../constants'; -import { GitRemote, GitRemoteType, Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitRemote, GitRemoteType, Repository } from '../../git/models'; import { Arrays, log } from '../../system'; import { RemotesView } from '../remotesView'; import { RepositoriesView } from '../repositoriesView'; diff --git a/src/views/nodes/remotesNode.ts b/src/views/nodes/remotesNode.ts index 4fb700b..bcc5146 100644 --- a/src/views/nodes/remotesNode.ts +++ b/src/views/nodes/remotesNode.ts @@ -1,7 +1,7 @@ 'use strict'; import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { Repository } from '../../git/models'; import { debug, gate } from '../../system'; import { RemotesView } from '../remotesView'; import { RepositoriesView } from '../repositoriesView'; diff --git a/src/views/nodes/repositoryNode.ts b/src/views/nodes/repositoryNode.ts index f902684..26a158e 100644 --- a/src/views/nodes/repositoryNode.ts +++ b/src/views/nodes/repositoryNode.ts @@ -1,6 +1,7 @@ 'use strict'; import { Disposable, MarkdownString, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { GlyphChars } from '../../constants'; +import { GitUri } from '../../git/gitUri'; import { GitBranch, GitRemote, @@ -10,8 +11,7 @@ import { RepositoryChangeComparisonMode, RepositoryChangeEvent, RepositoryFileSystemChangeEvent, -} from '../../git/git'; -import { GitUri } from '../../git/gitUri'; +} from '../../git/models'; import { Arrays, debug, Functions, gate, log, Strings } from '../../system'; import { RepositoriesView } from '../repositoriesView'; import { BranchesNode } from './branchesNode'; diff --git a/src/views/nodes/resultsCommitsNode.ts b/src/views/nodes/resultsCommitsNode.ts index 289c45f..69c64a0 100644 --- a/src/views/nodes/resultsCommitsNode.ts +++ b/src/views/nodes/resultsCommitsNode.ts @@ -1,7 +1,7 @@ 'use strict'; import { TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { GitLog } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitLog } from '../../git/models'; import { debug, gate, Iterables, Promises } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { AutolinkedItemsNode } from './autolinkedItemsNode'; diff --git a/src/views/nodes/resultsFileNode.ts b/src/views/nodes/resultsFileNode.ts index ca4b246..afc486f 100644 --- a/src/views/nodes/resultsFileNode.ts +++ b/src/views/nodes/resultsFileNode.ts @@ -2,8 +2,9 @@ import * as paths from 'path'; import { Command, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { Commands, DiffWithCommandArgs } from '../../commands'; -import { GitFile, GitReference, GitRevisionReference, StatusFileFormatter } from '../../git/git'; +import { StatusFileFormatter } from '../../git/formatters'; import { GitUri } from '../../git/gitUri'; +import { GitFile, GitReference, GitRevisionReference } from '../../git/models'; import { View } from '../viewBase'; import { FileNode } from './folderNode'; import { ContextValues, ViewNode, ViewRefFileNode } from './viewNode'; diff --git a/src/views/nodes/resultsFilesNode.ts b/src/views/nodes/resultsFilesNode.ts index d5bc8cd..b5dc38b 100644 --- a/src/views/nodes/resultsFilesNode.ts +++ b/src/views/nodes/resultsFilesNode.ts @@ -2,8 +2,8 @@ import * as paths from 'path'; import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewFilesLayout } from '../../configuration'; -import { GitFile } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitFile } from '../../git/models'; import { Arrays, debug, gate, Iterables, Promises, Strings } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { FileNode, FolderNode } from './folderNode'; diff --git a/src/views/nodes/searchResultsNode.ts b/src/views/nodes/searchResultsNode.ts index d72c0ce..67d6604 100644 --- a/src/views/nodes/searchResultsNode.ts +++ b/src/views/nodes/searchResultsNode.ts @@ -1,8 +1,9 @@ 'use strict'; import { ThemeIcon, TreeItem } from 'vscode'; import { executeGitCommand } from '../../commands'; -import { GitLog, SearchPattern } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitLog } from '../../git/models'; +import { SearchPattern } from '../../git/search'; import { debug, gate, log, Strings } from '../../system'; import { SearchAndCompareView } from '../searchAndCompareView'; import { RepositoryNode } from './repositoryNode'; @@ -27,7 +28,7 @@ export class SearchResultsNode extends ViewNode implements } static getPinnableId(repoPath: string, search: SearchPattern) { - return Strings.sha1(`${repoPath}|${SearchPattern.toKey(search)}`); + return Strings.md5(`${repoPath}|${SearchPattern.toKey(search)}`); } static override is(node: any): node is SearchResultsNode { diff --git a/src/views/nodes/stashFileNode.ts b/src/views/nodes/stashFileNode.ts index 8f9a58d..4d0e54f 100644 --- a/src/views/nodes/stashFileNode.ts +++ b/src/views/nodes/stashFileNode.ts @@ -1,5 +1,5 @@ 'use strict'; -import { GitFile, GitLogCommit } from '../../git/git'; +import { GitFile, GitLogCommit } from '../../git/models'; import { RepositoriesView } from '../repositoriesView'; import { StashesView } from '../stashesView'; import { CommitFileNode } from './commitFileNode'; diff --git a/src/views/nodes/stashNode.ts b/src/views/nodes/stashNode.ts index 33db651..fcf761a 100644 --- a/src/views/nodes/stashNode.ts +++ b/src/views/nodes/stashNode.ts @@ -2,7 +2,8 @@ import * as paths from 'path'; import { TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewFilesLayout } from '../../config'; -import { CommitFormatter, GitStashCommit, GitStashReference } from '../../git/git'; +import { CommitFormatter } from '../../git/formatters'; +import { GitStashCommit, GitStashReference } from '../../git/models'; import { Arrays, Strings } from '../../system'; import { ContextValues, FileNode, FolderNode, RepositoryNode, StashFileNode, ViewNode, ViewRefNode } from '../nodes'; import { RepositoriesView } from '../repositoriesView'; diff --git a/src/views/nodes/stashesNode.ts b/src/views/nodes/stashesNode.ts index 667a463..7b4db74 100644 --- a/src/views/nodes/stashesNode.ts +++ b/src/views/nodes/stashesNode.ts @@ -1,7 +1,7 @@ 'use strict'; import { TreeItem, TreeItemCollapsibleState } from 'vscode'; -import { Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { Repository } from '../../git/models'; import { debug, gate, Iterables } from '../../system'; import { RepositoriesView } from '../repositoriesView'; import { StashesView } from '../stashesView'; diff --git a/src/views/nodes/statusFileNode.ts b/src/views/nodes/statusFileNode.ts index 16a8c83..9646ecd 100644 --- a/src/views/nodes/statusFileNode.ts +++ b/src/views/nodes/statusFileNode.ts @@ -2,8 +2,9 @@ import * as paths from 'path'; import { Command, ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { Commands, DiffWithCommandArgs, DiffWithPreviousCommandArgs } from '../../commands'; -import { GitFile, GitLogCommit, StatusFileFormatter } from '../../git/git'; +import { StatusFileFormatter } from '../../git/formatters/statusFormatter'; import { GitUri } from '../../git/gitUri'; +import { GitFile, GitLogCommit } from '../../git/models'; import { Strings } from '../../system'; import { ViewsWithCommits } from '../viewBase'; import { FileRevisionAsCommitNode } from './fileRevisionAsCommitNode'; diff --git a/src/views/nodes/statusFilesNode.ts b/src/views/nodes/statusFilesNode.ts index 01feee8..e1f98c5 100644 --- a/src/views/nodes/statusFilesNode.ts +++ b/src/views/nodes/statusFilesNode.ts @@ -2,6 +2,7 @@ import * as paths from 'path'; import { TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewFilesLayout } from '../../configuration'; +import { GitUri } from '../../git/gitUri'; import { GitCommitType, GitFileWithCommit, @@ -11,8 +12,7 @@ import { GitStatus, GitStatusFile, GitTrackingState, -} from '../../git/git'; -import { GitUri } from '../../git/gitUri'; +} from '../../git/models'; import { Arrays, Iterables, Strings } from '../../system'; import { RepositoriesView } from '../repositoriesView'; import { FileNode, FolderNode } from './folderNode'; diff --git a/src/views/nodes/tagNode.ts b/src/views/nodes/tagNode.ts index 0ca7d7a..aa95fe1 100644 --- a/src/views/nodes/tagNode.ts +++ b/src/views/nodes/tagNode.ts @@ -3,8 +3,8 @@ import { TreeItem, TreeItemCollapsibleState, window } from 'vscode'; import { ViewBranchesLayout } from '../../configuration'; import { GlyphChars } from '../../constants'; import { emojify } from '../../emojis'; -import { GitLog, GitRevision, GitTag, GitTagReference, TagDateFormatting } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { GitLog, GitRevision, GitTag, GitTagReference, TagDateFormatting } from '../../git/models'; import { debug, gate, Iterables, Strings } from '../../system'; import { RepositoriesView } from '../repositoriesView'; import { TagsView } from '../tagsView'; diff --git a/src/views/nodes/tagsNode.ts b/src/views/nodes/tagsNode.ts index 3c9473c..95b4f8f 100644 --- a/src/views/nodes/tagsNode.ts +++ b/src/views/nodes/tagsNode.ts @@ -1,8 +1,8 @@ 'use strict'; import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ViewBranchesLayout } from '../../configuration'; -import { Repository } from '../../git/git'; import { GitUri } from '../../git/gitUri'; +import { Repository } from '../../git/models'; import { Arrays, debug, gate } from '../../system'; import { RepositoriesView } from '../repositoriesView'; import { TagsView } from '../tagsView'; diff --git a/src/views/nodes/viewNode.ts b/src/views/nodes/viewNode.ts index 86b6f1a..b9d3088 100644 --- a/src/views/nodes/viewNode.ts +++ b/src/views/nodes/viewNode.ts @@ -9,6 +9,8 @@ import { TreeViewVisibilityChangeEvent, } from 'vscode'; import { GlyphChars } from '../../constants'; +import { RepositoriesChangeEvent } from '../../git/gitProviderService'; +import { GitUri } from '../../git/gitUri'; import { GitFile, GitReference, @@ -18,9 +20,7 @@ import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, -} from '../../git/git'; -import { RepositoriesChangeEvent } from '../../git/gitProviderService'; -import { GitUri } from '../../git/gitUri'; +} from '../../git/models'; import { Logger } from '../../logger'; import { debug, Functions, gate, log, logName, Strings } from '../../system'; import { TreeViewNodeCollapsibleStateChangeEvent, View } from '../viewBase'; diff --git a/src/views/remotesView.ts b/src/views/remotesView.ts index 6b714cd..6b905c6 100644 --- a/src/views/remotesView.ts +++ b/src/views/remotesView.ts @@ -12,6 +12,7 @@ import { import { configuration, RemotesViewConfig, ViewBranchesLayout, ViewFilesLayout } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; +import { GitUri } from '../git/gitUri'; import { GitBranch, GitBranchReference, @@ -22,8 +23,7 @@ import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, -} from '../git/git'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; import { gate, Strings } from '../system'; import { BranchNode, diff --git a/src/views/repositoriesView.ts b/src/views/repositoriesView.ts index 811b7cb..8d5948f 100644 --- a/src/views/repositoriesView.ts +++ b/src/views/repositoriesView.ts @@ -28,7 +28,7 @@ import { GitRevisionReference, GitStashReference, GitTagReference, -} from '../git/git'; +} from '../git/models'; import { gate } from '../system'; import { BranchesNode, @@ -647,7 +647,10 @@ export class RepositoriesView extends ViewBase { @@ -705,7 +708,10 @@ export class RepositoriesView extends ViewBase { diff --git a/src/views/searchAndCompareView.ts b/src/views/searchAndCompareView.ts index 3637c64..a533042 100644 --- a/src/views/searchAndCompareView.ts +++ b/src/views/searchAndCompareView.ts @@ -4,7 +4,8 @@ import { getRepoPathOrPrompt } from '../commands'; import { configuration, SearchAndCompareViewConfig, ViewFilesLayout } from '../configuration'; import { ContextKeys, NamedRef, PinnedItem, PinnedItems, setContext, WorkspaceState } from '../constants'; import { Container } from '../container'; -import { GitLog, GitRevision, SearchPattern } from '../git/git'; +import { GitLog, GitRevision } from '../git/models'; +import { SearchPattern } from '../git/search'; import { ReferencePicker, ReferencesQuickPickIncludes } from '../quickpicks'; import { debug, gate, Iterables, log, Promises } from '../system'; import { diff --git a/src/views/stashesView.ts b/src/views/stashesView.ts index 9613f52..c97bb13 100644 --- a/src/views/stashesView.ts +++ b/src/views/stashesView.ts @@ -12,14 +12,14 @@ import { import { configuration, StashesViewConfig, ViewFilesLayout } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; +import { GitUri } from '../git/gitUri'; import { GitReference, GitStashReference, RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, -} from '../git/git'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; import { gate, Strings } from '../system'; import { RepositoriesSubscribeableNode, diff --git a/src/views/tagsView.ts b/src/views/tagsView.ts index b98b356..050756b 100644 --- a/src/views/tagsView.ts +++ b/src/views/tagsView.ts @@ -12,14 +12,14 @@ import { import { configuration, TagsViewConfig, ViewBranchesLayout, ViewFilesLayout } from '../configuration'; import { GlyphChars } from '../constants'; import { Container } from '../container'; +import { GitUri } from '../git/gitUri'; import { GitReference, GitTagReference, RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent, -} from '../git/git'; -import { GitUri } from '../git/gitUri'; +} from '../git/models'; import { gate, Strings } from '../system'; import { BranchOrTagFolderNode, diff --git a/src/views/viewCommands.ts b/src/views/viewCommands.ts index eda280a..317f48f 100644 --- a/src/views/viewCommands.ts +++ b/src/views/viewCommands.ts @@ -15,8 +15,8 @@ import { import { configuration, FileAnnotationType, ViewShowBranchComparison } from '../configuration'; import { BuiltInCommands, BuiltInGitCommands, ContextKeys, setContext } from '../constants'; import { Container } from '../container'; -import { GitReference, GitRevision } from '../git/git'; import { GitUri } from '../git/gitUri'; +import { GitReference, GitRevision } from '../git/models'; import { debug } from '../system'; import { runGitCommandInTerminal } from '../terminal'; import { diff --git a/src/views/viewDecorationProvider.ts b/src/views/viewDecorationProvider.ts index fa451e3..40fbedd 100644 --- a/src/views/viewDecorationProvider.ts +++ b/src/views/viewDecorationProvider.ts @@ -11,7 +11,7 @@ import { window, } from 'vscode'; import { GlyphChars } from '../constants'; -import { GitBranchStatus } from '../git/git'; +import { GitBranchStatus } from '../git/models'; export class ViewFileDecorationProvider implements FileDecorationProvider, Disposable { private readonly _onDidChange = new EventEmitter(); diff --git a/src/vsls/guest.ts b/src/vsls/guest.ts index fe0a25e..23a4af7 100644 --- a/src/vsls/guest.ts +++ b/src/vsls/guest.ts @@ -2,7 +2,8 @@ import { CancellationToken, Disposable, window, WorkspaceFolder } from 'vscode'; import type { LiveShare, SharedServiceProxy } from '../@types/vsls'; import { Container } from '../container'; -import { GitCommandOptions, Repository, RepositoryChangeEvent } from '../git/git'; +import { GitCommandOptions } from '../git/commandOptions'; +import { Repository, RepositoryChangeEvent } from '../git/models'; import { Logger } from '../logger'; import { debug, log } from '../system'; import { VslsHostService } from './host'; diff --git a/src/vsls/host.ts b/src/vsls/host.ts index 222df07..2c36067 100644 --- a/src/vsls/host.ts +++ b/src/vsls/host.ts @@ -1,8 +1,8 @@ 'use strict'; import { CancellationToken, Disposable, Uri, workspace, WorkspaceFoldersChangeEvent } from 'vscode'; +import { git } from '@env/git'; import type { LiveShare, SharedService } from '../@types/vsls'; import { Container } from '../container'; -import { git } from '../git/git'; import { GitUri } from '../git/gitUri'; import { Logger } from '../logger'; import { debug, Iterables, log, Strings } from '../system'; diff --git a/src/vsls/protocol.ts b/src/vsls/protocol.ts index 0e3e764..be97893 100644 --- a/src/vsls/protocol.ts +++ b/src/vsls/protocol.ts @@ -1,5 +1,5 @@ 'use strict'; -import type { GitCommandOptions } from '../git/git'; +import { GitCommandOptions } from '../git/commandOptions'; // eslint-disable-next-line @typescript-eslint/no-unused-vars export class RequestType { diff --git a/src/webviews/rebaseEditor.ts b/src/webviews/rebaseEditor.ts index b09b333..00e7f84 100644 --- a/src/webviews/rebaseEditor.ts +++ b/src/webviews/rebaseEditor.ts @@ -1,5 +1,4 @@ 'use strict'; -import { randomBytes } from 'crypto'; import { CancellationToken, commands, @@ -15,11 +14,12 @@ import { workspace, WorkspaceEdit, } from 'vscode'; +import { getNonce } from '@env/crypto'; import { ShowQuickCommitCommand } from '../commands'; import { configuration } from '../configuration'; import { BuiltInCommands } from '../constants'; import { Container } from '../container'; -import { RepositoryChange, RepositoryChangeComparisonMode } from '../git/git'; +import { RepositoryChange, RepositoryChangeComparisonMode } from '../git/models'; import { Logger } from '../logger'; import { Messages } from '../messages'; import { debug, gate, Iterables, Strings } from '../system'; @@ -478,7 +478,7 @@ export class RebaseEditorProvider implements CustomTextEditorProvider, Disposabl const bootstrap = await this.parseState(context); const cspSource = context.panel.webview.cspSource; - const cspNonce = randomBytes(16).toString('base64'); + const cspNonce = getNonce(); const root = context.panel.webview.asWebviewUri(this.container.context.extensionUri).toString(); const html = content diff --git a/src/webviews/webviewBase.ts b/src/webviews/webviewBase.ts index f1cf7aa..17d087c 100644 --- a/src/webviews/webviewBase.ts +++ b/src/webviews/webviewBase.ts @@ -1,5 +1,4 @@ 'use strict'; -import { randomBytes } from 'crypto'; import { commands, ConfigurationChangeEvent, @@ -13,10 +12,12 @@ import { window, workspace, } from 'vscode'; +import { getNonce } from '@env/crypto'; import { Commands } from '../commands'; import { configuration } from '../configuration'; import { Container } from '../container'; -import { CommitFormatter, GitBlameCommit, PullRequest, PullRequestState } from '../git/git'; +import { CommitFormatter } from '../git/formatters'; +import { GitBlameCommit, PullRequest, PullRequestState } from '../git/models'; import { Logger } from '../logger'; import { DidChangeConfigurationNotificationType, @@ -332,7 +333,7 @@ export abstract class WebviewBase implements Disposable { ]); const cspSource = webview.cspSource; - const cspNonce = randomBytes(16).toString('base64'); + const cspNonce = getNonce(); const root = webview.asWebviewUri(this.container.context.extensionUri).toString(); const html = content diff --git a/tsconfig.browser.json b/tsconfig.browser.json index 7435b64..f041ac7 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -3,7 +3,8 @@ "compilerOptions": { "lib": ["dom", "dom.iterable", "es2020"], "paths": { - "@env/*": ["src/env/browser/*"] + "@env/*": ["src/env/browser/*"], + "path": ["node_modules/path-browserify"] }, "tsBuildInfoFile": "tsconfig.browser.tsbuildinfo" }, diff --git a/webpack.config.js b/webpack.config.js index 7e427c0..a646588 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -142,11 +142,6 @@ function getExtensionConfig(target, mode, env) { }, }), ], - splitChunks: { - cacheGroups: { - defaultVendors: false, - }, - }, }, externals: { vscode: 'commonjs vscode', @@ -187,34 +182,8 @@ function getExtensionConfig(target, mode, env) { ], }, resolve: { - alias: - target === 'webworker' - ? { - '@env': path.resolve(__dirname, 'src', 'env', 'browser'), - } - : { - '@env': path.resolve(__dirname, 'src', 'env', target), - // 'universal-user-agent': path.join( - // __dirname, - // 'node_modules', - // 'universal-user-agent', - // 'dist-node', - // 'index.js', - // ), - }, - fallback: - target === 'webworker' - ? { - child_process: false, - crypto: require.resolve('crypto-browserify'), - fs: false, - os: false, - path: require.resolve('path-browserify'), - process: false, - stream: false, - url: false, - } - : undefined, + alias: { '@env': path.resolve(__dirname, 'src', 'env', target === 'webworker' ? 'browser' : target) }, + fallback: target === 'webworker' ? { path: require.resolve('path-browserify') } : undefined, mainFields: target === 'webworker' ? ['browser', 'module', 'main'] : ['module', 'main'], extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], }, diff --git a/yarn.lock b/yarn.lock index e62e43d..09fa33d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -216,9 +216,9 @@ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.3.tgz#4b086e316ed4504f49bd78135d48642bf50aa135" - integrity sha512-bAKB1GcA28FR/D8HHQ5U4FYk7nvoZdp7TZSy9oIyQ8gpYCzpeESa3LCK2TbeocXic7GwIXCkCItJg0DttO3ZaQ== + version "17.0.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.5.tgz#57ca67ec4e57ad9e4ef5a6bab48a15387a1c83e0" + integrity sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw== "@types/node@14.17.4": version "14.17.4" @@ -484,9 +484,9 @@ acorn-walk@^8.0.0: integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^8.0.4, acorn@^8.4.1, acorn@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" - integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== ajv-formats@^2.1.1: version "2.1.1" @@ -661,16 +661,6 @@ arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -769,16 +759,6 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -799,65 +779,6 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - browserslist@^4.14.5: version "4.19.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" @@ -897,11 +818,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -1047,14 +963,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - circular-dependency-plugin@5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" @@ -1197,37 +1105,6 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - cross-env@7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" @@ -1271,23 +1148,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - csp-html-webpack-plugin@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/csp-html-webpack-plugin/-/csp-html-webpack-plugin-5.1.0.tgz#b3bfa5a50d207fe5b6bb4839dc33aa59621a35a0" @@ -1311,9 +1171,9 @@ css-loader@6.5.1: semver "^7.3.5" css-select@^4.1.3: - version "4.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.0.tgz#ab28276d3afb00cc05e818bd33eb030f14f57895" - integrity sha512-6YVG6hsH9yIb/si3Th/is8Pex7qnVHO6t7q7U6TIUnkQASGbS8tnUDBftnPynLNnuUl/r2+PTd0ekiiq7R0zJw== + version "4.2.1" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" + integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== dependencies: boolbase "^1.0.0" css-what "^5.1.0" @@ -1505,28 +1365,11 @@ deprecation@^2.0.0: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -1639,22 +1482,9 @@ duplexer@^0.1.2: integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== electron-to-chromium@^1.4.17: - version "1.4.27" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.27.tgz#bfc6e798d8a56a17d658312f4b7ae1a7ca87724f" - integrity sha512-uZ95szi3zUbzRDx1zx/xnsCG+2xgZyy57pDOeaeO4r8zx5Dqe8Jv1ti8cunvBwJHVI5LzPuw8umKwZb3WKYxSQ== - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" + version "1.4.28" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.28.tgz#fef0e92e281df6d568f482d8d53c34ca5374de48" + integrity sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg== emoji-regex@^8.0.0: version "8.0.0" @@ -1750,60 +1580,65 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-arm64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.7.tgz#8c78cbb617f9f216abfb5a84cca453b51421a1b6" - integrity sha512-9/Q1NC4JErvsXzJKti0NHt+vzKjZOgPIjX/e6kkuCzgfT/GcO3FVBcGIv4HeJG7oMznE6KyKhvLrFgt7CdU2/w== - -esbuild-darwin-64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.7.tgz#7424bdb64c104556d36b7429af79ab51415ab8f4" - integrity sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ== - -esbuild-darwin-arm64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.7.tgz#6a243dc0132aeb11c1991f968a6a9e393f43c6bc" - integrity sha512-68e7COhmwIiLXBEyxUxZSSU0akgv8t3e50e2QOtKdBUE0F6KIRISzFntLe2rYlNqSsjGWsIO6CCc9tQxijjSkw== - -esbuild-freebsd-64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.7.tgz#e7281e50522e724c4da502504dcd75be0db46c94" - integrity sha512-76zy5jAjPiXX/S3UvRgG85Bb0wy0zv/J2lel3KtHi4V7GUTBfhNUPt0E5bpSXJ6yMT7iThhnA5rOn+IJiUcslQ== - -esbuild-freebsd-arm64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.7.tgz#31e513098efd181d76a3ba3ea285836d37f018a3" - integrity sha512-lSlYNLiqyzd7qCN5CEOmLxn7MhnGHPcu5KuUYOG1i+t5A6q7LgBmfYC9ZHJBoYyow3u4CNu79AWHbvVLpE/VQQ== - -esbuild-linux-32@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.7.tgz#82cf96accbf55d3007c3338dc3b3144efa9ae108" - integrity sha512-Vk28u409wVOXqTaT6ek0TnfQG4Ty1aWWfiysIaIRERkNLhzLhUf4i+qJBN8mMuGTYOkE40F0Wkbp6m+IidOp2A== - -esbuild-linux-64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.7.tgz#67bdfe23a6ca918a0bb8e9558a3ee0fdf98c0bc0" - integrity sha512-+Lvz6x+8OkRk3K2RtZwO+0a92jy9si9cUea5Zoru4yJ/6EQm9ENX5seZE0X9DTwk1dxJbjmLsJsd3IoowyzgVg== - -esbuild-linux-arm64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.7.tgz#f79c69ff0c176559c418de8e59aa3cf388fff992" - integrity sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg== - -esbuild-linux-arm@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.7.tgz#3d665b35e1c27dbe1c9deb8bf956d7d1f191a21b" - integrity sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ== - -esbuild-linux-mips64le@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.7.tgz#226114a0cc6649ba0ffd3428118a8f622872f16d" - integrity sha512-mFWpnDhZJmj/h7pxqn1GGDsKwRfqtV7fx6kTF5pr4PfXe8pIaTERpwcKkoCwZUkWAOmUEjMIUAvFM72A6hMZnA== - -esbuild-linux-ppc64le@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.7.tgz#5c67ae56517f2644d567b2ca5ecb97f9520cfc49" - integrity sha512-wM7f4M0bsQXfDL4JbbYD0wsr8cC8KaQ3RPWc/fV27KdErPW7YsqshZZSjDV0kbhzwpNNdhLItfbaRT8OE8OaKA== +esbuild-android-arm64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.8.tgz#69324e08ba68c7d9a541e7b825d7235b83e17bd6" + integrity sha512-tAEoSHnPBSH0cCAFa/aYs3LPsoTY4SwsP6wDKi4PaelbQYNJjqNpAeweyJ8l98g1D6ZkLyqsHbkYj+209sezkA== + +esbuild-darwin-64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.8.tgz#7176b692b9de746ba2f9dd4dd81dc4f1b7670786" + integrity sha512-t7p7WzTb+ybiD/irkMt5j/NzB+jY+8yPTsrXk5zCOH1O7DdthRnAUJ7pJPwImdL7jAGRbLtYRxUPgCHs/0qUPw== + +esbuild-darwin-arm64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.8.tgz#59167584e58428877e48e05c4cca58755f843327" + integrity sha512-5FeaT2zMUajKnBwUMSsjZev5iA38YHrDmXhkOCwZQIFUvhqojinqCrvv/X7dyxb1987bcY9KGwJ+EwDwd922HQ== + +esbuild-freebsd-64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.8.tgz#00b7d6e00abba9c2eccc9acd576c796333671e9c" + integrity sha512-pGHBLSf7ynfyDZXUtbq/GsA2VIwQlWXrUj1AMcE0id47mRdEUM8/1ZuqMGZx63hRnNgtK9zNJ8OIu2c7qq76Qw== + +esbuild-freebsd-arm64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.8.tgz#57f0cd5a1cb37fa2c0e84e780677fe62f1e8c894" + integrity sha512-g4GgAnrx6Gh1BjKJjJWgPnOR4tW2FcAx9wFvyUjRsIjB35gT+aAFR+P/zStu5OG9LnbS8Pvjd4wS68QIXk+2dA== + +esbuild-linux-32@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.8.tgz#bbf3e5d3fb30f949030d0c2241ac93a172917d56" + integrity sha512-wPfQJadF5vTzriw/B8Ide74PeAJlZW7czNx3NIUHkHlXb+En1SeIqNzl6jG9DuJUl57xD9Ucl9YJFEkFeX8eLg== + +esbuild-linux-64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.8.tgz#08631e9e0da613603bcec782f29fecbc6f4596de" + integrity sha512-+RNuLk9RhRDL2kG+KTEYl5cIgF6AGLkRnKKWEu9DpCZaickONEqrKyQSVn410Hj105DLdW6qvIXQQHPycJhExg== + +esbuild-linux-arm64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.8.tgz#206d39c8dfbb7c72aa2f5fc52f7402b5b8a77366" + integrity sha512-BtWoKNYul9UoxUvQUSdSrvSmJyFL1sGnNPTSqWCg1wMe4kmc8UY2yVsXSSkKO8N2jtHxlgFyz/XhvNBzEwGVcw== + +esbuild-linux-arm@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.8.tgz#e28e70420d187f5e403bfa4a72df676d53d707fd" + integrity sha512-HIct38SvUAIJbiTwV/PVQroimQo96TGtzRDAEZxTorB4vsAj1r8bd0keXExPU4RH7G0zIqC4loQQpWYL+nH4Vg== + +esbuild-linux-mips64le@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.8.tgz#04997ac1a0df794a4d5e04d78015863d48490590" + integrity sha512-0DxnCl9XTvaQtsX6Qa+Phr5i9b04INwwSv2RbQ2UWRLoQ/037iaFzbmuhgrcmaGOcRwPkCa+4Qo5EgI01MUgsQ== + +esbuild-linux-ppc64le@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.8.tgz#1827378feff9702c156047ba118c1f3bd74da67e" + integrity sha512-Uzr/OMj97Q0qoWLXCvXCKUY/z1SNI4iSZEuYylM5Nd71HGStL32XWq/MReJ0PYMvUMKKJicKSKw2jWM1uBQ84Q== + +esbuild-linux-s390x@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.8.tgz#200ac44cda59b81135b325c3a29d016969650876" + integrity sha512-vURka7aCA5DrRoOqOn6pXYwFlDSoQ4qnqam8AC0Ikn6tibutuhgar6M3Ek2DCuz9yqd396mngdYr5A8x2TPkww== esbuild-loader@2.18.0: version "2.18.0" @@ -1817,58 +1652,59 @@ esbuild-loader@2.18.0: tapable "^2.2.0" webpack-sources "^2.2.0" -esbuild-netbsd-64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.7.tgz#69dc0469ea089013956d8c6aa71c9e7fc25fc567" - integrity sha512-J/afS7woKyzGgAL5FlgvMyqgt5wQ597lgsT+xc2yJ9/7BIyezeXutXqfh05vszy2k3kSvhLesugsxIA71WsqBw== - -esbuild-openbsd-64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.7.tgz#3a9d04ecf820708e2e5b7d26fa7332e3f19f6b6c" - integrity sha512-7CcxgdlCD+zAPyveKoznbgr3i0Wnh0L8BDGRCjE/5UGkm5P/NQko51tuIDaYof8zbmXjjl0OIt9lSo4W7I8mrw== - -esbuild-sunos-64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.7.tgz#7c33a682f0fd9565cae7df165d0e8736b7b62623" - integrity sha512-GKCafP2j/KUljVC3nesw1wLFSZktb2FGCmoT1+730zIF5O6hNroo0bSEofm6ZK5mNPnLiSaiLyRB9YFgtkd5Xg== - -esbuild-windows-32@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.7.tgz#24ec706a5f25b4499048f56146bcff0ed3839dce" - integrity sha512-5I1GeL/gZoUUdTPA0ws54bpYdtyeA2t6MNISalsHpY269zK8Jia/AXB3ta/KcDHv2SvNwabpImeIPXC/k0YW6A== - -esbuild-windows-64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.7.tgz#dd6d5b5bace93cd7a9174d31fbd727ba21885abf" - integrity sha512-CIGKCFpQOSlYsLMbxt8JjxxvVw9MlF1Rz2ABLVfFyHUF5OeqHD5fPhGrCVNaVrhO8Xrm+yFmtjcZudUGr5/WYQ== - -esbuild-windows-arm64@0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.7.tgz#ecfd9ac289606f26760c4f737caaeeadfff3cfe3" - integrity sha512-eOs1eSivOqN7cFiRIukEruWhaCf75V0N8P0zP7dh44LIhLl8y6/z++vv9qQVbkBm5/D7M7LfCfCTmt1f1wHOCw== - -esbuild@0.14.7, esbuild@^0.14.6: - version "0.14.7" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.7.tgz#e85cead55b0e1001abf1b2ce4a11c1d4d709d13c" - integrity sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw== +esbuild-netbsd-64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.8.tgz#8159d8eae111f80ea6e4cbfa5d4cf658388a72d4" + integrity sha512-tjyDak2/pp0VUAhBW6/ueuReMd5qLHNlisXl5pq0Xn0z+kH9urA/t1igm0JassWbdMz123td5ZEQWoD9KbtOAw== + +esbuild-openbsd-64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.8.tgz#2a9498d881a3ab94927c724f34dd1160eef1f3b8" + integrity sha512-zAKKV15fIyAuDDga5rQv0lW2ufBWj/OCjqjDBb3dJf5SfoAi/DMIHuzmkKQeDQ+oxt9Rp1D7ZOlOBVflutFTqQ== + +esbuild-sunos-64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.8.tgz#2447de7d79848ad528c7d44caab4938eb8f5a0cc" + integrity sha512-xV41Wa8imziM/2dbWZjLKQbIETRgo5dE0oc/uPsgaecJhsrdA0VkGa/V432LJSUYv967xHDQdoRRl5tr80+NnQ== + +esbuild-windows-32@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.8.tgz#3287281552d7e4c851b3106940ff5826f518043e" + integrity sha512-AxpdeLKQSyCZo7MzdOyV4OgEbEJcjnrS/2niAjbHESbjuS5P1DN/5vZoJ/JSWDVa/40OkBuHBhAXMx1HK3UDsg== + +esbuild-windows-64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.8.tgz#b4052868438b4f17b5c2a908cf344ed2bd267c38" + integrity sha512-/3pllNoy8mrz/E1rYalwiwwhzJBrYQhEapwAteHZbFVhGzYuB8F80e8x5eA8dhFHxDiZh1VzK+hREwwSt8UTQA== + +esbuild-windows-arm64@0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.8.tgz#512d06097cb4b848526a37c48a47223f1c6cc667" + integrity sha512-lTm5naoNgaUvzIiax3XYIEebqwr3bIIEEtqUhzQ2UQ+JMBmvhr02w3sJIJqF3axTX6TgWrC1OtM7DYNvFG+aXA== + +esbuild@0.14.8, esbuild@^0.14.6: + version "0.14.8" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.8.tgz#f60a07ca9400d61d09a98f96d666c50613972550" + integrity sha512-stMsCBmxwaMpeK8GC/49L/cRGIwsHwoEN7Twk5zDTHlm/63c0KXFKzDC8iM2Mi3fyCKwS002TAH6IlAvqR6t3g== optionalDependencies: - esbuild-android-arm64 "0.14.7" - esbuild-darwin-64 "0.14.7" - esbuild-darwin-arm64 "0.14.7" - esbuild-freebsd-64 "0.14.7" - esbuild-freebsd-arm64 "0.14.7" - esbuild-linux-32 "0.14.7" - esbuild-linux-64 "0.14.7" - esbuild-linux-arm "0.14.7" - esbuild-linux-arm64 "0.14.7" - esbuild-linux-mips64le "0.14.7" - esbuild-linux-ppc64le "0.14.7" - esbuild-netbsd-64 "0.14.7" - esbuild-openbsd-64 "0.14.7" - esbuild-sunos-64 "0.14.7" - esbuild-windows-32 "0.14.7" - esbuild-windows-64 "0.14.7" - esbuild-windows-arm64 "0.14.7" + esbuild-android-arm64 "0.14.8" + esbuild-darwin-64 "0.14.8" + esbuild-darwin-arm64 "0.14.8" + esbuild-freebsd-64 "0.14.8" + esbuild-freebsd-arm64 "0.14.8" + esbuild-linux-32 "0.14.8" + esbuild-linux-64 "0.14.8" + esbuild-linux-arm "0.14.8" + esbuild-linux-arm64 "0.14.8" + esbuild-linux-mips64le "0.14.8" + esbuild-linux-ppc64le "0.14.8" + esbuild-linux-s390x "0.14.8" + esbuild-netbsd-64 "0.14.8" + esbuild-openbsd-64 "0.14.8" + esbuild-sunos-64 "0.14.8" + esbuild-windows-32 "0.14.8" + esbuild-windows-64 "0.14.8" + esbuild-windows-arm64 "0.14.8" escalade@^3.1.1: version "3.1.1" @@ -2073,14 +1909,6 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - exec-buffer@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-3.2.0.tgz#b1686dbd904c7cf982e652c1f5a79b1e5573082b" @@ -2650,28 +2478,11 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hosted-git-info@^4.0.1, hosted-git-info@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" @@ -3321,7 +3132,7 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -md5.js@^1.3.4: +md5.js@1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== @@ -3378,14 +3189,6 @@ micromatch@^4.0.0, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@1.51.0, mime-db@^1.28.0: version "1.51.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" @@ -3430,16 +3233,6 @@ mini-css-extract-plugin@2.4.5: dependencies: schema-utils "^4.0.0" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -3831,17 +3624,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -3924,17 +3706,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - peek-readable@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.2.tgz#a5cb847e347d3eccdc37642c82d2b4155c1ab8af" @@ -4113,18 +3884,6 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -4164,21 +3923,13 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -4348,14 +4099,6 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -4373,7 +4116,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -"safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: +"safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -4471,14 +4214,6 @@ set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"