Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/RajaRakoto/vscode-boilerplate

Minimalistic boilerplate to quick-start VSCode Extension development ๐Ÿš€
https://github.com/RajaRakoto/vscode-boilerplate

boilerplate extension javascript minimalist starter template vscode

Last synced: 2 months ago
JSON representation

Minimalistic boilerplate to quick-start VSCode Extension development ๐Ÿš€

Awesome Lists containing this project

README

        

# vscode-boilerplate ๐Ÿš€

![Git](https://img.shields.io/badge/-Git-777?style=flat&logo=git&logoColor=F05032&labelColor=ffffff) ![Gitub](https://img.shields.io/badge/-Gitub-777?style=flat&logo=github&logoColor=777&labelColor=ffffff)

**This minimalistic boilerplate is designed to help you quickly start developing extensions for Visual Studio Code. It provides a solid and ready-to-use base structure, allowing you to focus on implementing your unique features without wasting time setting up the development environment.**

**IDE**: You can install it by typing "My extension" in the extension tab of your IDE

Instant Value - All basic tools included and configured:

- ๐Ÿง… Bun.js >= 1.0.26
- ๐Ÿง… Use Bun as package manager
- ๐ŸŒˆ ESM
- ๐Ÿงช Biome for code formatting and linting
- โœ… Jest or Bun test for fast unit testing and code coverage
- โš™๏ธ EditorConfig for consistent coding style
- ๐Ÿ“ฆ NPM scripts for common operations
- ๐Ÿ“ Best package.json configuration for VSCode extension
- ๐Ÿ“ Simple example of Snippet code and unit test
- ๐Ÿ— Run tasks with Grunt (example for backup)
- ๐Ÿš„ Build faster with a preconfigured file and VSCE tool
- ๐Ÿ–ฅ๏ธ Ungit for version control (git) with a GUI

---

### ๐Ÿ“Œ Notes

Visual Studio Code supports a wide range of extensions that can enhance your development experience in various ways. While this boilerplate is specifically tailored for creating `VSCode snippets`, it's important to note that there are several other types of extensions you can develop, such as language support, debugging tools, extension pack and more ... If you're interested in creating a different type of extension, you might need to adjust the template provided in this boilerplate. This could involve changing the `package.json` file, modifying source code to implement the desired functionality, and potentially adding new dependencies or scripts to your project.

> For more information, you can refer to the [VSCode Extension API](https://code.visualstudio.com/api/get-started/your-first-extension).

---

### ๐Ÿ“Œ Usage

To use this template, use the following commands:

```bash
bun create github.com/RajaRakoto/vscode-boilerplate
cd
bun run pkg-upgrade # to upgrade outdated dependencies in interactive mode
```

> NOTE 1: I employ the `MIT license` for this starter kit, which includes my name and GitHub profile. Please remember to adjust or remove it if deemed unnecessary.

> NOTE 2: In order to help you better understand the structure of this boilerplate, there is a `README.md` file in each subdirectory of src.

> NOTE 3: For certain configurations in the `package.json` file, you need to modify them to tailor them to your project (e.g: name, description, author, keywords, main, repository, ...).

---

### ๐Ÿ“Œ NPM Scripts

**Util**

- ๐Ÿ“œ `es6` - To get all ES6 modules syntax from the source directory

**Clean**

- ๐Ÿ“œ `clean` - Remove coverage data, prod, build.

**Build**

- ๐Ÿ“œ `build` - Run the build.js script and utilize vsce to generate the vsix file for production

**Testing**

- ๐Ÿ“œ `test` - Run unit testing with Bun.js.

**Linting and Formatting**

- ๐Ÿ“œ `biome:start` - Starts the Biome daemon server. You can specify a custom configuration file path using the `--config-path` option.
- ๐Ÿ“œ `biome:stop` - Stops the Biome daemon server.
- ๐Ÿ“œ `biome:fix` - Runs a source code check and applies automatic fixes (linter & formatter) according to the defined rules.
- ๐Ÿ“œ `biome:unsafe` - Works like `biome:fix`, but may apply more invasive or risky changes.

**Backup and Dependency Management**

- ๐Ÿ“œ `backup` - Backup files with Grunt.
- ๐Ÿ“œ `pkg-check` - Check useless dependencies with depcheck.
- ๐Ÿ“œ `pkg-upgrade` - Upgrade outdated dependencies (interactive mode) with npm-check-updates.

**Versioning**

- ๐Ÿ“œ `versioning` - Start ungit server.

**NPM Commands**

- ๐Ÿ“œ `npm-version:major` - Increments the major version number of your project using npm.
- ๐Ÿ“œ `npm-version:minor` - Increments the minor version number of your project using npm.
- ๐Ÿ“œ `npm-version:patch` - Increments the version patch number of your project using npm.

**NVM**

- ๐Ÿ“œ `nvm` - Manage multiple node.js versions. Easily switch between node versions per project to ensure compatibility.

---

### ๐Ÿ“Œ Similar

You can also check out my other starter projects:

- ๐Ÿš€ [bun-boilerplate](https://github.com/RajaRakoto/bun-boilerplate)
- ๐Ÿš€ [node-boilerplate](https://github.com/RajaRakoto/node-boilerplate)
- ๐Ÿš€ [react-boilerplate](https://github.com/RajaRakoto/react-boilerplate)
- ๐Ÿš€ [next-boilerplate](https://github.com/RajaRakoto/next-boilerplate)
- ๐Ÿš€ [qwik-boilerplate](https://github.com/RajaRakoto/qwik-boilerplate)
- ๐Ÿš€ [cli-boilerplate](https://github.com/RajaRakoto/cli-boilerplate)