Skip to content

Commit d080899

Browse files
authored
Merge pull request #40 from Computer-Research-Association/dev
dev v1.0.2 to main
2 parents dce5390 + e46f20b commit d080899

25 files changed

Lines changed: 7336 additions & 383 deletions

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## #️⃣연관된 이슈
2+
3+
> ex) #이슈번호, #이슈번호
4+
5+
## 📝작업 내용
6+
7+
> 이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)
8+
9+
### 스크린샷 (선택)
10+
11+
## 💬리뷰 요구사항(선택)
12+
13+
> 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
14+
>
15+
> ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

.github/workflows/main.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: CI/CD Pipeline
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
release:
8+
types:
9+
- created
10+
11+
jobs:
12+
build:
13+
strategy:
14+
matrix:
15+
os: [macos-latest, ubuntu-latest, windows-latest]
16+
runs-on: ${{ matrix.os }}
17+
steps:
18+
- name: Checkout Repository
19+
uses: actions/checkout@v4
20+
21+
- name: Install Node.js
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: 18.x
25+
26+
- name: Install Dependencies
27+
run: npm install
28+
29+
- name: Run Tests (Linux)
30+
run: xvfb-run -a npm test
31+
if: runner.os == 'Linux'
32+
33+
- name: Run Tests (Other OS)
34+
run: npm test
35+
if: runner.os != 'Linux'
36+
37+
publish:
38+
needs: build
39+
runs-on: ubuntu-latest
40+
if: success() && startsWith(github.ref, 'refs/tags/')
41+
steps:
42+
- name: Checkout Repository
43+
uses: actions/checkout@v4
44+
45+
- name: Install Node.js
46+
uses: actions/setup-node@v4
47+
with:
48+
node-version: 18.x
49+
50+
- name: Install Dependencies
51+
run: npm install
52+
53+
- name: Install vsce
54+
run: npm install @vscode/vsce --save-dev
55+
56+
- name: Deploy Extension
57+
run: npm run deploy
58+
env:
59+
VSCE_PAT: ${{ secrets.VSCE_PAT }}

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dist
2+
package-lock.json

.prettierrc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"printWidth": 120,
3+
"tabWidth": 2,
4+
"semi": true,
5+
"singleQuote": false,
6+
"trailingComma": "es5",
7+
"requirePragma": false,
8+
"arrowParens": "always",
9+
"bracketSameLine": true,
10+
"endOfLine": "auto"
11+
}

.vscode/settings.json

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
11
// Place your settings in this file to overwrite default and user settings.
22
{
3-
"files.exclude": {
4-
"out": false, // set this to true to hide the "out" folder with the compiled JS files
5-
"dist": false // set this to true to hide the "dist" folder with the compiled JS files
6-
},
7-
"search.exclude": {
8-
"out": true, // set this to false to include "out" folder in search results
9-
"dist": true // set this to false to include "dist" folder in search results
10-
},
11-
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
12-
"typescript.tsc.autoDetect": "off"
13-
}
3+
"files.exclude": {
4+
"out": false, // set this to true to hide the "out" folder with the compiled JS files
5+
"dist": false // set this to true to hide the "dist" folder with the compiled JS files
6+
},
7+
"search.exclude": {
8+
"out": true, // set this to false to include "out" folder in search results
9+
"dist": true // set this to false to include "dist" folder in search results
10+
},
11+
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
12+
"typescript.tsc.autoDetect": "off",
13+
"editor.formatOnSave": true,
14+
"editor.codeActionsOnSave": {
15+
"source.fixAll.eslint": "always"
16+
},
17+
"eslint.validate": [
18+
"javascript",
19+
"javascriptreact",
20+
"typescript",
21+
"typescriptreact"
22+
],
23+
"prettier.requireConfig": true
24+
}

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,10 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
66

77
## [Unreleased]
88

9-
- Initial release
9+
## [1.0.1] - 2025-01-06
10+
11+
### fix
12+
13+
> typo
14+
15+
## [1.0.0] - 2025-01-06

LICENSE

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2025 NewCar
4+
5+
Permission
6+
is hereby granted, free of charge, to any person obtaining a copy of
7+
this software and associated documentation files (the "Software"), to
8+
deal in the Software without restriction, including without limitation
9+
the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+
and/or sell copies of the Software, and to permit persons to whom the
11+
Software is furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14+
15+
THE
16+
SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19+
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20+
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22+
OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 25 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,40 @@
1-
# coding-roadmap-assistant README
1+
<h1 align="center">Welcome to Coding Roadmap Assistant 👋</h1>
2+
<p>
3+
<img alt="Version" src="https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000" />
4+
<img src="https://img.shields.io/badge/vscode-%5E1.96.0-blue.svg" />
5+
<a href="https://mit-license.org/" target="_blank">
6+
<img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
7+
</a>
8+
</p>
29

3-
This is the README for your extension "coding-roadmap-assistant". After writing up a brief description, we recommend including the following sections.
10+
> Coding Companion for Coding Beginners, based on OpenAI API.
411
5-
## Features
12+
## Prerequisites
613

7-
Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.
14+
- vscode ^1.96.0
815

9-
For example if there is an image subfolder under your extension project workspace:
16+
## Author
1017

11-
\!\[feature X\]\(images/feature-x.png\)
18+
👤 **NewCar**
1219

