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

[rush] Integrate phased builds with VS Code #3651

Draft
wants to merge 62 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
639e5c7
Yo code generation
ThomasMichon Sep 19, 2022
d7fc4eb
Align package dependencies
ThomasMichon Sep 19, 2022
1971256
Register Rush extension for development
ThomasMichon Sep 19, 2022
4dbc7e9
Add Rush SDK dependency
ThomasMichon Sep 19, 2022
0d86ffe
Make build system work
ThomasMichon Sep 22, 2022
15cc76a
Implement extension with Projects view
ThomasMichon Sep 22, 2022
7d96769
Update lockfile
ThomasMichon Sep 22, 2022
e81b097
Improve project organization
ThomasMichon Sep 22, 2022
491a5c0
Fix
ThomasMichon Sep 22, 2022
04b1682
[rush] Add extensibility points
dmichon-msft Sep 21, 2022
47f0b4f
[rush] Streamline parser boot
dmichon-msft Sep 21, 2022
2c78044
[rush] Support Phased Command Worker
dmichon-msft Sep 22, 2022
8d428d8
[rush] Make createPhasedCommandWorkera sync
dmichon-msft Sep 22, 2022
7513152
Add commands view
ThomasMichon Sep 22, 2022
d58a738
Update API signatures
ThomasMichon Sep 22, 2022
7a194aa
Support running various commands
ThomasMichon Sep 22, 2022
3a67d48
[rush] Fix Worker cwd, abort
dmichon-msft Sep 22, 2022
1be191a
Merge branch 'vscode' of https://github.com/dmichon-msft/rushstack in…
dmichon-msft Sep 22, 2022
05f30bb
Update API
dmichon-msft Sep 22, 2022
4cab3bd
[rush] Ensure plugins load in worker
dmichon-msft Sep 22, 2022
ede0424
Pass CWD to worker
ThomasMichon Sep 22, 2022
6a2a8f1
Initialize watcher with operations and phases
ThomasMichon Sep 23, 2022
bdcca6d
[rush] Improve messaging contract
dmichon-msft Sep 23, 2022
03365d5
[rush] Fix PackageChangeAnalyzer working dir
dmichon-msft Sep 23, 2022
9b03566
[package-deps-hash] Fix hash-object cwd
dmichon-msft Sep 23, 2022
0b3e7fe
Dynamic working directory
dmichon-msft Sep 23, 2022
41f1ee0
Add project phase reporting
ThomasMichon Sep 23, 2022
a4c60c3
Bulk-update project states
ThomasMichon Sep 23, 2022
d274cc8
Restart build on file changes
ThomasMichon Sep 23, 2022
3e4ae01
Add colors and improve icons
ThomasMichon Sep 23, 2022
8ddacd0
[rush] Worker state tracking, force terminate
dmichon-msft Sep 23, 2022
bead8f2
Improve performance and add status bar
ThomasMichon Sep 23, 2022
ece036f
[rush] Use onReady in CLI
dmichon-msft Sep 23, 2022
fce9870
[rush] Switch worker controller to class instance
dmichon-msft Sep 24, 2022
f7f2085
Persist workspace state
ThomasMichon Sep 26, 2022
f4713fa
Asynchronously load the whole extension
ThomasMichon Sep 27, 2022
de76d80
[rush] Remove abort message
dmichon-msft Sep 27, 2022
0100d8c
[rush] Set executing state
dmichon-msft Sep 27, 2022
4610a23
[rush] Synchronous APIs
dmichon-msft Sep 27, 2022
17dbbcf
[rush] Update env
dmichon-msft Sep 27, 2022
75d28e8
Fix sync
dmichon-msft Sep 27, 2022
f29084e
Add Command refresh
ThomasMichon Sep 27, 2022
6dddece
Fix watch status
ThomasMichon Sep 27, 2022
bbabf65
Add welcome views
ThomasMichon Sep 27, 2022
4315e15
Implement getProjectForResource
dmichon-msft Sep 27, 2022
6ab30a5
Counts, pause, persistence
dmichon-msft Sep 28, 2022
271ee4f
Cleanup dead code
dmichon-msft Sep 28, 2022
d5e462b
Fixup
dmichon-msft Sep 28, 2022
75c49e9
Extract diagnostics
dmichon-msft Sep 28, 2022
472c452
Don't clear diagnostics
dmichon-msft Sep 28, 2022
56ffd7b
Tune paused state
dmichon-msft Sep 28, 2022
5c4e93f
Fix active change detection
dmichon-msft Sep 28, 2022
08fc247
Add file decorations
ThomasMichon Sep 28, 2022
13d8238
Fix project decorations
ThomasMichon Sep 28, 2022
3597662
More fixes
ThomasMichon Sep 28, 2022
a3629d6
Reduce startup jank
ThomasMichon Sep 28, 2022
c324917
Fix rush protocol
dmichon-msft Sep 28, 2022
4cbf5c8
Ensure updates on remove
dmichon-msft Sep 28, 2022
4cf5d91
Update worker when adding resource
dmichon-msft Sep 28, 2022
0c0e988
Fix lint
dmichon-msft Sep 28, 2022
6bf66a2
Update API
dmichon-msft Sep 29, 2022
7b31004
Remove commands, add phases
dmichon-msft Oct 11, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,30 @@
"type": "node",
"request": "attach",
"port": 5858
},
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}/apps/vscode-extension"
],
"outFiles": [
"${workspaceFolder}/apps/vscode-extension/dist/**/*.js"
]
},
{
"name": "Extension Tests",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}/apps/vscode-extension",
"--extensionTestsPath=${workspaceFolder}/apps/vscode-extension/out/test/suite/index"
],
"outFiles": [
"${workspaceFolder}/apps/vscode-extension/out/**/*.js",
"${workspaceFolder}/apps/vscode-extension/dist/**/*.js"
]
}
]
}
18 changes: 18 additions & 0 deletions apps/vscode-extension/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"plugins": ["@typescript-eslint"],
"rules": {
"@typescript-eslint/naming-convention": "warn",
"@typescript-eslint/semi": "warn",
"curly": "warn",
"eqeqeq": "warn",
"no-throw-literal": "warn",
"semi": "off"
},
"ignorePatterns": ["out", "dist", "**/*.d.ts"]
}
13 changes: 13 additions & 0 deletions apps/vscode-extension/.vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.vscode/**
.vscode-test/**
out/**
node_modules/**
src/**
.gitignore
.yarnrc
webpack.config.js
vsc-extension-quickstart.md
**/tsconfig.json
**/.eslintrc.json
**/*.map
**/*.ts
9 changes: 9 additions & 0 deletions apps/vscode-extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Change Log

