diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..2d6f14dc --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,34 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu +{ + "name": "grapoza/vue-tree (Ubuntu)", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/base:jammy", + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/node:1": { + "nodeGypDependencies": true, + "version": "20" + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "chmod +x .devcontainer/init_container.sh && sed -i 's/\r$//' .devcontainer/init_container.sh &&.devcontainer/init_container.sh", + + // Configure tool-specific properties. + "customizations": { + "vscode": { + // These are the extensions that are included in VS Code for the container + "extensions": [ + "vitest.explorer", + "Vue.volar" + ] + } + }, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + "remoteUser": "root" + } diff --git a/.devcontainer/init_container.sh b/.devcontainer/init_container.sh new file mode 100755 index 00000000..35a98156 --- /dev/null +++ b/.devcontainer/init_container.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# This file contains commands that should be run only once upon container creation. + +# Install tools +sudo apt update -y + +# allow ** globs in bash +shopt -s globstar \ No newline at end of file diff --git a/.yarn/cache/@esbuild-linux-x64-npm-0.21.5-88079726c4-10.zip b/.yarn/cache/@esbuild-linux-x64-npm-0.21.5-88079726c4-10.zip new file mode 100644 index 00000000..2a3a835a Binary files /dev/null and b/.yarn/cache/@esbuild-linux-x64-npm-0.21.5-88079726c4-10.zip differ diff --git a/.yarn/cache/@esbuild-win32-x64-npm-0.21.5-eddc2b5ad6-10.zip b/.yarn/cache/@esbuild-win32-x64-npm-0.21.5-eddc2b5ad6-10.zip deleted file mode 100644 index 2c0cb74a..00000000 Binary files a/.yarn/cache/@esbuild-win32-x64-npm-0.21.5-eddc2b5ad6-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.21.2-65bebf97f0-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.21.2-65bebf97f0-10.zip new file mode 100644 index 00000000..252c9b77 Binary files /dev/null and b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.21.2-65bebf97f0-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.21.2-7382e2684d-10.zip b/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.21.2-7382e2684d-10.zip deleted file mode 100644 index 4469a97b..00000000 Binary files a/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.21.2-7382e2684d-10.zip and /dev/null differ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c77dd8d0..862dbb52 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ You can also submit an issue if you just have a question about the component. If ## Want to contribute a fix or implement a feature? -Great! Here are the things you'll need to know in order to start hacking on the project. While this should cover the general flow, feel free to reach out if anything isn't clear or you have any questions which are not covered here. +Great! Here are the things you'll need to know in order to start hacking on the project. While this should cover the general flow, feel free to reach out if anything isn't clear or you have any questions which are not covered here. Before starting on any fix, make sure the issue itself is documented in the [issues list](https://github.com/grapoza/vue-tree/issues). @@ -20,6 +20,16 @@ You can start by forking the [grapoza/vue-tree](https://github.com/grapoza/vue-t ### Get set up +If you have Docker desktop installed and will develop using a tool that supports dev containers, this project includes a `.devcontainer` folder with a configuration for the container. This will set up the environment for you, including installing the prerequisites. If you don't have Docker desktop or prefer to set up your environment manually, you'll need to install the prerequisites and set up the project manually. + +To use Dev Containers, you'll need to have [Docker Desktop](https://www.docker.com/products/docker-desktop/) installed on your system and add the Dev Containers extension to VS Code (if that's the IDE you're using). You can find the Dev Containers extension [here](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). + +[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/grapoza/vue-tree) + +If you already have VS Code and Docker Desktop installed, you can click the badge above or [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/grapoza/vue-tree) to get started. Clicking these links will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use. **Due to the [speed and hot reload issues](https://vitejs.dev/config/server-options.html#server-watch) associated with mounting a local windows file system, this is the preferred method of using a development container.** + +If you instead clone the solution to your local machine and open it in VS Code, it will prompt you to re-open the folder in a dev container. As mentioned previously, this development experience will be far less performant than using the links above if you are on a Windows file system. + Prerequisites: - [Yarn](https://yarnpkg.com/) (latest) diff --git a/package.json b/package.json index 8b3c52f2..435a4bbe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@grapoza/vue-tree", - "version": "7.0.1", + "version": "7.0.2", "description": "Tree components for Vue 3", "author": "Gregg Rapoza ", "license": "MIT", @@ -15,6 +15,10 @@ "tree", "treeview" ], + "engines": { + "node": "^20.12.2" + }, + "packageManager": "yarn@4.4.0", "files": [ "dist" ], @@ -71,6 +75,5 @@ "browserslist": [ "defaults", "not IE 11" - ], - "packageManager": "yarn@4.4.0" + ] }