Skip to content

Commit 6b250c1

Browse files
committed
refactor: avoid noisy imports
1 parent 8b72fa2 commit 6b250c1

File tree

11 files changed

+128
-165
lines changed

11 files changed

+128
-165
lines changed

packages/core/src/awsService/apprunner/explorer/apprunnerNode.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,8 @@ import { AWSTreeNodeBase } from '../../../shared/treeview/nodes/awsTreeNodeBase'
88
import { AppRunnerServiceNode } from './apprunnerServiceNode'
99
import { PlaceholderNode } from '../../../shared/treeview/nodes/placeholderNode'
1010
import * as nls from 'vscode-nls'
11-
import {
12-
AppRunnerClient,
13-
AppRunnerCreateServiceRequest,
14-
AppRunnerServiceSummary,
15-
} from '../../../shared/clients/apprunner'
11+
import { AppRunnerClient, CreateServiceRequest, ServiceSummary } from '../../../shared/clients/apprunner'
1612
import { PollingSet } from '../../../shared/utilities/pollingSet'
17-
import { ListServicesRequest } from '@aws-sdk/client-apprunner'
1813

1914
const localize = nls.loadMessageBundle()
2015

@@ -46,9 +41,9 @@ export class AppRunnerNode extends AWSTreeNodeBase {
4641
})
4742
}
4843