13-
> 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.
20+
- Github: [@chachaaa-23](https://github.com/chachaaa-23)
21+
- Github: [@dan05s](https://github.com/dan05s)
22+
- Github: [@Jangmyun](https://github.com/Jangmyun)
23+
- Github: [@young170](https://github.com/young170)
1424

15-
## Requirements
25+
## 🤝 Contributing
1626

17-
If you have any requirements or dependencies, add a section describing those and how to install and configure them.
27+
Contributions, issues and feature requests are welcome!<br />Feel free to check [issues page](https://github.com/Computer-Research-Association/CodingRoadmapAssistant/issues).
1828

19-
## Extension Settings
29+
## Show your support
2030

21-
Include if your extension adds any VS Code settings through the `contributes.configuration` extension point.
31+
Give a ⭐️ if this project helped you!
2232

23-
For example:
33+
## 📝 License
2434

25-
This extension contributes the following settings:
26-
27-
* `myExtension.enable`: Enable/disable this extension.
28-
* `myExtension.thing`: Set to `blah` to do something.
29-
30-
## Known Issues
31-
32-
Calling out known issues can help limit users opening duplicate issues against your extension.
33-
34-
## Release Notes
35-
36-
Users appreciate release notes as you update your extension.
37-
38-
### 1.0.0
39-
40-
Initial release of ...
41-
42-
### 1.0.1
43-
44-
Fixed issue #.
45-
46-
### 1.1.0
47-
48-
Added features X, Y, and Z.
35+
Copyright © 2025 [NewCar](https://github.com/orgs/Computer-Research-Association/teams/24-2-newcar).<br />
36+
This project is [MIT](https://mit-license.org/) licensed.
4937

5038
---
5139

52-
## Following extension guidelines
53-
54-
Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.
55-
56-
* [Extension Guidelines](https://code.visualstudio.com/api/references/extension-guidelines)
57-
58-
## Working with Markdown
59-
60-
You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:
61-
62-
* Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux).
63-
* Toggle preview (`Shift+Cmd+V` on macOS or `Shift+Ctrl+V` on Windows and Linux).
64-
* Press `Ctrl+Space` (Windows, Linux, macOS) to see a list of Markdown snippets.
65-
66-
## For more information
67-
68-
* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown)
69-
* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/)
70-
71-
**Enjoy!**
40+
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_

esbuild.js

Lines changed: 40 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,54 @@
11
const esbuild = require("esbuild");
22

3-
const production = process.argv.includes('--production');
4-
const watch = process.argv.includes('--watch');
3+
const production = process.argv.includes("--production");
4+
const watch = process.argv.includes("--watch");
55

66
/**
77
* @type {import('esbuild').Plugin}
88
*/
99
const esbuildProblemMatcherPlugin = {
10-
name: 'esbuild-problem-matcher',
10+
name: "esbuild-problem-matcher",
1111

12-
setup(build) {
13-
build.onStart(() => {
14-
console.log('[watch] build started');
15-
});
16-
build.onEnd((result) => {
17-
result.errors.forEach(({ text, location }) => {
18-
console.error(`✘ [ERROR] ${text}`);
19-
console.error(` ${location.file}:${location.line}:${location.column}:`);
20-
});
21-
console.log('[watch] build finished');
22-
});
23-
},
12+
setup(build) {
13+
build.onStart(() => {
14+
console.log("[watch] build started");
15+
});
16+
build.onEnd((result) => {
17+
result.errors.forEach(({ text, location }) => {
18+
console.error(`✘ [ERROR] ${text}`);
19+
console.error(` ${location.file}:${location.line}:${location.column}:`);
20+
});
21+
console.log("[watch] build finished");
22+
});
23+
},
2424
};
2525

2626
async function main() {
27-
const ctx = await esbuild.context({
28-
entryPoints: [
29-
'src/extension.ts'
30-
],
31-
bundle: true,
32-
format: 'cjs',
33-
minify: production,
34-
sourcemap: !production,
35-
sourcesContent: false,
36-
platform: 'node',
37-
outfile: 'dist/extension.js',
38-
external: ['vscode'],
39-
logLevel: 'silent',
40-
plugins: [
41-
/* add to the end of plugins array */
42-
esbuildProblemMatcherPlugin,
43-
],
44-
});
45-
if (watch) {
46-
await ctx.watch();
47-
} else {
48-
await ctx.rebuild();
49-
await ctx.dispose();
50-
}
27+
const ctx = await esbuild.context({
28+
entryPoints: ["src/extension.ts"],
29+
bundle: true,
30+
format: "cjs",
31+
minify: production,
32+
sourcemap: !production,
33+
sourcesContent: false,
34+
platform: "node",
35+
outfile: "dist/extension.js",
36+
external: ["vscode"],
37+
logLevel: "silent",
38+
plugins: [
39+
/* add to the end of plugins array */
40+
esbuildProblemMatcherPlugin,
41+
],
42+
});
43+
if (watch) {
44+
await ctx.watch();
45+
} else {
46+
await ctx.rebuild();
47+
await ctx.dispose();
48+
}
5149
}
5250

53-
main().catch(e => {
54-
console.error(e);
55-
process.exit(1);
51+
main().catch((e) => {
52+
console.error(e);
53+
process.exit(1);
5654
});

0 commit comments

Comments
 (0)