Skip to content

Commit 06d3fff

Browse files
authored
Merge pull request #4342 from hayemaxi/restructure3
refactor: move toolkit to monorepo structure These commits restructure our project into a monorepo using npm workspaces. The original toolkit extension code now lives under packages/toolkit/. Additional extensions and common modules will go under the packages/ folder. This change will allow us to divide the toolkit into separate modules and extensions as needed. A summary of changes include: - Creating a root package.json - Moving all extension src code, resources/, types/, and syntaxes to a subproject with the original package.json - Updating paths throughout the code and configs to reference the new file structure - Script and packaging changes to work with this new structure See `docs/ARCHITECTURE.md#monorepo-structure` for more info.
2 parents beb14d6 + 8fee66b commit 06d3fff

File tree

1,399 files changed

+4891
-4674
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,399 files changed

+4891
-4674
lines changed

.eslintignore

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1-
node_modules/**
2-
dist/**
1+
node_modules/
2+
dist/
33
src.gen/**
44
**/*.json
5+
**/*.gen.ts
6+
types/*.d.ts
7+
8+
# Duplicate entries because prettier can be ran from root or within the workspace/subpackage.
9+
# TODO: Avoid this.
510
src/shared/telemetry/clienttelemetry.d.ts
611
src/codewhisperer/client/codewhispererclient.d.ts
712
src/codewhisperer/client/codewhispereruserclient.d.ts
813
src/amazonqFeatureDev/client/featuredevproxyclient.d.ts
9-
**/*.gen.ts
1014
src/testFixtures/**
11-
types/*.d.ts
15+
packages/toolkit/src/shared/telemetry/clienttelemetry.d.ts
16+
packages/toolkit/src/codewhisperer/client/codewhispererclient.d.ts
17+
packages/toolkit/src/codewhisperer/client/codewhispereruserclient.d.ts
18+
packages/toolkit/src/amazonqFeatureDev/client/featuredevproxyclient.d.ts
19+
packages/toolkit/src/testFixtures/**

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module.exports = {
44
parserOptions: {
55
ecmaVersion: 'latest',
66
sourceType: 'module',
7-
project: './tsconfig.json',
7+
project: ['./packages/*/tsconfig.json', './plugins/*/tsconfig.json'],
88
tsconfigRootDir: __dirname,
99
},
1010
env: {

.github/CODEOWNERS

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
* @aws/aws-ides-team
2-
src/codewhisperer/ @aws/codewhisperer-team
3-
src/amazonqFeatureDev/ @aws/earlybird
4-
src/codewhispererChat/ @aws/aws-mynah
5-
src/amazonq/ @aws/aws-mynah
2+
packages/toolkit/src/codewhisperer/ @aws/codewhisperer-team
3+
packages/toolkit/src/amazonqFeatureDev/ @aws/earlybird
4+
packages/toolkit/src/codewhispererChat/ @aws/aws-mynah
5+
packages/toolkit/src/amazonq/ @aws/aws-mynah

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
version: 2
88
updates:
99
- package-ecosystem: 'npm'
10-
directory: '/' # Location of package manifests.
10+
directory: './packages/toolkit/' # Location of package manifests.
1111
target-branch: 'master' # Avoid updates to "staging".
1212
commit-message:
1313
prefix: 'deps'
@@ -25,7 +25,7 @@ updates:
2525
- '@smithy*'
2626
- 'smithy*'
2727
- package-ecosystem: 'github-actions'
28-
directory: '/'
28+
directory: './packages/toolkit/'
2929
target-branch: 'master' # Avoid updates to "staging".
3030
commit-message:
3131
prefix: 'deps'

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
- name: vsix
5353
run: |
5454
npm run createRelease # Generate CHANGELOG.md
55-
npm run generateNonCodeFiles
55+
npm run generateNonCodeFiles -w packages/toolkit
5656
cp ./README.quickstart.vscode.md ./README.md
5757
npm run package -- --feature "$FEAT_NAME"
5858
- uses: actions/upload-artifact@v4

.gitignore

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
out
22
dist
33
node_modules
4-
.vscode-test/
5-
coverage/
4+
.vscode-test
5+
coverage
66
*.vsix
77
*.zip
88
*.bk
@@ -13,34 +13,40 @@ quickStart*.html
1313
README.quickstart.cloud9.md
1414
README.quickstart.vscode.md
1515
.gitcommit
16-
resources/debugger/__pycache__
16+
__pycache__
1717

1818
# Generated if running the `depcruise` command from the documentation example
1919
/dependency-graph.svg
2020

2121
# Auto generated definitions
22-
src/**/*.gen.ts
22+
packages/toolkit/src/**/*.gen.ts
2323
src.gen/*
2424
# Telemetry definition for testing adding telemetry
25-
src/shared/telemetry/vscodeTelemetry.json
25+
packages/toolkit/src/shared/telemetry/vscodeTelemetry.json
2626

2727
# Test reports
28-
.test-reports/
28+
.test-reports
2929

3030
# Auto generated type definitions
31-
src/shared/telemetry/clienttelemetry.d.ts
32-
src/codewhisperer/client/codewhispererclient.d.ts
33-
src/codewhisperer/client/codewhispereruserclient.d.ts
34-
src/amazonqFeatureDev/client/featuredevproxyclient.d.ts
31+
packages/toolkit/src/shared/telemetry/clienttelemetry.d.ts
32+
packages/toolkit/src/codewhisperer/client/codewhispererclient.d.ts
33+
packages/toolkit/src/codewhisperer/client/codewhispereruserclient.d.ts
34+
packages/toolkit/src/amazonqFeatureDev/client/featuredevproxyclient.d.ts
3535

3636
# Generated by tests
37-
src/testFixtures/**/bin
38-
src/testFixtures/**/obj
37+
packages/toolkit/src/testFixtures/**/bin
38+
packages/toolkit/src/testFixtures/**/obj
39+
40+
# Generated by copyFiles.ts
41+
packages/toolkit/README*
42+
packages/toolkit/CHANGELOG.md
43+
packages/toolkit/LICENSE
44+
packages/toolkit/NOTICE
3945