49-
private async getServiceSummaries(request: ListServicesRequest = {}): Promise<AppRunnerServiceSummary[]> {
44+
private async getServiceSummaries(): Promise<ServiceSummary[]> {
5045
// TODO: avoid resolving all services at once.
51-
const serviceCollection = this.client.paginateServices(request)
46+
const serviceCollection = this.client.paginateServices({})
5247
return await serviceCollection.flatten().promise()
5348
}
5449

@@ -90,7 +85,7 @@ export class AppRunnerNode extends AWSTreeNodeBase {
9085
this.pollingSet.delete(id)
9186
}
9287

93-
public async createService(request: AppRunnerCreateServiceRequest): Promise<void> {
88+
public async createService(request: CreateServiceRequest): Promise<void> {
9489
await this.client.createService(request)
9590
this.refresh()
9691
}

packages/core/src/awsService/apprunner/explorer/apprunnerServiceNode.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import AsyncLock from 'async-lock'
7-
import { AppRunnerClient, AppRunnerServiceSummary } from '../../../shared/clients/apprunner'
7+
import { AppRunnerClient, ServiceSummary } from '../../../shared/clients/apprunner'
88
import { AppRunnerNode } from './apprunnerNode'
99

1010
import { toArrayAsync, toMap } from '../../../shared/utilities/collectionUtils'
@@ -16,7 +16,7 @@ import * as nls from 'vscode-nls'
1616
import { getLogger } from '../../../shared/logger/logger'
1717
import { getIcon } from '../../../shared/icons'
1818
import { DefaultCloudWatchLogsClient } from '../../../shared/clients/cloudWatchLogsClient'
19-
import { OperationSummary, UpdateServiceRequest } from '@aws-sdk/client-apprunner'
19+
import * as AppRunner from '@aws-sdk/client-apprunner'
2020
const localize = nls.loadMessageBundle()
2121

2222
const contextBase = 'awsAppRunnerServiceNode'
@@ -41,8 +41,8 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
4141
constructor(
4242
public readonly parent: AppRunnerNode,
4343
private readonly client: AppRunnerClient,
44-
private _info: AppRunnerServiceSummary,
45-
private currentOperation: OperationSummary & { Type?: ServiceOperation } = {},
44+
private _info: ServiceSummary,
45+
private currentOperation: AppRunner.OperationSummary & { Type?: ServiceOperation } = {},
4646
cloudwatchClient = new DefaultCloudWatchLogsClient(client.regionCode)
4747
) {
4848
super('App Runner Service', parent.regionCode, cloudwatchClient)
@@ -55,7 +55,7 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
5555
this.update(_info)
5656
}
5757

58-
public get info(): Readonly<AppRunnerServiceSummary> {
58+
public get info(): Readonly<ServiceSummary> {
5959
return this._info
6060
}
6161

@@ -81,7 +81,7 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
8181
this.label = `${this._info.ServiceName} [${displayStatus}]`
8282
}
8383

84-
public update(info: AppRunnerServiceSummary): void {
84+
public update(info: ServiceSummary): void {
8585
// update can be called multiple times during an event loop
8686
// this would rarely cause the node's status to appear as 'Operation in progress'
8787
this.lock
@@ -135,7 +135,7 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
135135
})
136136
}
137137

138-
private updateInfo(info: AppRunnerServiceSummary): void {
138+
private updateInfo(info: ServiceSummary): void {
139139
if (info.Status === 'OPERATION_IN_PROGRESS' && this.currentOperation.Type === undefined) {
140140
// Asynchronous since it is not currently possible for race-conditions to occur with updating operations
141141
void this.updateOperation()
@@ -161,7 +161,7 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
161161
this.setOperation(resp.Service, resp.OperationId, 'DELETE_SERVICE')
162162
}
163163

164-
public async updateService(request: UpdateServiceRequest): Promise<void> {
164+
public async updateService(request: AppRunner.UpdateServiceRequest): Promise<void> {
165165
const resp = await this.client.updateService({ ...request, ServiceArn: this._info.ServiceArn })
166166
this.setOperation(resp.Service, resp.OperationId, 'UPDATE_SERVICE')
167167
}
@@ -172,13 +172,13 @@ export class AppRunnerServiceNode extends CloudWatchLogsBase implements AWSResou
172172
}
173173

174174
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
175-
public setOperation(info: AppRunnerServiceSummary, id?: string, type?: ServiceOperation): void {
175+
public setOperation(info: ServiceSummary, id?: string, type?: ServiceOperation): void {
176176
this.currentOperation.Id = id
177177
this.currentOperation.Type = type
178178
this.update(info)
179179
}
180180

181-
public async describe(): Promise<AppRunnerServiceSummary> {
181+
public async describe(): Promise<ServiceSummary> {
182182
const resp = await this.client.describeService({ ServiceArn: this.arn })
183183
this.update(resp.Service)
184184
return this._info

packages/core/src/awsService/apprunner/wizards/apprunnerCreateServiceWizard.ts

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,9 @@ import { makeDeploymentButton } from './deploymentButton'
1616
import { createExitPrompter } from '../../../shared/ui/common/exitPrompter'
1717
import { IamClient } from '../../../shared/clients/iam'
1818
import { DefaultEcrClient } from '../../../shared/clients/ecrClient'
19-
import {
20-
AppRunnerClient,
21-
AppRunnerCreateServiceRequest,
22-
AppRunnerSourceConfiguration,
23-
} from '../../../shared/clients/apprunner'
19+
import { AppRunnerClient, CreateServiceRequest, SourceConfiguration } from '../../../shared/clients/apprunner'
2420
import { getAppRunnerCreateServiceDocUrl } from '../../../shared/extensionUtilities'
25-
import { InstanceConfiguration } from '@aws-sdk/client-apprunner'
21+
import * as AppRunner from '@aws-sdk/client-apprunner'
2622

2723
const localize = nls.loadMessageBundle()
2824

@@ -58,14 +54,14 @@ const validateName = (name: string) => {
5854
return undefined
5955
}
6056

61-
function createInstanceStep(): Prompter<InstanceConfiguration> {
57+
function createInstanceStep(): Prompter<AppRunner.InstanceConfiguration> {
6258
const enumerations = [
6359
[1, 2],
6460
[1, 3],
6561
[2, 4],
6662
]
6763

68-
const items: picker.DataQuickPickItem<InstanceConfiguration>[] = enumerations.map((e) => ({
64+
const items: picker.DataQuickPickItem<AppRunner.InstanceConfiguration>[] = enumerations.map((e) => ({
6965
label: `${e[0]} vCPUs, ${e[1]} GBs Memory`,
7066
data: { Cpu: `${e[0]} vCPU`, Memory: `${e[1]} GB` },
7167
}))
@@ -78,10 +74,10 @@ function createInstanceStep(): Prompter<InstanceConfiguration> {
7874

7975
function createSourcePrompter(
8076
autoDeployButton: QuickInputToggleButton
81-
): Prompter<AppRunnerCreateServiceRequest['SourceConfiguration']> {
77+
): Prompter<CreateServiceRequest['SourceConfiguration']> {
8278
const ecrPath = {
8379
label: 'ECR',
84-
data: { ImageRepository: {} } as AppRunnerSourceConfiguration,
80+
data: { ImageRepository: {} } as SourceConfiguration,
8581
detail: localize(
8682
'AWS.apprunner.createService.ecr.detail',
8783
'Create a service from a public or private Elastic Container Registry repository'
@@ -90,7 +86,7 @@ function createSourcePrompter(
9086

9187
const repositoryPath = {
9288
label: 'Repository',
93-
data: { CodeRepository: {} } as AppRunnerSourceConfiguration,
89+
data: { CodeRepository: {} } as SourceConfiguration,
9490
detail: localize('AWS.apprunner.createService.repository.detail', 'Create a service from a GitHub repository'),
9591
}
9692

@@ -100,11 +96,11 @@ function createSourcePrompter(
10096
})
10197
}
10298

103-
export class CreateAppRunnerServiceWizard extends Wizard<AppRunnerCreateServiceRequest> {
99+
export class CreateAppRunnerServiceWizard extends Wizard<CreateServiceRequest> {
104100
public constructor(
105101
region: string,
106-
initState: WizardState<AppRunnerCreateServiceRequest> = {},
107-
implicitState: WizardState<AppRunnerCreateServiceRequest> = {},
102+
initState: WizardState<CreateServiceRequest> = {},
103+
implicitState: WizardState<CreateServiceRequest> = {},
108104
clients = {
109105
iam: new IamClient(region),
110106
ecr: new DefaultEcrClient(region),

packages/core/src/awsService/apprunner/wizards/codeRepositoryWizard.ts

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ import { WizardForm } from '../../../shared/wizards/wizardForm'
1212
import { createVariablesPrompter } from '../../../shared/ui/common/variablesPrompter'
1313
import {
1414
AppRunnerClient,
15-
AppRunnerSourceConfiguration,
16-
AppRunnerCodeRepository,
17-
AppRunnerCodeConfigurationValues,
15+
SourceConfiguration,
16+
CodeRepository,
17+
CodeConfigurationValues,
1818
} from '../../../shared/clients/apprunner'
1919
import { makeDeploymentButton } from './deploymentButton'
2020
import {
@@ -28,7 +28,7 @@ import { apprunnerConfigHelpUrl, apprunnerConnectionHelpUrl, apprunnerRuntimeHel
2828
import { Wizard, WIZARD_BACK } from '../../../shared/wizards/wizard'
2929
import { openUrl } from '../../../shared/utilities/vsCodeUtils'
3030
import { getAppRunnerCreateServiceDocUrl } from '../../../shared/extensionUtilities'
31-
import { ConfigurationSource, Runtime } from '@aws-sdk/client-apprunner'
31+
import * as AppRunner from '@aws-sdk/client-apprunner'
3232

3333
const localize = nls.loadMessageBundle()
3434

@@ -91,10 +91,10 @@ function createBranchPrompter(
9191
})
9292
}
9393

94-
function createRuntimePrompter(): QuickPickPrompter<Runtime> {
95-
const items: DataQuickPickItem<Runtime>[] = [
96-
{ label: 'python3', data: Runtime.PYTHON_3 },
97-
{ label: 'nodejs16', data: Runtime.NODEJS_16 },
94+
function createRuntimePrompter(): QuickPickPrompter<AppRunner.Runtime> {
95+
const items: DataQuickPickItem<AppRunner.Runtime>[] = [
96+
{ label: 'python3', data: AppRunner.Runtime.PYTHON_3 },
97+
{ label: 'nodejs16', data: AppRunner.Runtime.NODEJS_16 },
9898
]
9999

100100
return createQuickPick(items, {
@@ -103,7 +103,7 @@ function createRuntimePrompter(): QuickPickPrompter<Runtime> {
103103
})
104104
}
105105

106-
function createBuildCommandPrompter(runtime: Runtime): InputBoxPrompter {
106+
function createBuildCommandPrompter(runtime: AppRunner.Runtime): InputBoxPrompter {
107107
const buildCommandMap = {
108108
python: 'pip install -r requirements.txt',
109109
node: 'npm install',
@@ -118,7 +118,7 @@ function createBuildCommandPrompter(runtime: Runtime): InputBoxPrompter {
118118
})
119119
}
120120

121-
function createStartCommandPrompter(runtime: Runtime): InputBoxPrompter {
121+
function createStartCommandPrompter(runtime: AppRunner.Runtime): InputBoxPrompter {
122122
const startCommandMap = {
123123
python: 'python runapp.py',
124124
node: 'node app.js',
@@ -189,17 +189,20 @@ export function createConnectionPrompter(client: AppRunnerClient) {
189189
return prompter
190190
}
191191

192-
function createSourcePrompter(): QuickPickPrompter<ConfigurationSource> {
192+
function createSourcePrompter(): QuickPickPrompter<AppRunner.ConfigurationSource> {
193193
const configDetail = localize(
194194
'AWS.apprunner.createService.configSource.detail',
195195
'App Runner will read "apprunner.yaml" in the root of your repository for configuration details'
196196
)
197197
const apiLabel = localize('AWS.apprunner.createService.configSource.apiLabel', 'Configure all settings here')
198198
const repoLabel = localize('AWS.apprunner.createService.configSource.repoLabel', 'Use configuration file')
199-
const apiItem: DataQuickPickItem<ConfigurationSource> = { label: apiLabel, data: ConfigurationSource.API }
200-
const repoItem: DataQuickPickItem<ConfigurationSource> = {
199+
const apiItem: DataQuickPickItem<AppRunner.ConfigurationSource> = {
200+
label: apiLabel,
201+
data: AppRunner.ConfigurationSource.API,
202+
}
203+
const repoItem: DataQuickPickItem<AppRunner.ConfigurationSource> = {
201204
label: repoLabel,
202-
data: ConfigurationSource.REPOSITORY,
205+
data: AppRunner.ConfigurationSource.REPOSITORY,
203206
detail: configDetail,
204207
}
205208

@@ -209,8 +212,8 @@ function createSourcePrompter(): QuickPickPrompter<ConfigurationSource> {
209212
})
210213
}
211214

212-
function createCodeRepositorySubForm(git: GitExtension): WizardForm<AppRunnerCodeRepository> {
213-
const subform = new WizardForm<AppRunnerCodeRepository>()
215+
function createCodeRepositorySubForm(git: GitExtension): WizardForm<CodeRepository> {
216+
const subform = new WizardForm<CodeRepository>()
214217
const form = subform.body
215218

216219
form.RepositoryUrl.bindPrompter(() => createRepoPrompter(git).transform((r) => r.fetchUrl!))
@@ -222,7 +225,7 @@ function createCodeRepositorySubForm(git: GitExtension): WizardForm<AppRunnerCod
222225
form.CodeConfiguration.ConfigurationSource.bindPrompter(createSourcePrompter)
223226
form.SourceCodeVersion.Type.setDefault(() => 'BRANCH')
224227

225-
const codeConfigForm = new WizardForm<AppRunnerCodeConfigurationValues>()
228+
const codeConfigForm = new WizardForm<CodeConfigurationValues>()
226229
codeConfigForm.body.Runtime.bindPrompter(createRuntimePrompter)
227230
codeConfigForm.body.BuildCommand.bindPrompter((state) => createBuildCommandPrompter(state.Runtime!))
228231
codeConfigForm.body.StartCommand.bindPrompter((state) => createStartCommandPrompter(state.Runtime!))
@@ -239,7 +242,7 @@ function createCodeRepositorySubForm(git: GitExtension): WizardForm<AppRunnerCod
239242
return subform
240243
}
241244

242-
export class AppRunnerCodeRepositoryWizard extends Wizard<AppRunnerSourceConfiguration> {
245+
export class AppRunnerCodeRepositoryWizard extends Wizard<SourceConfiguration> {
243246
constructor(
244247
client: AppRunnerClient,
245248
git: GitExtension,

packages/core/src/awsService/apprunner/wizards/imageRepositoryWizard.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { createRolePrompter } from '../../../shared/ui/common/roles'
2121
import { getLogger } from '../../../shared/logger/logger'
2222
import { getAppRunnerCreateServiceDocUrl, isCloud9 } from '../../../shared/extensionUtilities'
2323
import { createExitPrompter } from '../../../shared/ui/common/exitPrompter'
24-
import { AppRunnerImageRepository, AppRunnerSourceConfiguration } from '../../../shared/clients/apprunner'
24+
import { ImageRepository, SourceConfiguration } from '../../../shared/clients/apprunner'
2525

2626
const localize = nls.loadMessageBundle()
2727

@@ -223,8 +223,8 @@ export class ImageIdentifierForm extends WizardForm<{ repo: TaggedEcrRepository
223223
function createImageRepositorySubForm(
224224
ecrClient: EcrClient,
225225
autoDeployButton: QuickInputToggleButton
226-
): WizardForm<AppRunnerImageRepository> {
227-
const subform = new WizardForm<AppRunnerImageRepository>()
226+
): WizardForm<ImageRepository> {
227+
const subform = new WizardForm<ImageRepository>()
228228
const form = subform.body
229229

230230
// note: this is intentionally initialized only once to preserve caches
@@ -253,7 +253,7 @@ function createImageRepositorySubForm(
253253
return subform
254254
}
255255

256-
export class AppRunnerImageRepositoryWizard extends Wizard<AppRunnerSourceConfiguration> {
256+
export class AppRunnerImageRepositoryWizard extends Wizard<SourceConfiguration> {
257257
constructor(ecrClient: EcrClient, iamClient: IamClient, autoDeployButton = makeDeploymentButton()) {
258258
super()
259259
const form = this.form

0 commit comments

Comments
 (0)