You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: designs/credentials/credentials-management.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,11 +31,11 @@ A formatted version of the Credentials Provider Id may be surfaced to users, how
31
31
32
32
When the user connects to AWS in the Toolkit, a Credentials Provider is requested, which is then used to obtain credentials. The toolkit requests a Credentials Provider by checking which credentials provider factories support the provider's credentials type. The factories of interest are queried to see which (if any) have the requested Credentials Provider.
33
33
34
-
At the time this document was written, Shared Credentials are the only supported Credentials. Additional credentials providers will reside at [/src/credentials/providers](/src/credentials/providers) as they are implemented.
34
+
At the time this document was written, Shared Credentials are the only supported Credentials. Additional credentials providers will reside at [/src/credentials/providers](/packages/toolkit/src/credentials/providers) as they are implemented.
35
35
36
36
### Shared Credentials Profiles
37
37
38
-
Profiles are retrieved from the user's shared credentials files. The profile is handled and validated differently based on which fields are present. Handling and validation logic can be found in [sharedCredentialsProvider.ts](/src/credentials/providers/sharedCredentialsProvider.ts).
38
+
Profiles are retrieved from the user's shared credentials files. The profile is handled and validated differently based on which fields are present. Handling and validation logic can be found in [sharedCredentialsProvider.ts](/packages/toolkit/src/credentials/providers/sharedCredentialsProvider.ts).
39
39
40
40
Only profiles that are considered valid are provided to the toolkit. When validation issues are detected, they are written to the logs to help users understand why the toolkit is having difficulties with a profile. Users running the 'Connect to AWS' command will not see invalid profiles in the list of Credentials.
Copy file name to clipboardExpand all lines: designs/modify-resources-attached-to-code-pipeline.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -150,7 +150,7 @@ The confirmation prompt can be implemented using one of two UI facilities:
150
150
151
151
### API Client
152
152
153
-
The `ResourceGroupsTaggingAPI` service client will be used. The client will be set up in a manner consistent with the Lambda and CloudFormation clients, allowing the clients to be stubbed out in unit tests. See the Toolkit's Lambda Client [Interface](/src/shared/clients/lambdaClient.ts) and [Implementation](/src/shared/clients/defaultLambdaClient.ts) as an example. A new client factory will be added to [ToolkitClientBuilder](/src/shared/clients/toolkitClientBuilder.ts) and [DefaultToolkitClientBuilder](/src/shared/clients/defaultToolkitClientBuilder.ts).
153
+
The `ResourceGroupsTaggingAPI` service client will be used. The client will be set up in a manner consistent with the Lambda and CloudFormation clients, allowing the clients to be stubbed out in unit tests. See the Toolkit's Lambda Client [Interface](/packages/toolkit/src/shared/clients/lambdaClient.ts) and [Implementation](/packages/toolkit/src/shared/clients/defaultLambdaClient.ts) as an example. A new client factory will be added to [ToolkitClientBuilder](/packages/toolkit/src/shared/clients/toolkitClientBuilder.ts) and [DefaultToolkitClientBuilder](/packages/toolkit/src/shared/clients/defaultToolkitClientBuilder.ts).
Copy file name to clipboardExpand all lines: docs/ARCHITECTURE.md
+34-3Lines changed: 34 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,42 @@
2
2
3
3
An overview of the architecture for various components within the Toolkit.
4
4
5
+
## Monorepo Structure
6
+
7
+
This project is currently set up as a typescript monorepo with a single subproject.
8
+
We are currently working on splitting the Toolkit into various subprojects to help with
9
+
sharing code between modules, browser extension development, etc. For now, there is just
10
+
one monolithic subproject with all the extension functionality: [`packages/toolkit/`](./packages/toolkit/).
11
+
12
+
Unless otherwise stated, the documentation throughout this project is referring to the code and
13
+
functionality of that subproject.
14
+
15
+
Current quirks of the current monorepo status that should be resolved/evaluated in later versions (TODO):
16
+
17
+
- The [root package.json](../package.json) contains common dependencies for subprojects, and workspace
18
+
entries for each of the subprojects.
19
+
- This package contains shortcuts to some of the `npm` scripts found in the subproject(s).
20
+
- Other scripts, like `createRelease` and `newChange` run at the root level.
21
+
- To run a script not present in the root `package.json`, use `npm run -w packages/toolkit <script>`
22
+
-`coverage/`, `.test-reports/`, `node_modules/` are hoisted to the project root. As more subprojects are added,
23
+
we will need to evaluate how to merge and publish coverage reports.
24
+
-`dist/` however remains at the subproject level, along with a local `node_modules/`. See [`npm workspaces`](https://docs.npmjs.com/cli/v8/using-npm/workspaces)
25
+
for more info on how `node_modules/` hoisting works.
26
+
- Because of `node_modules/` hoisting, references to this folder in code access the root project modules folder. This may be
27
+
an issue if more subprojects are added and the contents of the root and local modules folders differ.
28
+
-[`globalSetup.test.ts`](../packages/toolkit/src/test/globalSetup.test.ts) should be configured to work as a library/run tests for all subprojects.
29
+
- Subproject `tsconfig.json`s should extend a root `tsconfig.packages.json`.
30
+
- Linting tests should run at the root level, not subproject level.
31
+
-`packages/toolkit/scripts/` should be generalized and moved to the root of the project as needed.
32
+
- LICENSE, README.md, and other non-code artifacts that must be packaged into the .vsix are currently
33
+
being copied into the packaging subproject directory from the root project directory as part of the `copyFiles` task.
34
+
-[**Running the test suites in VSCode has changed**](../CONTRIBUTING.md#test)
35
+
5
36
## Commands
6
37
7
38
Many parts of the VS Code API relies on the use of 'commands' which are simply functions bound to a global ID. For small projects, this simplicity is great. But the base API doesn't offer a lot of common functionality that a large project might want: logging, error handling, etc.
8
39
9
-
For the Toolkit, common command functionality is implemented in [Commands](../src/shared/vscode/commands2.ts). The goal with this abstraction is to increase consistency across the Toolkit for anything related to commands.
40
+
For the Toolkit, common command functionality is implemented in [Commands](../packages/toolkit/src/shared/vscode/commands2.ts). The goal with this abstraction is to increase consistency across the Toolkit for anything related to commands.
10
41
11
42
### Examples
12
43
@@ -90,7 +121,7 @@ _See also [CODE_GUIDELINES.md](./CODE_GUIDELINES.md#exceptions)._
0 commit comments