4046
# Icons
41-
resources/icons/cloud9/generated/**
42-
resources/fonts/aws-toolkit-icons.woff
43-
resources/css/icons.css
47+
packages/toolkit/resources/icons/cloud9/generated/**
48+
packages/toolkit/resources/fonts/aws-toolkit-icons.woff
49+
packages/toolkit/resources/css/icons.css
4450

4551
# local configuration
4652
.local.env

.prettierignore

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
out
2-
resources/endpoints.json
32
CHANGELOG.md
4-
src/shared/telemetry/service-2.json
53
.changes
6-
src/testFixtures/**
74
*.d.ts
85
*.gen.ts
9-
dist/**
10-
types/*.d.ts
6+
dist
117
src.gen/**
12-
plugins/*/dist/**
8+
9+
# Duplicate entries because prettier can be ran from root or within the workspace/subpackage.
10+
# TODO: Avoid this.
11+
src/shared/telemetry/service-2.json
12+
src/testFixtures/**
13+
14+
packages/toolkit/src/shared/telemetry/service-2.json
15+
packages/toolkit/src/testFixtures/**

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
},
1212
"typescript.preferences.importModuleSpecifier": "relative",
1313
"javascript.preferences.importModuleSpecifier": "relative",
14-
"typescript.tsdk": "node_modules/typescript/lib"
14+
"typescript.tsdk": "node_modules/typescript/lib",
15+
"npm.packageManager": "npm"
1516
}

.vscodeignore

Lines changed: 0 additions & 20 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ codebase and sending pull requests.
88

99
## Getting Started
1010

11+
This project is set up as a typescript monorepo. The documentation throughout this project
12+
is referring to the subproject in [`packages/toolkit/`](./packages/toolkit/). For more information,
13+
see [ARCHITECTURE.md](./docs/ARCHITECTURE.md#monorepo-structure)
14+
1115
### Find things to do
1216

1317
If you're looking for ideas about where to contribute, consider
@@ -35,6 +39,9 @@ Then clone the repository and install NPM packages:
3539

3640
### Run
3741

42+
Due to the monorepo structure of the project, you can run the extension in VSCode by either opening the
43+
`aws-toolkit-vscode/packages/toolkit` folder directly, or adding it as a root folder in the VSCode Workspace.
44+
3845
To run the extension from VSCode as a Node.js app:
3946

4047
1. Select the Run panel from the sidebar.
@@ -153,7 +160,9 @@ See [browser.md](./docs/browser.md) for working with the browser implementation
153160
See [TESTPLAN.md](./docs/TESTPLAN.md) to understand the project's test
154161
structure, mechanics and philosophy.
155162
156-
You can run tests directly from VSCode:
163+
You can run tests directly from VSCode. Due to the monorepo structure of the project, you must either open
164+
the `aws-toolkit-vscode/packages/toolkit/` folder directly, or add it as a root folder in the VSCode Workspace.
165+
Then:
157166
158167
1. Select `View > Debug`, or select the Debug pane from the sidebar.
159168
2. From the dropdown at the top of the Debug pane, select the `Extension Tests` configuration.
@@ -208,7 +217,7 @@ To run tests against a specific folder in VSCode, do any one of:
208217
209218
Running the extension in the browser (eg: [vscode.dev](https://vscode.dev/)).
210219
211-
[See documentation here](./src/browser/README.md).
220+
[See documentation here](./packages/toolkit/src/browser/README.md).
212221
213222
### Coverage report
214223

0 commit comments

Comments
 (0)