All notable changes to the "rush" extension will be documented in this file.

Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.

## [Unreleased]

- Initial release
71 changes: 71 additions & 0 deletions apps/vscode-extension/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# rush README

This is the README for your extension "rush". After writing up a brief description, we recommend including the following sections.

## Features

Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.

For example if there is an image subfolder under your extension project workspace:

\!\[feature X\]\(images/feature-x.png\)

> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow.

## Requirements

If you have any requirements or dependencies, add a section describing those and how to install and configure them.

## Extension Settings

Include if your extension adds any VS Code settings through the `contributes.configuration` extension point.

For example:

This extension contributes the following settings:

* `myExtension.enable`: Enable/disable this extension.
* `myExtension.thing`: Set to `blah` to do something.

## Known Issues

Calling out known issues can help limit users opening duplicate issues against your extension.

## Release Notes

Users appreciate release notes as you update your extension.

### 1.0.0

Initial release of ...

### 1.0.1

Fixed issue #.

### 1.1.0

Added features X, Y, and Z.

---

## Following extension guidelines

Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.

* [Extension Guidelines](https://code.visualstudio.com/api/references/extension-guidelines)

## Working with Markdown

You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:

* Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux).
* Toggle preview (`Shift+Cmd+V` on macOS or `Shift+Ctrl+V` on Windows and Linux).
* Press `Ctrl+Space` (Windows, Linux, macOS) to see a list of Markdown snippets.

## For more information

* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown)
* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/)

**Enjoy!**
Loading