Skip to content

Commit e2036bd

Browse files
authored
new: Copy over the vscode extension. (#2565)
* Copy package. * Update build. * Format. * Fix lints. * Update paths.
1 parent d2fe04c commit e2036bd

24 files changed

Lines changed: 4065 additions & 109 deletions

.vscode/launch.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// A launch configuration that compiles the extension and then opens it inside a new window
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
{
6+
"version": "0.2.0",
7+
"configurations": [
8+
{
9+
"name": "Run Extension",
10+
"type": "extensionHost",
11+
"request": "launch",
12+
"args": ["--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-extension"],
13+
"outFiles": ["${workspaceFolder}/packages/vscode-extension/cjs/**/*.cjs"],
14+
"preLaunchTask": "${defaultBuildTask}"
15+
}
16+
// {
17+
// "name": "Extension Tests",
18+
// "type": "extensionHost",
19+
// "request": "launch",
20+
// "args": [
21+
// "--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-extension",
22+
// "--extensionTestsPath=${workspaceFolder}/packages/vscode-extension/out/test/suite/index"
23+
// ],
24+
// "outFiles": [
25+
// "${workspaceFolder}/packages/vscode-extension/out/**/*.js",
26+
// "${workspaceFolder}/packages/vscode-extension/dist/**/*.js"
27+
// ],
28+
// "preLaunchTask": "tasks: watch-tests"
29+
// }
30+
]
31+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.vscode/**
2+
.vscode-test/**
3+
coverage/
4+
images/
5+
node_modules/
6+
src/
7+
.gitignore
8+
tsconfig.json
9+
.eslintrc.js
10+
**/*.map
11+
**/*.ts
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
## 0.16.6
2+
3+
- Fixed our release scripts.
4+
5+
## 0.16.5
6+
7+
- Re-published previous version.
8+
9+
## 0.16.4
10+
11+
- Fixed `.config/moon` handling.
12+
13+
## 0.16.3
14+
15+
- Updated to use v2 JSON schemas. If you are using v1, you may see validation errors.
16+
17+
## 0.16.2
18+
19+
- Fixed more moon v2 issues.
20+
21+
## 0.16.1
22+
23+
- Fixed some moon v2 issues.
24+
25+
## 0.16.0
26+
27+
- Updated to support moon v2.
28+
29+
## 0.15.2
30+
31+
- Requires VS Code v1.103.0.
32+
- Published to Open VSX.
33+
34+
## 0.15.1
35+
36+
- Added support for project `layer` in moon v1.39.
37+
38+
## 0.15.0
39+
40+
- Added MCP support. Requires VS Code v1.102.0.
41+
42+
## 0.14.0
43+
44+
- Added support for the task graph. Requires moon v1.30.
45+
- Added support for `.pkl` config files.
46+
47+
## 0.13.0
48+
49+
- Added a new command that will generate local `yaml.schemas` settings.
50+
51+
## 0.12.0
52+
53+
- Requires VS Code ^1.77.0.
54+
- Added support for internal tasks. They will not be displayed in the projects/tags view.
55+
56+
## 0.11.0
57+
58+
- Added `stack` support to the projects view. Will now categorize based on stack + type.
59+
60+
## 0.10.0
61+
62+
- Added YAML file validation for all moon configuration files.
63+
- Requires the `redhat.vscode-yaml` extension to be installed. VSCode should prompt you to install
64+
it.
65+
66+
## 0.9.0
67+
68+
- Added a "Tags" view for projects in the moon console sidebar.
69+
70+
## 0.8.0
71+
72+
- Added a `moon.logLevel` setting, to control the log level of all moon executed commands.
73+
- Added support for multiple VS Code workspace folders.
74+
- When you open a file in another workspace, the moon panels will refresh.
75+
- Removed support for moon < 1.0.
76+
- Replaced `moon.workspaceRoot` setting with `moon.rootPrefixes`.
77+
78+
## 0.7.0
79+
80+
- Requires VS Code ^1.75.0.
81+
- Added action graph support (requires moon >= 1.15).
82+
- Added support for the `automation` project type.
83+
- Added a `moon.hideTasks` setting, to hide tasks in the projects view.
84+
85+
## 0.6.0
86+
87+
- Added 19 new language icons (requires moon >= 0.25).
88+
89+
## 0.5.0
90+
91+
- Added dependency and project graph in-editor visualization support.
92+
93+
## 0.4.0
94+
95+
- Added support for 5 new language icons: Go, PHP, Python, Ruby, Rust
96+
97+
## 0.3.0
98+
99+
- Changes to `moon.yml` will now automatically refresh projects.
100+
- Added file and folder icons to the `assets` folder.
101+
- This _does not_ associate them. You'll need to do that manually in your editor settings.
102+
103+
## 0.2.0
104+
105+
- Added `moon check` support to the project rows in the Projects view.
106+
107+
## 0.1.0
108+
109+
- Initial release!

packages/vscode-extension/DEV.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Development commands
2+
3+
- https://code.visualstudio.com/api/get-started/your-first-extension#developing-the-extension
4+
- `F5` to start debugging the extension

packages/vscode-extension/LICENSE

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
MIT License
2+
3+
Copyright (c) 2022 moonrepo LLC
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6+
associated documentation files (the "Software"), to deal in the Software without restriction,
7+
including without limitation the rights to use, copy, modify, merge, publish, distribute,
8+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9+
furnished to do so, subject to the following conditions:
10+
11+
The above copyright notice and this permission notice shall be included in all copies or substantial
12+
portions of the Software.
13+
14+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15+
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
17+
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# moon
2+
3+
While moon provides a powerful and robust command line, an in-editor interface with deep integration
4+
can provide a much better developer experience, and that's exactly what this moon console does!
5+
6+
Whether you're just learning, or an experienced veteran, this console will take you to the moon!
7+
8+
## Features
9+
10+
### Projects view
11+
12+
The backbone of moon is the projects view. In this view, all moon configured projects will be
13+
listed, categorized by their `type`, and designated with their `language`.
14+
15+
Each project can then be expanded to view all available tasks. Tasks can be ran by clicking the ``
16+
icon, or using the command palette.
17+
18+
<img
19+
src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/projects-view.png"
20+
alt="Screenshot of projects view" width="300px" />
21+
22+
> This view is available in both the "Explorer" and "moon" sections.
23+
24+
### Tags view
25+
26+
Similar to the projects view, the tags view displays projects grouped by their `tags`.
27+
28+
<img
29+
src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/tags-view.png"
30+
alt="Screenshot of tags view" width="300px" />
31+
32+
> This view is only available in the "moon" section.
33+
34+
### Last run view
35+
36+
Information about the last ran task will be displayed in a beautiful table with detailed stats.
37+
38+
<img
39+
src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/last-run-view.png"
40+
alt="Screenshot of last run view" width="300px" />
41+
42+
> This view is only available in the "moon" section.
43+
44+
### Control panel
45+
46+
To provide the best experience, all major features, enhancements, and integrations can be found
47+
within the moon specific control panel. Simply click the moon icon in the activity bar!
48+
49+
<img
50+
src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/activity-icon.png"
51+
alt="Screenshot of moon activity" width="50px" />
52+
53+
## Requirements
54+
55+
This extension requires moon itself to be installed within the opened VS Code workspace. Learn more
56+
about [installing and configuring moon](https://moonrepo.dev/docs/install)!
57+
58+
## Settings
59+
60+
The following settings are available for this extension.
61+
62+
- `moon.binPath` - Relative path from moon's workspace root to the moon binary. Defaults to
63+
`node_modules/@moonrepo/cli/moon`. _Windows will auto-suffix with `.exe`!_
64+
- `moon.hideTasks` - List of tasks to hide in the projects view, using target syntax. Supports
65+
fully-qualified targets (`app:build`) and partial targets (`:build` or `*:build`). Defaults to
66+
`[]`.
67+
- `moon.logLevel` - The log level to apply to all moon executed commands. Defaults to `info`.
68+
- `moon.rootPrefixes` - List of relative paths from the editor root in which to find moon's
69+
workspace root. Defaults to `['.']`. This is useful if moon is initialized in a sub-folder.
70+
71+
## Commands
72+
73+
The following commands are available in the command palette (typically `cmd + shift + p`), and are
74+
prefixed with "moon".
75+
76+
- **Open settings** - Opens the settings page and filters to all moon applicable settings.
77+
- **Run task** - Prompts the user for a task(s) and runs it in the terminal.
78+
- **View action graph** - Opens a panel that renders an interactive action graph visualization.
79+
- **View project graph** - Opens a panel that renders an interactive project graph visualization.
80+
81+
## Roadmap
82+
83+
- [x] Projects view
84+
- [x] Categorize projects based on type
85+
- [x] List tasks
86+
- [x] Categorize tasks based on type
87+
- [x] Run a task
88+
- [x] Check a project
89+
- [x] Tags view
90+
- [x] Last run view
91+
- [x] Commands and command palette
92+
- [x] Watches and reacts to file system changes.
93+
- [x] Schema validation for YAML configs
94+
- [ ] moon language server
95+
- [ ] Auto-completion
96+
- [ ] In-editor code generation
97+
- [x] Graph visualizer
98+
- [x] Multi-workspace support
5.74 KB
Loading
71.5 KB
Loading
80.6 KB
Loading
15.8 KB
Loading

0 commit comments

Comments
 (0)