mirror of
https://github.com/microsoft/vscode.git
synced 2026-02-21 18:28:50 +00:00
Migrate github extension to ESM (2nd attempt) (#248312)
* Revert "GitHub - revert ESM migration (#247322)"
This reverts commit 2047ab0fff.
* use `"@vscode/extension-telemetry": "^1.0.0"` which doesn't use default export anymore
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
import { AuthenticationSession, authentication, window } from 'vscode';
|
||||
import { Agent, globalAgent } from 'https';
|
||||
import { graphql } from '@octokit/graphql/dist-types/types';
|
||||
import { graphql } from '@octokit/graphql/types';
|
||||
import { Octokit } from '@octokit/rest';
|
||||
import { httpsOverHttp } from 'tunnel';
|
||||
import { URL } from 'url';
|
||||
@@ -71,7 +71,7 @@ export async function getOctokitGraphql(): Promise<graphql> {
|
||||
const token = session.accessToken;
|
||||
const { graphql } = await import('@octokit/graphql');
|
||||
|
||||
return graphql.defaults({
|
||||
return graphql({
|
||||
headers: {
|
||||
authorization: `token ${token}`
|
||||
},
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
|
||||
import { authentication, EventEmitter, LogOutputChannel, Memento, Uri, workspace } from 'vscode';
|
||||
import { Repository as GitHubRepository, RepositoryRuleset } from '@octokit/graphql-schema';
|
||||
import { AuthenticationError, getOctokitGraphql } from './auth';
|
||||
import { API, BranchProtection, BranchProtectionProvider, BranchProtectionRule, Repository } from './typings/git';
|
||||
import { DisposableStore, getRepositoryFromUrl } from './util';
|
||||
import TelemetryReporter from '@vscode/extension-telemetry';
|
||||
import { AuthenticationError, getOctokitGraphql } from './auth.js';
|
||||
import { API, BranchProtection, BranchProtectionProvider, BranchProtectionRule, Repository } from './typings/git.js';
|
||||
import { DisposableStore, getRepositoryFromUrl } from './util.js';
|
||||
import { TelemetryReporter } from '@vscode/extension-telemetry';
|
||||
|
||||
const REPOSITORY_QUERY = `
|
||||
query repositoryPermissions($owner: String!, $repo: String!) {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { CancellationToken, CanonicalUriProvider, CanonicalUriRequestOptions, Disposable, ProviderResult, Uri, workspace } from 'vscode';
|
||||
import { API } from './typings/git';
|
||||
import { API } from './typings/git.js';
|
||||
|
||||
const SUPPORTED_SCHEMES = ['ssh', 'https', 'file'];
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import { API as GitAPI, RefType, Repository } from './typings/git';
|
||||
import { publishRepository } from './publish';
|
||||
import { DisposableStore, getRepositoryFromUrl } from './util';
|
||||
import { LinkContext, getCommitLink, getLink, getVscodeDevHost } from './links';
|
||||
import { API as GitAPI, RefType, Repository } from './typings/git.js';
|
||||
import { publishRepository } from './publish.js';
|
||||
import { DisposableStore, getRepositoryFromUrl } from './util.js';
|
||||
import { LinkContext, getCommitLink, getLink, getVscodeDevHost } from './links.js';
|
||||
|
||||
async function copyVscodeDevLink(gitAPI: GitAPI, useSelection: boolean, context: LinkContext, includeRange = true) {
|
||||
try {
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { CredentialsProvider, Credentials, API as GitAPI } from './typings/git';
|
||||
import { CredentialsProvider, Credentials, API as GitAPI } from './typings/git.js';
|
||||
import { workspace, Uri, Disposable } from 'vscode';
|
||||
import { getSession } from './auth';
|
||||
import { getSession } from './auth.js';
|
||||
|
||||
const EmptyDisposable: Disposable = { dispose() { } };
|
||||
|
||||
|
||||
@@ -4,19 +4,19 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { commands, Disposable, ExtensionContext, extensions, l10n, LogLevel, LogOutputChannel, window } from 'vscode';
|
||||
import TelemetryReporter from '@vscode/extension-telemetry';
|
||||
import { GithubRemoteSourceProvider } from './remoteSourceProvider';
|
||||
import { API, GitExtension } from './typings/git';
|
||||
import { registerCommands } from './commands';
|
||||
import { GithubCredentialProviderManager } from './credentialProvider';
|
||||
import { DisposableStore, repositoryHasGitHubRemote } from './util';
|
||||
import { GithubPushErrorHandler } from './pushErrorHandler';
|
||||
import { GitBaseExtension } from './typings/git-base';
|
||||
import { GithubRemoteSourcePublisher } from './remoteSourcePublisher';
|
||||
import { GitHubBranchProtectionProviderManager } from './branchProtection';
|
||||
import { GitHubCanonicalUriProvider } from './canonicalUriProvider';
|
||||
import { VscodeDevShareProvider } from './shareProviders';
|
||||
import { GitHubSourceControlHistoryItemDetailsProvider } from './historyItemDetailsProvider';
|
||||
import { TelemetryReporter } from '@vscode/extension-telemetry';
|
||||
import { GithubRemoteSourceProvider } from './remoteSourceProvider.js';
|
||||
import { API, GitExtension } from './typings/git.js';
|
||||
import { registerCommands } from './commands.js';
|
||||
import { GithubCredentialProviderManager } from './credentialProvider.js';
|
||||
import { DisposableStore, repositoryHasGitHubRemote } from './util.js';
|
||||
import { GithubPushErrorHandler } from './pushErrorHandler.js';
|
||||
import { GitBaseExtension } from './typings/git-base.js';
|
||||
import { GithubRemoteSourcePublisher } from './remoteSourcePublisher.js';
|
||||
import { GitHubBranchProtectionProviderManager } from './branchProtection.js';
|
||||
import { GitHubCanonicalUriProvider } from './canonicalUriProvider.js';
|
||||
import { VscodeDevShareProvider } from './shareProviders.js';
|
||||
import { GitHubSourceControlHistoryItemDetailsProvider } from './historyItemDetailsProvider.js';
|
||||
|
||||
export function activate(context: ExtensionContext): void {
|
||||
const disposables: Disposable[] = [];
|
||||
@@ -31,7 +31,7 @@ export function activate(context: ExtensionContext): void {
|
||||
disposables.push(logger.onDidChangeLogLevel(onDidChangeLogLevel));
|
||||
onDidChangeLogLevel(logger.logLevel);
|
||||
|
||||
const { aiKey } = require('../package.json') as { aiKey: string };
|
||||
const { aiKey } = context.extension.packageJSON as { aiKey: string };
|
||||
const telemetryReporter = new TelemetryReporter(aiKey);
|
||||
disposables.push(telemetryReporter);
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
|
||||
import { authentication, Command, l10n, LogOutputChannel, workspace } from 'vscode';
|
||||
import { Commit, Repository as GitHubRepository, Maybe } from '@octokit/graphql-schema';
|
||||
import { API, AvatarQuery, AvatarQueryCommit, Repository, SourceControlHistoryItemDetailsProvider } from './typings/git';
|
||||
import { DisposableStore, getRepositoryDefaultRemote, getRepositoryDefaultRemoteUrl, getRepositoryFromUrl, groupBy, sequentialize } from './util';
|
||||
import { AuthenticationError, getOctokitGraphql } from './auth';
|
||||
import { getAvatarLink } from './links';
|
||||
import { API, AvatarQuery, AvatarQueryCommit, Repository, SourceControlHistoryItemDetailsProvider } from './typings/git.js';
|
||||
import { DisposableStore, getRepositoryDefaultRemote, getRepositoryDefaultRemoteUrl, getRepositoryFromUrl, groupBy, sequentialize } from './util.js';
|
||||
import { AuthenticationError, getOctokitGraphql } from './auth.js';
|
||||
import { getAvatarLink } from './links.js';
|
||||
|
||||
const ISSUE_EXPRESSION = /(([A-Za-z0-9_.\-]+)\/([A-Za-z0-9_.\-]+))?(#|GH-)([1-9][0-9]*)($|\b)/g;
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import { API as GitAPI, RefType, Repository } from './typings/git';
|
||||
import { getRepositoryFromUrl, repositoryHasGitHubRemote } from './util';
|
||||
import { API as GitAPI, RefType, Repository } from './typings/git.js';
|
||||
import { getRepositoryFromUrl, repositoryHasGitHubRemote } from './util.js';
|
||||
|
||||
export function isFileInRepo(repository: Repository, file: vscode.Uri): boolean {
|
||||
return file.path.toLowerCase() === repository.rootUri.path.toLowerCase() ||
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import { API as GitAPI, Repository } from './typings/git';
|
||||
import { getOctokit } from './auth';
|
||||
import { API as GitAPI, Repository } from './typings/git.js';
|
||||
import { getOctokit } from './auth.js';
|
||||
import { TextEncoder } from 'util';
|
||||
import { basename } from 'path';
|
||||
import { Octokit } from '@octokit/rest';
|
||||
import { isInCodespaces } from './pushErrorHandler';
|
||||
import { isInCodespaces } from './pushErrorHandler.js';
|
||||
|
||||
function sanitizeRepositoryName(value: string): string {
|
||||
return value.trim().replace(/[^a-z0-9_.]/ig, '-');
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
|
||||
import { TextDecoder } from 'util';
|
||||
import { commands, env, ProgressLocation, Uri, window, workspace, QuickPickOptions, FileType, l10n, Disposable, TextDocumentContentProvider } from 'vscode';
|
||||
import TelemetryReporter from '@vscode/extension-telemetry';
|
||||
import { getOctokit } from './auth';
|
||||
import { GitErrorCodes, PushErrorHandler, Remote, Repository } from './typings/git';
|
||||
import { getOctokit } from './auth.js';
|
||||
import { GitErrorCodes, PushErrorHandler, Remote, Repository } from './typings/git.js';
|
||||
import * as path from 'path';
|
||||
import { TelemetryReporter } from '@vscode/extension-telemetry';
|
||||
|
||||
|
||||
|
||||
type Awaited<T> = T extends PromiseLike<infer U> ? Awaited<U> : T;
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Uri, env, l10n, workspace } from 'vscode';
|
||||
import { RemoteSourceProvider, RemoteSource, RemoteSourceAction } from './typings/git-base';
|
||||
import { getOctokit } from './auth';
|
||||
import { RemoteSourceProvider, RemoteSource, RemoteSourceAction } from './typings/git-base.js';
|
||||
import { getOctokit } from './auth.js';
|
||||
import { Octokit } from '@octokit/rest';
|
||||
import { getRepositoryFromQuery, getRepositoryFromUrl } from './util';
|
||||
import { getBranchLink, getVscodeDevHost } from './links';
|
||||
import { getRepositoryFromQuery, getRepositoryFromUrl } from './util.js';
|
||||
import { getBranchLink, getVscodeDevHost } from './links.js';
|
||||
|
||||
function asRemoteSource(raw: any): RemoteSource {
|
||||
const protocol = workspace.getConfiguration('github').get<'https' | 'ssh'>('gitProtocol');
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { publishRepository } from './publish';
|
||||
import { API as GitAPI, RemoteSourcePublisher, Repository } from './typings/git';
|
||||
import { publishRepository } from './publish.js';
|
||||
import { API as GitAPI, RemoteSourcePublisher, Repository } from './typings/git.js';
|
||||
|
||||
export class GithubRemoteSourcePublisher implements RemoteSourcePublisher {
|
||||
readonly name = 'GitHub';
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import { API } from './typings/git';
|
||||
import { getRepositoryFromUrl, repositoryHasGitHubRemote } from './util';
|
||||
import { encodeURIComponentExceptSlashes, ensurePublished, getRepositoryForFile, notebookCellRangeString, rangeString } from './links';
|
||||
import { API } from './typings/git.js';
|
||||
import { getRepositoryFromUrl, repositoryHasGitHubRemote } from './util.js';
|
||||
import { encodeURIComponentExceptSlashes, ensurePublished, getRepositoryForFile, notebookCellRangeString, rangeString } from './links.js';
|
||||
|
||||
export class VscodeDevShareProvider implements vscode.ShareProvider, vscode.Disposable {
|
||||
readonly id: string = 'copyVscodeDevLink';
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import 'mocha';
|
||||
import * as assert from 'assert';
|
||||
import { workspace, extensions, Uri, commands } from 'vscode';
|
||||
import { findPullRequestTemplates, pickPullRequestTemplate } from '../pushErrorHandler';
|
||||
import { findPullRequestTemplates, pickPullRequestTemplate } from '../pushErrorHandler.js';
|
||||
|
||||
suite('github smoke test', function () {
|
||||
const cwd = workspace.workspaceFolders![0].uri;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as path from 'path';
|
||||
import * as testRunner from '../../../../test/integration/electron/testrunner';
|
||||
import * as testRunner from '../../../../test/integration/electron/testrunner.js';
|
||||
|
||||
const suite = 'Github Tests';
|
||||
|
||||
@@ -27,4 +27,4 @@ if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
|
||||
|
||||
testRunner.configure(options);
|
||||
|
||||
export = testRunner;
|
||||
export default testRunner;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import { Repository } from './typings/git';
|
||||
import { Repository } from './typings/git.js';
|
||||
|
||||
export class DisposableStore {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user