Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cdk explorer: take into account output from cdk.json #2180

Merged

Conversation

tinovyatkin
Copy link
Contributor

Problem

fixes #1875

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@tinovyatkin tinovyatkin requested a review from a team as a code owner October 17, 2021 06:57
@tinovyatkin tinovyatkin changed the title Fix/take-in-account-output-from-cdkjson cdk explorer: take into account output from cdk.json Oct 17, 2021
@@ -32,7 +32,9 @@ async function detectCdkProjectsFromWorkspaceFolder(
const result = []

for await (const cdkJson of detectLocalCdkProjects({ workspaceUris: [workspaceFolder.uri] })) {
const treeJsonPath = path.join(path.dirname(cdkJson.fsPath), 'cdk.out', 'tree.json')
const cdkJsonDoc = await vscode.workspace.openTextDocument(cdkJson)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

creating a vscode.TextDocument seems unnecessary, any reason not to use something like:

export const readFileAsString = async (

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, being future proof (things like minimum trusted workspaces as you wanted in #1823 , virtual file system providers - like GitHub extension, or see my test from #2078, etc) while charging very small performance penalty. But if you prefer that I can rewrite this to use readJSON from fs-extra library that you using in other places.

Copy link
Contributor

@justinmk3 justinmk3 Oct 20, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

being future proof (things like minimum trusted workspaces as you wanted in #1823 , virtual file system providers - like GitHub extension, or see my test from #2078, etc)

That is a good reason :) I wasn't aware of this. How does openTextDocument avoid problems with minimum trust? Is there a vscode doc I need to read?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, openTextDocument will not avoid problem with workspace trust right now, as there is no problem yet - current implementation of Workspace Trust are declarative for extension - author just says, with their best knowledge, that the extension will not execute any code from a workspace. This doesn't solve the problem completely, so, that why I'm writing future-proof as discussion is going to virtual fs (see microsoft/vscode#126913 for an example). openTextDocument is compatible with that, while direct fs.readFile is not.

@tinovyatkin tinovyatkin force-pushed the fix/take-in-account-output-from-cdkjson branch from 0214205 to e839c70 Compare October 19, 2021 14:34
@justinmk3
Copy link
Contributor

/runintegrationtests

@justinmk3 justinmk3 merged commit 0cdd71b into aws:master Oct 20, 2021
@justinmk3
Copy link
Contributor

Thank you!

Note: I modified the commit message so that it explains the problem+solution.

@tinovyatkin tinovyatkin deleted the fix/take-in-account-output-from-cdkjson branch October 20, 2021 20:48
leigaol added a commit to leigaol/aws-toolkit-vscode that referenced this pull request Jun 28, 2022
* Initial entrance for consolas (#241)

* Initial entrance for consolas

* Rm experimental file

* vector-consolas: Service Integration (#239)

SDK client generation for Javascript: This PR contains the code changes for SDK generation to request and get recommendations. The ClientConsolas SDK is generated by the smithy model, which integrates with the service to get the response. The endpoint is overridden at client instantiation.

* Control enable or disable feature for Consolas

* Consolas Automated Trigger (#267)

Consolas Automated Trigger

* vector-consolas: Replace out of date templates with updated templates (#278)

* Integrate Ux with manual, automated trigger, formatting and service level control (#279)

* Integrate Ux with manual, automated trigger and service level control

* Remove redundant file

* Revert types vscode version

* Copyright unify to 2021

* Correct path to client.d.ts in .eslintignore

* Add basic format

* Ignore suggest preview settings

* Address comments

* SDK client read customer AWS profile instead of coded credentials (#283)

* Update setting configuration to tabSize (#281)

* Merge `staging` into `vector/dev` (#285)

* getArchitecture can return undefined (#2105)

getArchitecture can return `undefined` if no value is set. This has the following implications:
* an undefined architecture won't print an error message
* Telemetry will show an undefined architecture

Fast-follow to https://github.com/aws/aws-toolkit-vscode/pull/2102 .

* refactor: SAM init wizard #2003

* Fixes architecture prompt
* Updates some old text
* Greatly increased granularity of unit testing

* SAM run/debug: launch config webview fixes #2108

* test(integ): handle fast exit after startDebugging() #2106

Problem:
If startDebugging() fails, the test logs fail with NRE:

     SAM Application Runtime: nodejs12.x/typescript (ZIP)
       Starting with a newly created nodejs12.x/typescript (ZIP) SAM Application...
         target=api: invokes and attaches on debug request (F5):
     TypeError: Cannot read property 'name' of undefined
      at /codebuild/output/src408332906/src/github.com/aws/aws-toolkit-vscode/src/integrationTest/sam.test.ts:325:66

Solution:
- Don't deref undefined global.
- Try to detect the circumstance and log it as "EXIT".

* test(integ): skip go1.x tests temporarily #2111

These tests are failing in CI but work locally. Skip until it can be
investigated.

* SAM run/debug: fix wrong field name #2115

* SAM run/debug: fix webview state regression #2114 

* Fixed some state issues
* Added 'clones' of the Vue state

These clones aren't strictly needed at the moment but it's better to safe-guard now since these types of bugs are difficult to track. Basically, anything related to Vue <--> VS Code should use this pattern to rip out the reactivity in case VS Code behavior w.r.t proxies changes.

* SAM run/debug: `skipPullImage` optimize/fix (#2118)

* Optimize skip pull image and respect user's config

* SAM run/debug: calculate architecture earlier in intake phase #2117

Avoids potential ordering confusion.

followup to f5af6fec287a fb5d91597ef9

* types: fix `makeChildrenNodes` and `childNodeLoader` types #2097

* Make node types generic

* docs(CONTRIBUTING.md) #2109

* SAM run/debug: webview state fixes #2121 

* Fix state issues for all fields

* Release 1.30.0

* Update version to snapshot version: 1.31.0-SNAPSHOT

* build(deps): bump nth-check (#2116)

* SAM run/debug: auto-create buildDir #2127

We do this for the "temp dir" case so also do it for the explicit
`buildDir` case.

fix #2120
ref #2061

* test(integ): add Go tests back #2130 

* Revert "test(integ): skip go1.x tests temporarily #2111"
* Update cert

* telemetry: skip in non-production build #2131

* feat: dynamic resource support in AWS Explorer (#2129)

Problem
-------
Many resource types are currently unsupported in the AWS Explorer. This forces users to use the console or other tools to discover or check statuses for these resources.

Solution
--------
This change introduces dynamic support for discovering and interacting with resources in the explorer. CloudControl APIs are used to generically interact with supported resource types.

* Step Functions: create from explorer #2128

fix #2073

* telemetry: developer-mode override #2132

Allow developers to enable telemetry in non-production builds.

* build(deps): unwrap UMD imports for JSON language service #2141 

The vscode-json-languageservice module includes ESM and UMD emits, but sets the UMD output as the main one. Our webpack config needs extra configuration to ignore UMD distributions to avoid issues like this, but for now we can use the compatibility loader to unwrap the UMD import as we're already using it for the ASL server.

* More resources: fix configure quick pick #2143 

Using 'glob' imports includes named exports as well as 'default'. This is usually fine, but since we're using webpack/build tools these imports are being wrapped and can include extra keys (e.g. 'default') which can cause issues when iterating over them.

* cloudControl: clean up schema mappings (#2135)

Problem: To support JSON schema validation while creating or editing resources we download a type schema and configure it with VSCode's built in JSON LSP. This LSP does not have a programmatic configuration API forcing us to write to the user's global configuration file. This leads to the potential of orphaned entries polluting the file.

Solution: This change manages schema mappings much more granularly. Individual files are now mapped rather than wildcarding entire types, and schemas are deleted best-effort on file close. Additionally the schema service will remove any remaining mappings on extension activation.

* cloudControl: restrict to read-only for Cloud9 (#2144)

* StepFunctions: enable in Cloud9 #2145

* StepFunctions: "Publish" uses selected region or prompts for region

Problem:
publishStateMachine command always uses default region of current
credentials.

Solution:
- When invoked from AWS Explorer context menu, use the region associated
  with the node.
- If invoked as a global command (or from a document), prompt for region.

ref 550a2513276b1dd0d23c4ea4680b4f35d9497d6f

* SAM "Edit Debug Configuration" UI is no longer "Beta"

* cloudControl: put resource modification features behind an experiment (#2150)

* SAM invoke UI: remove "Feedback", consolidate buttons

* wizard: introduce onDidSelect(), store last region

- prompter: allow common prompters to hook into "select" event, e.g. to
  store "last used" data.
- region prompter: Store "last selected region".

* wizard: use transform(), don't need onDidSelect()

- region.ts: store/restore last-selected region using prompter.transform().
- pickerPrompter.ts: sort last-selected item at start of the list.

* wizard: rename "last selected" concept to "recent item"

Advantages:
- "recent item" is common concept in Windows/macOS/Linux desktops.
- "last" is ambiguous, e.g. it's confusing to say "last selected item is
  sorted first in the items list".
- "selected" is not used with input boxes. "recent item" avoids needing
  to mention a verb.

* wizard: fix param type, mark setRecentItem() as protected

* wizard: scrub "selected previously" on back-navigation

* cloudControl: rename moreResources -> resources (#2152)

* cloudControl: remove maxResults setting (#2158)

Problem: CloudControl currently does not respect the maxResults setting which could lead to customer confusion when modifying this value.
Solution: Remove the setting for now.

* fix(StepFunctions): list all roles #2157

Problem:
In the SFN "Publish" command, the "Roles" selection searches only the
first page of IAM roles.

Solution:
- Handle paging.

* dynamicResources: update cloud api manifest #2163

* test(region.ts): exercise createRegionPrompter #2161

* UI: use consistent "recently used" message (#2164)

Problem:
1. Credentials/profile selection uses "recently used", but wizard uses
   "Selected Previously".
2. "Selected Previously" uses title-case which reduces the weight title
   case for other, more important UI items.

Solution:
Use "recently used" everywhere.

* fix(UI): product name on config page, China branding (#2166)

* Release 1.31.0

* Update version to snapshot version: 1.32.0-SNAPSHOT

* test(UI): add quick pick tester #2168 

Adds a testing construct for easy testing of quick picks. Tests are constructed as a series of 'actions' that are executed sequentially. Supports both 'partial' assertions and exact matches. Also adds custom error messages for quicker debugging when tests break.

Some of the logic is not being used currently but that's just because we haven't written many picker tests. There's also partial support for testing multi-pick pickers but of course those aren't even implemented yet. Later on the test code for QuickPickPrompter will use this tester instead, at least for some of the logic.

Added documentation

* build(deps): bump @aws-sdk/credential-provider-ini from 3.33.0 to 3.36.1 (#2154)

Bumps [@aws-sdk/credential-provider-ini](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/credential-provider-ini) from 3.33.0 to 3.36.1.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-ini/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.36.1/packages/credential-provider-ini)

---
updated-dependencies:
- dependency-name: "@aws-sdk/credential-provider-ini"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump mocha from 7.2.0 to 9.1.3 (#2171)

Bumps [mocha](https://github.com/mochajs/mocha) from 7.2.0 to 9.1.3.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.2.0...v9.1.3)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: consistently filter non-LIST resource types (#2174)

Problem: Resource type metadata is not consistently read between local and Cloud9 codepaths. This has lead to a bug where C9 is resolving resource types that do not support LIST and therefore fail to resolve results in the Explorer.
Solution: Encapsulate read and filtering of type manifest for consistent behavior.

* credentials: add catch to auto-connect #2175 

* Add try/catch to auto-connect
* Fix flaky test

* build(deps-dev): bump ts-node from 10.2.1 to 10.3.0 (#2159)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.2.1 to 10.3.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.2.1...v10.3.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/mocha from 7.0.2 to 9.0.0 (#2176)

Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 7.0.2 to 9.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @aws-sdk/util-arn-parser from 3.34.0 to 3.37.0 (#2182)

Bumps [@aws-sdk/util-arn-parser](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/util-arn-parser) from 3.34.0 to 3.37.0.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/util-arn-parser/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.37.0/packages/util-arn-parser)

---
updated-dependencies:
- dependency-name: "@aws-sdk/util-arn-parser"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @typescript-eslint/eslint-plugin (#2185)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.32.0 to 4.33.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.33.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump typescript from 4.4.3 to 4.4.4 #2170

* fix(test): intermittent failure in pickerPrompter.test.ts #2189

Problem:
1. since f7c3dc0961c969d3b240eef8adf21ee116133a47 #2168 , seeing these CI failures:
   ```
   QuickPickPrompter
        can select an item:
      Uncaught TypeError: this.onSuccess is not a function
       at Timeout._onTimeout (.vscode-test/vscode-linux-x64-1.42.0/VSCode-linux-x64/resources/app/extensions/json-language-features/client/dist/jsonMain.js:9:106345)
   ...
   "after each" hook for "creates a new prompter when given an AsyncIterable":
      Uncaught TypeError: this.onSuccess is not a function
       at Timeout._onTimeout (.vscode-test/vscode-linux-x64-1.42.0/VSCode-linux-x64/resources/app/extensions/json-language-features/client/dist/jsonMain.js:9:106345)
   ```

Solution:
1. ensure sinon.createSandbox() in beforeEach, restore() in afterEach()

related
- https://github.com/aws/aws-toolkit-vscode/issues/1281
- https://github.com/aws/aws-toolkit-vscode/issues/1233

* build(deps): bump immutable from 4.0.0-rc.15 to 4.0.0 (#2191)

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.0.0-rc.15 to 4.0.0.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.0.0-rc.15...v4.0.0)

---
updated-dependencies:
- dependency-name: immutable
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @sinonjs/fake-timers from 7.1.2 to 8.0.1 (#2190)

Bumps [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) from 7.1.2 to 8.0.1.
- [Release notes](https://github.com/sinonjs/fake-timers/releases)
- [Changelog](https://github.com/sinonjs/fake-timers/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/fake-timers/compare/v7.1.2...v8.0.1)

---
updated-dependencies:
- dependency-name: "@sinonjs/fake-timers"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump remap-istanbul from 0.12.0 to 0.13.0 (#2192)

Bumps [remap-istanbul](https://github.com/SitePen/remap-istanbul) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/SitePen/remap-istanbul/releases)
- [Commits](https://github.com/SitePen/remap-istanbul/compare/0.12.0...0.13.0)

---
updated-dependencies:
- dependency-name: remap-istanbul
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump adm-zip from 0.4.16 to 0.5.9 (#2194)

Bumps [adm-zip](https://github.com/cthackers/adm-zip) from 0.4.16 to 0.5.9.
- [Release notes](https://github.com/cthackers/adm-zip/releases)
- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)
- [Commits](https://github.com/cthackers/adm-zip/commits)

---
updated-dependencies:
- dependency-name: adm-zip
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* cloudControl: special-case S3::Bucket to regionalize bucket resolution (#2193)

Problem: S3::Bucket's resource handler LIST operation returns buckets from all regions. This is inconsistent with all other resource types which return regionalized results and results in an account wide listing of buckets being presented to the user. Buckets out of the current node's region are not accessible since the subsequent GET operation is region scoped.
Solution: This change special cases S3::Bucket to use the regionalized listBuckets function on the toolkit's S3Client to scope the buckets that are resolved to the current node's region.

* build(deps-dev): bump webpack from 5.55.1 to 5.59.0 #2201

* fix(cdk explorer): read output path from `cdk.json` #2180

Problem:
CDK Visualizer assumes a fixed location to cdk.out, this is incomplete.

Solution:
Discover the output path by readin the "output" field from cdk.json.

ref #1875

* build(deps-dev): bump webpack-cli from 4.8.0 to 4.9.1 (#2199)

Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.8.0 to 4.9.1.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.8.0...webpack-cli@4.9.1)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* cloudControl: handle unsupported resource actions (#2198)

Problem: CloudControl resources do not necessarily support the same actions across all supported regions. Our manifest currently does not expose capabilities at this level of granularity. This leads to errors being surfaced to the user when they encounter an unsupported action.
Solution: This change adds error handling for UnsupportedActionExceptions for all CloudControl operations, including better UX in this case and Cancelled telemetry results.

* feat(settings): getSetting() validates setting #2207

Problem:
1. Settings values are not validated.
2. readSetting() only works with the prefix given to the
   SettingsConfiguration constructor, so a different object needs to be
   created just to read different settings.

Solution:
1. Add getSetting()
    - Accepts any key. Doesn't care about the SettingsConfiguration "prefix".
    - Validates the setting type.
2. Deprecate readSetting(). It and the "prefix" thing will be removed
   later.

* Deprecate dotnetcore2.1 runtime (#2209)

Runtime `dotnetcore2.1` has hit [Phase 2 Deprecation in Lambda](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html), meaning that Lambdas running with `dotnetcore2.1` can no longer be created or updated. As such, there is no reason to maintain support in VS Code.

* cloudControl: guard against undefined type schema values (#2206)

Problem: Not all properties of type schemas are required and they are not always returned by all resource types. This can result in errors specifically for required property metadata.
Solution: Treat all schema data is optional and defensively use properties.

* SSM documents: enable in Cloud9 #2214

related #2145

* Patch `fakeTimers` (#2208)

Patches `FakeTimers` to still use the real `clearTimeout` in tests

* Adding latest resource manifest (#2218)

* Release 1.32.0

* Update version to snapshot version: 1.33.0-SNAPSHOT

* cloudControl: add Cloud9 CN branding for commands (#2217)

* fix(settings): do not throw in release #2220 

Throwing if the setting does not exist is good to catch stale settings, but we do not want to throw in a release version. Added basic tests for this.

* build(deps): migrate from request to got #2084 

* Migrates `request` to `got`
* `pipeLocation` is now an argument to `get` rather than to the constructor
* Allow callers to hook into streams

* build: update package-lock.json #2224

$ npm update --dev

* build(deps-dev): bump webpack from 5.59.0 to 5.59.1 (#2213)

Bumps [webpack](https://github.com/webpack/webpack) from 5.59.0 to 5.59.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.59.0...v5.59.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ts-node from 10.3.1 to 10.4.0 (#2233)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.3.1 to 10.4.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.3.1...v10.4.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @aws-sdk/credential-provider-sso from 3.37.0 to 3.38.0 (#2232)

Bumps [@aws-sdk/credential-provider-sso](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/credential-provider-sso) from 3.37.0 to 3.38.0.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-sso/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.38.0/packages/credential-provider-sso)

---
updated-dependencies:
- dependency-name: "@aws-sdk/credential-provider-sso"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/sinon from 10.0.4 to 10.0.5 (#2236)

Bumps [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) from 10.0.4 to 10.0.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sinon)

---
updated-dependencies:
- dependency-name: "@types/sinon"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* cloud9-toolkit-install.sh: support more systems

Problem:
Extension location varies depending on the Cloud9 version.

Solution:
Try various locations.

* ECS credentials: handle no attached role (#2247)

Problem: Previously the Toolkit checked for the availability of ECS container credentials purely on the presence of ECS environment variables. This check does not guarantee that the container has credentials and subsequently, if no role was attached to the ECS container, an exception would be thrown when trying to use the provider.

Solution: If ECS environment variables are present, attempt to retrieve credentials during the provider availability check to validate that a role is attached and credentials are available before making this provider available to the user.

* build: bump minimum VS Code version to 1.44.2 (#2146)

* cloud9-toolkit-install.sh: fix parameter handling

Problem:
Script ignores args.

Solution:
Pass args to the _setglobals function.

* cloudControl: avoid redundant editor closing (#2255)

Problem: We close the active editor at the conclusion of several actions including resource save, create, and closing of the editor mode. However we also unnecessarily close the editor when a document close event occurs, meaning we re-focus and close the editor again. In C9 this results in unnecessary flickering as the closed document is briefly visible before being reclosed.
Solution: Add a flag to indicate the editor is already closed and only perform cleanup actions.

* cloudControl: update resource model (#2256)

* SAM run/debug: do not stringify the error from got #2263

* Do not stringify the error from got
* Use status message
* Check for refused

* Revert "SAM run/debug: do not stringify the error from got" #2265

After aws/aws-toolkit-vscode#2263,
- even valid paths are rejected too quickly (no pause between retries).
- 403 is being handled by `got` in unexpected ways, e.g. it doesn't respect the retry limit?

* Release 1.33.0

* Update version to snapshot version: 1.34.0-SNAPSHOT

* SAM run/debug: target=api: fix 'got' issue #2266

- Overriding `calculateDelay()` overrides the default function, so any
  functionality normally specified in the retry options needs to be
  reimplemented.
- Explicitly check for `attemptCount` and 403 error code.

fix #2262

* Webviews: add framework code (#2260)

* Webviews
* Fix expand/collapse icon orientation

* Webviews: clean-up listeners for the WebviewView case #2269

* feat(git): hooks for open-repo, branch-change

* Git: add integration tests
* Add single-file launch config for integ test
* Change 'WrappedRepository' to 'ExtendedRepository'

* feat(systemUtilities): find git, ssh, bash, vscode

* fix(tests): remove python.analysis.logLevel setting

Python extension removed this setting.

      1) SAM Integration Tests
           "before all" hook in "SAM Integration Tests":
         Error: Unable to write to Workspace Settings because python.analysis.logLevel is not a registered configuration.

Co-authored-by: Bryce Ito <bryceito@amazon.com>
Co-authored-by: Justin M. Keyes <jmkeyes@amazon.com>
Co-authored-by: aws-toolkit-automation <>
Co-authored-by: aws-toolkit-automation <43144436+aws-toolkit-automation@users.noreply.github.com>
Co-authored-by: Jonathan Breedlove <breedloj@amazon.com>
Co-authored-by: Alan Bogusiewicz <abogusiewicz@gmail.com>
Co-authored-by: Kyle Thomson <kylthoms@amazon.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Vyatkin <tino@vtkn.io>

* Add initial Consolas telemetry definitions

* Revert "Add initial Consolas telemetry definitions"

This reverts commit d18a0e65517c5abcf6e5201cade9549324b9e4a8.

* Updated telemetry definitions

* bumped telemetry version

* Control enable/disable feature for Automated & Manual Trigger

* Some minor bug fixes (#289)

* Update package.json

* Fix typing minor ux issue

* Add typescript to supported languages

* Fix formatting append text issue

* Fix telemetry version

* “MESSAGE”

* package.jsonfix

* updatedcomments

* service invocation telemetry (#290)

* service invocation telemetry

* moved latency to finally block

* Add rejection handler and more minor bugs fixes (#293)

* Update package.json

* Fix typing minor ux issue

* Add typescript to supported languages

* Fix formatting append text issue

* Fix telemetry version

* Set filter text to default of using label

* Add rejection handler and event listeners

* Add warning to manual trigger but empty recommendation case

* Fix prefix match cases

* Fix Consolas_triggerType

* fixmergechanges

* Beta Landing Page for VS Code

* quickfix

* user decision telemetry for recommendations (#295)

* user decision telemetry for recommendations

* Naming updated

* Integrate with control feature and add telemetry (#296)

* Extract control prefix to constants

* Integrate with control feature and add telemetry

* Add mitigation for Settings not sync with UI button

* Correct consoals command title

* Fix Settings cannot reflect in UI buttons issue

* Merge from PR 295

* send userDecision telemetry on closing editor and application (#298)

* onClose listener for the userDecision telemetry

* record consolas events before shutdown

* betapagechanges

* unitestchanges

* Merge from feature/vector (#300)

* getArchitecture can return undefined (#2105)

getArchitecture can return `undefined` if no value is set. This has the following implications:
* an undefined architecture won't print an error message
* Telemetry will show an undefined architecture

Fast-follow to https://github.com/aws/aws-toolkit-vscode/pull/2102 .

* refactor: SAM init wizard #2003

* Fixes architecture prompt
* Updates some old text
* Greatly increased granularity of unit testing

* SAM run/debug: launch config webview fixes #2108

* test(integ): handle fast exit after startDebugging() #2106

Problem:
If startDebugging() fails, the test logs fail with NRE:

     SAM Application Runtime: nodejs12.x/typescript (ZIP)
       Starting with a newly created nodejs12.x/typescript (ZIP) SAM Application...
         target=api: invokes and attaches on debug request (F5):
     TypeError: Cannot read property 'name' of undefined
      at /codebuild/output/src408332906/src/github.com/aws/aws-toolkit-vscode/src/integrationTest/sam.test.ts:325:66

Solution:
- Don't deref undefined global.
- Try to detect the circumstance and log it as "EXIT".

* test(integ): skip go1.x tests temporarily #2111

These tests are failing in CI but work locally. Skip until it can be
investigated.

* SAM run/debug: fix wrong field name #2115

* SAM run/debug: fix webview state regression #2114 

* Fixed some state issues
* Added 'clones' of the Vue state

These clones aren't strictly needed at the moment but it's better to safe-guard now since these types of bugs are difficult to track. Basically, anything related to Vue <--> VS Code should use this pattern to rip out the reactivity in case VS Code behavior w.r.t proxies changes.

* SAM run/debug: `skipPullImage` optimize/fix (#2118)

* Optimize skip pull image and respect user's config

* SAM run/debug: calculate architecture earlier in intake phase #2117

Avoids potential ordering confusion.

followup to f5af6fec287a fb5d91597ef9

* types: fix `makeChildrenNodes` and `childNodeLoader` types #2097

* Make node types generic

* docs(CONTRIBUTING.md) #2109

* SAM run/debug: webview state fixes #2121 

* Fix state issues for all fields

* Release 1.30.0

* Update version to snapshot version: 1.31.0-SNAPSHOT

* build(deps): bump nth-check (#2116)

* SAM run/debug: auto-create buildDir #2127

We do this for the "temp dir" case so also do it for the explicit
`buildDir` case.

fix #2120
ref #2061

* test(integ): add Go tests back #2130 

* Revert "test(integ): skip go1.x tests temporarily #2111"
* Update cert

* telemetry: skip in non-production build #2131

* feat: dynamic resource support in AWS Explorer (#2129)

Problem
-------
Many resource types are currently unsupported in the AWS Explorer. This forces users to use the console or other tools to discover or check statuses for these resources.

Solution
--------
This change introduces dynamic support for discovering and interacting with resources in the explorer. CloudControl APIs are used to generically interact with supported resource types.

* Step Functions: create from explorer #2128

fix #2073

* telemetry: developer-mode override #2132

Allow developers to enable telemetry in non-production builds.

* build(deps): unwrap UMD imports for JSON language service #2141 

The vscode-json-languageservice module includes ESM and UMD emits, but sets the UMD output as the main one. Our webpack config needs extra configuration to ignore UMD distributions to avoid issues like this, but for now we can use the compatibility loader to unwrap the UMD import as we're already using it for the ASL server.

* More resources: fix configure quick pick #2143 

Using 'glob' imports includes named exports as well as 'default'. This is usually fine, but since we're using webpack/build tools these imports are being wrapped and can include extra keys (e.g. 'default') which can cause issues when iterating over them.

* cloudControl: clean up schema mappings (#2135)

Problem: To support JSON schema validation while creating or editing resources we download a type schema and configure it with VSCode's built in JSON LSP. This LSP does not have a programmatic configuration API forcing us to write to the user's global configuration file. This leads to the potential of orphaned entries polluting the file.

Solution: This change manages schema mappings much more granularly. Individual files are now mapped rather than wildcarding entire types, and schemas are deleted best-effort on file close. Additionally the schema service will remove any remaining mappings on extension activation.

* cloudControl: restrict to read-only for Cloud9 (#2144)

* StepFunctions: enable in Cloud9 #2145

* StepFunctions: "Publish" uses selected region or prompts for region

Problem:
publishStateMachine command always uses default region of current
credentials.

Solution:
- When invoked from AWS Explorer context menu, use the region associated
  with the node.
- If invoked as a global command (or from a document), prompt for region.

ref 550a2513276b1dd0d23c4ea4680b4f35d9497d6f

* SAM "Edit Debug Configuration" UI is no longer "Beta"

* cloudControl: put resource modification features behind an experiment (#2150)

* SAM invoke UI: remove "Feedback", consolidate buttons

* wizard: introduce onDidSelect(), store last region

- prompter: allow common prompters to hook into "select" event, e.g. to
  store "last used" data.
- region prompter: Store "last selected region".

* wizard: use transform(), don't need onDidSelect()

- region.ts: store/restore last-selected region using prompter.transform().
- pickerPrompter.ts: sort last-selected item at start of the list.

* wizard: rename "last selected" concept to "recent item"

Advantages:
- "recent item" is common concept in Windows/macOS/Linux desktops.
- "last" is ambiguous, e.g. it's confusing to say "last selected item is
  sorted first in the items list".
- "selected" is not used with input boxes. "recent item" avoids needing
  to mention a verb.

* wizard: fix param type, mark setRecentItem() as protected

* wizard: scrub "selected previously" on back-navigation

* cloudControl: rename moreResources -> resources (#2152)

* cloudControl: remove maxResults setting (#2158)

Problem: CloudControl currently does not respect the maxResults setting which could lead to customer confusion when modifying this value.
Solution: Remove the setting for now.

* fix(StepFunctions): list all roles #2157

Problem:
In the SFN "Publish" command, the "Roles" selection searches only the
first page of IAM roles.

Solution:
- Handle paging.

* dynamicResources: update cloud api manifest #2163

* test(region.ts): exercise createRegionPrompter #2161

* UI: use consistent "recently used" message (#2164)

Problem:
1. Credentials/profile selection uses "recently used", but wizard uses
   "Selected Previously".
2. "Selected Previously" uses title-case which reduces the weight title
   case for other, more important UI items.

Solution:
Use "recently used" everywhere.

* fix(UI): product name on config page, China branding (#2166)

* Release 1.31.0

* Update version to snapshot version: 1.32.0-SNAPSHOT

* test(UI): add quick pick tester #2168 

Adds a testing construct for easy testing of quick picks. Tests are constructed as a series of 'actions' that are executed sequentially. Supports both 'partial' assertions and exact matches. Also adds custom error messages for quicker debugging when tests break.

Some of the logic is not being used currently but that's just because we haven't written many picker tests. There's also partial support for testing multi-pick pickers but of course those aren't even implemented yet. Later on the test code for QuickPickPrompter will use this tester instead, at least for some of the logic.

Added documentation

* build(deps): bump @aws-sdk/credential-provider-ini from 3.33.0 to 3.36.1 (#2154)

Bumps [@aws-sdk/credential-provider-ini](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/credential-provider-ini) from 3.33.0 to 3.36.1.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-ini/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.36.1/packages/credential-provider-ini)

---
updated-dependencies:
- dependency-name: "@aws-sdk/credential-provider-ini"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump mocha from 7.2.0 to 9.1.3 (#2171)

Bumps [mocha](https://github.com/mochajs/mocha) from 7.2.0 to 9.1.3.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.2.0...v9.1.3)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: consistently filter non-LIST resource types (#2174)

Problem: Resource type metadata is not consistently read between local and Cloud9 codepaths. This has lead to a bug where C9 is resolving resource types that do not support LIST and therefore fail to resolve results in the Explorer.
Solution: Encapsulate read and filtering of type manifest for consistent behavior.

* credentials: add catch to auto-connect #2175 

* Add try/catch to auto-connect
* Fix flaky test

* build(deps-dev): bump ts-node from 10.2.1 to 10.3.0 (#2159)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.2.1 to 10.3.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.2.1...v10.3.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/mocha from 7.0.2 to 9.0.0 (#2176)

Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 7.0.2 to 9.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @aws-sdk/util-arn-parser from 3.34.0 to 3.37.0 (#2182)

Bumps [@aws-sdk/util-arn-parser](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/util-arn-parser) from 3.34.0 to 3.37.0.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/util-arn-parser/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.37.0/packages/util-arn-parser)

---
updated-dependencies:
- dependency-name: "@aws-sdk/util-arn-parser"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @typescript-eslint/eslint-plugin (#2185)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.32.0 to 4.33.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.33.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump typescript from 4.4.3 to 4.4.4 #2170

* fix(test): intermittent failure in pickerPrompter.test.ts #2189

Problem:
1. since f7c3dc0961c969d3b240eef8adf21ee116133a47 #2168 , seeing these CI failures:
   ```
   QuickPickPrompter
        can select an item:
      Uncaught TypeError: this.onSuccess is not a function
       at Timeout._onTimeout (.vscode-test/vscode-linux-x64-1.42.0/VSCode-linux-x64/resources/app/extensions/json-language-features/client/dist/jsonMain.js:9:106345)
   ...
   "after each" hook for "creates a new prompter when given an AsyncIterable":
      Uncaught TypeError: this.onSuccess is not a function
       at Timeout._onTimeout (.vscode-test/vscode-linux-x64-1.42.0/VSCode-linux-x64/resources/app/extensions/json-language-features/client/dist/jsonMain.js:9:106345)
   ```

Solution:
1. ensure sinon.createSandbox() in beforeEach, restore() in afterEach()

related
- https://github.com/aws/aws-toolkit-vscode/issues/1281
- https://github.com/aws/aws-toolkit-vscode/issues/1233

* build(deps): bump immutable from 4.0.0-rc.15 to 4.0.0 (#2191)

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.0.0-rc.15 to 4.0.0.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.0.0-rc.15...v4.0.0)

---
updated-dependencies:
- dependency-name: immutable
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @sinonjs/fake-timers from 7.1.2 to 8.0.1 (#2190)

Bumps [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) from 7.1.2 to 8.0.1.
- [Release notes](https://github.com/sinonjs/fake-timers/releases)
- [Changelog](https://github.com/sinonjs/fake-timers/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/fake-timers/compare/v7.1.2...v8.0.1)

---
updated-dependencies:
- dependency-name: "@sinonjs/fake-timers"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump remap-istanbul from 0.12.0 to 0.13.0 (#2192)

Bumps [remap-istanbul](https://github.com/SitePen/remap-istanbul) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/SitePen/remap-istanbul/releases)
- [Commits](https://github.com/SitePen/remap-istanbul/compare/0.12.0...0.13.0)

---
updated-dependencies:
- dependency-name: remap-istanbul
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump adm-zip from 0.4.16 to 0.5.9 (#2194)

Bumps [adm-zip](https://github.com/cthackers/adm-zip) from 0.4.16 to 0.5.9.
- [Release notes](https://github.com/cthackers/adm-zip/releases)
- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)
- [Commits](https://github.com/cthackers/adm-zip/commits)

---
updated-dependencies:
- dependency-name: adm-zip
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* cloudControl: special-case S3::Bucket to regionalize bucket resolution (#2193)

Problem: S3::Bucket's resource handler LIST operation returns buckets from all regions. This is inconsistent with all other resource types which return regionalized results and results in an account wide listing of buckets being presented to the user. Buckets out of the current node's region are not accessible since the subsequent GET operation is region scoped.
Solution: This change special cases S3::Bucket to use the regionalized listBuckets function on the toolkit's S3Client to scope the buckets that are resolved to the current node's region.

* build(deps-dev): bump webpack from 5.55.1 to 5.59.0 #2201

* fix(cdk explorer): read output path from `cdk.json` #2180

Problem:
CDK Visualizer assumes a fixed location to cdk.out, this is incomplete.

Solution:
Discover the output path by readin the "output" field from cdk.json.

ref #1875

* build(deps-dev): bump webpack-cli from 4.8.0 to 4.9.1 (#2199)

Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.8.0 to 4.9.1.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.8.0...webpack-cli@4.9.1)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* cloudControl: handle unsupported resource actions (#2198)

Problem: CloudControl resources do not necessarily support the same actions across all supported regions. Our manifest currently does not expose capabilities at this level of granularity. This leads to errors being surfaced to the user when they encounter an unsupported action.
Solution: This change adds error handling for UnsupportedActionExceptions for all CloudControl operations, including better UX in this case and Cancelled telemetry results.

* feat(settings): getSetting() validates setting #2207

Problem:
1. Settings values are not validated.
2. readSetting() only works with the prefix given to the
   SettingsConfiguration constructor, so a different object needs to be
   created just to read different settings.

Solution:
1. Add getSetting()
    - Accepts any key. Doesn't care about the SettingsConfiguration "prefix".
    - Validates the setting type.
2. Deprecate readSetting(). It and the "prefix" thing will be removed
   later.

* Deprecate dotnetcore2.1 runtime (#2209)

Runtime `dotnetcore2.1` has hit [Phase 2 Deprecation in Lambda](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html), meaning that Lambdas running with `dotnetcore2.1` can no longer be created or updated. As such, there is no reason to maintain support in VS Code.

* cloudControl: guard against undefined type schema values (#2206)

Problem: Not all properties of type schemas are required and they are not always returned by all resource types. This can result in errors specifically for required property metadata.
Solution: Treat all schema data is optional and defensively use properties.

* SSM documents: enable in Cloud9 #2214

related #2145

* Patch `fakeTimers` (#2208)

Patches `FakeTimers` to still use the real `clearTimeout` in tests

* Adding latest resource manifest (#2218)

* Release 1.32.0

* Update version to snapshot version: 1.33.0-SNAPSHOT

* cloudControl: add Cloud9 CN branding for commands (#2217)

* fix(settings): do not throw in release #2220 

Throwing if the setting does not exist is good to catch stale settings, but we do not want to throw in a release version. Added basic tests for this.

* build(deps): migrate from request to got #2084 

* Migrates `request` to `got`
* `pipeLocation` is now an argument to `get` rather than to the constructor
* Allow callers to hook into streams

* build: update package-lock.json #2224

$ npm update --dev

* build(deps-dev): bump webpack from 5.59.0 to 5.59.1 (#2213)

Bumps [webpack](https://github.com/webpack/webpack) from 5.59.0 to 5.59.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.59.0...v5.59.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ts-node from 10.3.1 to 10.4.0 (#2233)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.3.1 to 10.4.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.3.1...v10.4.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @aws-sdk/credential-provider-sso from 3.37.0 to 3.38.0 (#2232)

Bumps [@aws-sdk/credential-provider-sso](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/credential-provider-sso) from 3.37.0 to 3.38.0.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-sso/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.38.0/packages/credential-provider-sso)

---
updated-dependencies:
- dependency-name: "@aws-sdk/credential-provider-sso"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/sinon from 10.0.4 to 10.0.5 (#2236)

Bumps [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) from 10.0.4 to 10.0.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sinon)

---
updated-dependencies:
- dependency-name: "@types/sinon"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* cloud9-toolkit-install.sh: support more systems

Problem:
Extension location varies depending on the Cloud9 version.

Solution:
Try various locations.

* ECS credentials: handle no attached role (#2247)

Problem: Previously the Toolkit checked for the availability of ECS container credentials purely on the presence of ECS environment variables. This check does not guarantee that the container has credentials and subsequently, if no role was attached to the ECS container, an exception would be thrown when trying to use the provider.

Solution: If ECS environment variables are present, attempt to retrieve credentials during the provider availability check to validate that a role is attached and credentials are available before making this provider available to the user.

* build: bump minimum VS Code version to 1.44.2 (#2146)

* cloud9-toolkit-install.sh: fix parameter handling

Problem:
Script ignores args.

Solution:
Pass args to the _setglobals function.

* cloudControl: avoid redundant editor closing (#2255)

Problem: We close the active editor at the conclusion of several actions including resource save, create, and closing of the editor mode. However we also unnecessarily close the editor when a document close event occurs, meaning we re-focus and close the editor again. In C9 this results in unnecessary flickering as the closed document is briefly visible before being reclosed.
Solution: Add a flag to indicate the editor is already closed and only perform cleanup actions.

* cloudControl: update resource model (#2256)

* SAM run/debug: do not stringify the error from got #2263

* Do not stringify the error from got
* Use status message
* Check for refused

* Revert "SAM run/debug: do not stringify the error from got" #2265

After aws/aws-toolkit-vscode#2263,
- even valid paths are rejected too quickly (no pause between retries).
- 403 is being handled by `got` in unexpected ways, e.g. it doesn't respect the retry limit?

* Release 1.33.0

* Update version to snapshot version: 1.34.0-SNAPSHOT

* SAM run/debug: target=api: fix 'got' issue #2266

- Overriding `calculateDelay()` overrides the default function, so any
  functionality normally specified in the retry options needs to be
  reimplemented.
- Explicitly check for `attemptCount` and 403 error code.

fix #2262

* Webviews: add framework code (#2260)

* Webviews
* Fix expand/collapse icon orientation

* Webviews: clean-up listeners for the WebviewView case #2269

* feat(git): hooks for open-repo, branch-change

* Git: add integration tests
* Add single-file launch config for integ test
* Change 'WrappedRepository' to 'ExtendedRepository'

* feat(systemUtilities): find git, ssh, bash, vscode

* fix(tests): remove python.analysis.logLevel setting

Python extension removed this setting.

      1) SAM Integration Tests
           "before all" hook in "SAM Integration Tests":
         Error: Unable to write to Workspace Settings because python.analysis.logLevel is not a registered configuration.

* Re-order registry activation (#2273)

Race-condition on start. Would likely predominantly affect slower systems since it's dependent on the file system.

* Logs: remove/change some noisy logging code #2274 

Fetchers log the error as an error and then return undefined. If something can be handled by just returning undefined then it definitely wasn't an error we really cared about. Also, we should refrain from just dumping the whole stack trace every time an error occurs. It better be an error that truly was unhandled to dump the stack. Especially since the names are mangled in the bundled extension, so it's pretty much useless in production too.

* fix(apprunner): set docs URL for "Create Service" #2275

* fix: Update endpoints.json #2279

Problem:
endpoints.json included in the VSIX is very old.

Solution:
Update endpoints.json

* tests: update `fake-timers` to use new flag (#2261)

* Update fake-timers
* Update types

* UI: remove `asyncIterator` shim #2291

* Fix edge case
* Add another guard
* Goodbye shim

* utils: refactor `ChildProcess` to support more things (#2288)

* Update `ChildProcess`
* Add `extraArgs`
* Wrong file
* Add comment
* Update
* Remove `stopOnError`

* build(deps-dev): bump esbuild-loader from 2.13.1 to 2.16.0 (#2234)

Bumps [esbuild-loader](https://github.com/privatenumber/esbuild-loader) from 2.13.1 to 2.16.0.
- [Release notes](https://github.com/privatenumber/esbuild-loader/releases)
- [Commits](https://github.com/privatenumber/esbuild-loader/compare/v2.13.1...v2.16.0)

---
updated-dependencies:
- dependency-name: esbuild-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Co-authored-by: Bryce Ito <bryceito@amazon.com>
Co-authored-by: JadenSimon <31319484+JadenSimon@users.noreply.github.com>
Co-authored-by: Justin M. Keyes <jmkeyes@amazon.com>
Co-authored-by: aws-toolkit-automation <>
Co-authored-by: aws-toolkit-automation <43144436+aws-toolkit-automation@users.noreply.github.com>
Co-authored-by: Jonathan Breedlove <breedloj@amazon.com>
Co-authored-by: Alan Bogusiewicz <abogusiewicz@gmail.com>
Co-authored-by: Kyle Thomson <kylthoms@amazon.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Vyatkin <tino@vtkn.io>

* commentchanges

* Bug fixes after internal bug bash (#301)

* Update isConsolasInvoked to isFirstTimeInvoke

* Add extention initial settings for Suggestions

* Style updates to keep consistency

* Update onRejection error log

* Fix formatting issue when caret at off format position

* Additional telemetry before Datahub integration is complete (#299)

* New telemetry definition

* make runtime version null-able

* naming update

* minor edit

* lowercase

* Added code for additional telemetry

* Added plaintext for unsupported languages

* Add AutotriggerType (#304)

* Add AutotriggerType

* namingchanges

* Beta Landing Page Updated markdown file

* commentchanges

* reviewchanges

* reviewchanges

* reviewchanges

* reviewchanges

* reviewchanges

* Additional telemetry before Datahub integration is complete (#299)

* New telemetry definition

* make runtime version null-able

* naming update

* minor edit

* lowercase

* Added code for additional telemetry

* Added plaintext for unsupported languages

* commentchanges

* reviewchanges

* reviewchanges

* reviewchanges

Co-authored-by: Stephen Yuan <87877181+stphyuan@users.noreply.github.com>

* Consolas Tracker for % of modification (#303)

* ConsolasTracker for % of modification

* changed Levenshtein library

* Addressed comments

* typos

* Addressed comments

* changed comparion operator

* refactor userDecision Telemetry (#306)

* refactor userDecision Telemetry

* removed unused

* Fix indentation issue and multiple invocations conflict  (#305)

* Fix auto-indent conflict and style consistency

* Add ispendingresponse to freeze incoming invocation

* set keepWhitespace in completion item instead of preparse recommendations

* Freeze incoming invocation if there's active one

* Remove unused func

* Fix telemetry invocation per multiple invocation conflict changes

* update condition for telemetry

* Refactor and fix automated lastInvocationTime bug

* Add timeout to promise calls

* Increase threshold to 5 seconds

* Add promptHelper

* Set time interval threshold to 2s and keep promise timeout to 5s

* Minor refactor

* Address comments of refactor

* Merge with other PRs

* Add output channel for request ids and fix multi-thread stuck issue (#308)

* Add ouput channel for request ids

* Update model response time to not promise and logger updates

* Fix checkPrefixMatchSuggestionAndUpdatePrefixMatchArray func to be sync

* trimRight of recommendations when showing in output channel

* Typo in telemetry fix

* Add caret position to output channel

* Tweaks on output channel logging

* Add description to Consolas Feature Options  (#307)

* Add AutotriggerType

* namingchanges

* Beta Landing Page Updated markdown file

* commentchanges

* reviewchanges

* reviewchanges

* reviewchanges

* reviewchanges

* reviewchanges

* Additional telemetry before Datahub integration is complete (#299)

* New telemetry definition

* make runtime version null-able

* naming update

* minor edit

* lowercase

* Added code for additional telemetry

* Added plaintext for unsupported languages

* commentchanges

* reviewchanges

* reviewchanges

* reviewchanges

* Add description to Consolas feature options

* dynamicpageupdate

* dynamicpageupdate

* Update root.vue

* Updatedynamic

* windowsupdate

* Update package.nls.json

Co-authored-by: Stephen Yuan <87877181+stphyuan@users.noreply.github.com>

* improved latency recording logic (#309)

* improved latency recording logic

* avoid duplicate recording

* changed == to ===

* remove redundant

* fix bugs for userModification and serviceInvocation telemetry (#310)

* prevent noise telemetry events from happening

* fixed constant

* Imported preformance

* Update service response logging with latest and right context resolution (#311)

* Update service response logging with latest

* Right context resolution for vscode

* Address comments

* Add recommendation to completionProvider

* Telemetry definition renaming to camel case (#313)

* Correct latency definition (#314)

* Fix Date.now() and performance.now() conflict (#315)

* Telemetry logging (#312)

* changed telemetry logging to output channel

* Minor edit

* Imported performance

* Switched to telemetry channel

* added flag for consolas telemetry logging

* moved settings object to separate class

* removed unused

* Add timezone and human readable date time (#320)

* Add timezone and human readable datetime

* Add IDE version and extension version

* Reverse Ranking display order (#323)

* Reverse Ranking display order

* reverserankingstringupdate

* reverserankingchanges

* Using existing Consolas specific output channel (#333)

* Using existing Consolas specific output channel

* removed commneted

* Runtime/langversion (#328)

* Dynamically get runtime language version

* updatedoutputintelemetry

* updatedtochildprocess

* codefilechanges

* serveparser changes

* unknown change

* unknown change updated

* langonetimecall

* langchanges

* renamlangchanges

* Merge feature/vector into vector/dev (#336)

* build(deps-dev): bump webpack from 5.59.0 to 5.59.1 (#2213)

Bumps [webpack](https://github.com/webpack/webpack) from 5.59.0 to 5.59.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.59.0...v5.59.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ts-node from 10.3.1 to 10.4.0 (#2233)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.3.1 to 10.4.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.3.1...v10.4.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @aws-sdk/credential-provider-sso from 3.37.0 to 3.38.0 (#2232)

Bumps [@aws-sdk/credential-provider-sso](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CDK Visualizer does not read output path from cdk.json
2 participants