From 700d14ddb58b0da47ab8969a3f8a4a31223b9e48 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sun, 1 Dec 2024 22:18:38 +0100 Subject: [PATCH] Package VSCode extension --- .flox/env/manifest.lock | 379 +++++++++++++++++++++++++++- .flox/env/manifest.toml | 109 ++++---- .github/workflows/ci.yml | 12 + .vscodeignore | 1 + CONTRIBUTING.md | 20 ++ LICENSE | 19 ++ README.md | 115 +++------ assets/flox-logo-black-on-white.png | Bin 0 -> 8843 bytes assets/flox-logo-white-on-black.png | Bin 0 -> 8850 bytes package-lock.json | 2 +- package.json | 2 +- 11 files changed, 530 insertions(+), 129 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 assets/flox-logo-black-on-white.png create mode 100644 assets/flox-logo-white-on-black.png diff --git a/.flox/env/manifest.lock b/.flox/env/manifest.lock index 29b8f2f..eeb51ec 100644 --- a/.flox/env/manifest.lock +++ b/.flox/env/manifest.lock @@ -3,14 +3,25 @@ "manifest": { "version": 1, "install": { + "coreutils": { + "pkg-path": "coreutils" + }, + "gum": { + "pkg-path": "gum" + }, "nodejs": { "pkg-path": "nodejs" }, + "vsce": { + "pkg-path": "vsce" + }, "vscode": { "pkg-path": "vscode" } }, - "hook": {}, + "hook": { + "on-activate": "\nexport FLOX_JAVASCRIPT_NODE_CACHE_DIR=\"$FLOX_ENV_CACHE/javascript-node\"\nmkdir -p \"$FLOX_JAVASCRIPT_NODE_CACHE_DIR\"\n\nexport FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE=\"$FLOX_JAVASCRIPT_NODE_CACHE_DIR/packages-hash\"\n\n\nfunction with_spinner() {\n if [[ \"$FLOX_ENVS_TESTING\" == \"1\" ]]; then\n bash -c \"$1\"\n else\n gum spin \\\n --show-error \\\n --spinner line \\\n --spinner.foreground=\"#cccccc\" \\\n --title \">>> $2 ...\" \\\n --title.foreground=\"#cccccc\" \\\n -- bash -c \"$1\"\n fi\n}\n\nfunction install_packages() { \n npm install\n}\nexport -f install_packages\n\n\n\nif [ -f \"package.json\" ] && [ -f \"package-lock.json\" ]; then\n export FLOX_JAVASCRIPT_NODE_PACKAGES_HASH=\"false\"\n if [ -f \"$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE\" ] ; then\n export FLOX_JAVASCRIPT_NODE_PACKAGES_HASH=$(cat package.json package-lock.json | sha256sum | cut -d\" \" -f 1)\n fi\n if [ \"$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH\" != \"$(cat $FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE 2>/dev/null)\" ]; then\n with_spinner install_packages \"Installing Javascript packages (with NPM)\"\n echo -e \"{{ Foreground \\\"#ffffff\\\" \\\"✅ Javascript packages installed (with NPM).\\\" }}\\n\" \\\n | gum format -t template\n echo \"$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH\" > \"$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE\"\n fi\nfi\n" + }, "profile": {}, "options": { "systems": [ @@ -26,6 +37,252 @@ } }, "packages": [ + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/5naisiq61kp39x9mi4nnlh4h0agrv6ix-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/ydfklbdc7sdv9jl2jy0prq0wa4cv2zzf-coreutils-9.5-info", + "out": "/nix/store/5g6np23z9q7vwwp1s5pxkgn8f8wrmihh-coreutils-9.5" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/ir8y199idsk97agpjjkxk24nrrhlygiz-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "debug": "/nix/store/q70vk5m0nlz0qpy7z6nfczi8ksyaszap-coreutils-9.5-debug", + "info": "/nix/store/cbk08ylbni3vx41g1hdd013146yvcf5c-coreutils-9.5-info", + "out": "/nix/store/g5manmr2a4jc9m06cf2lpnx1092wvvjh-coreutils-9.5" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/5qkwxai9nx4hszq8m25ralrg5nrjfs6n-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/64g8lpl80mprjql96w0wsqc3n2q753l3-coreutils-9.5-info", + "out": "/nix/store/w95g6dz0b7byi4w2mgvmwpl692pilqf1-coreutils-9.5" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/gk6as4in5fphr7ds30l9cyn70icxr54a-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "debug": "/nix/store/h42j46bwd0fqsg70axqpkn49fzfgsxkd-coreutils-9.5-debug", + "info": "/nix/store/kszl2ij9l8ql5ai95h357rkwg77g2f68-coreutils-9.5-info", + "out": "/nix/store/k48bha2fjqzarg52picsdfwlqx75aqbb-coreutils-9.5" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/8psmrf1crmc3x1pdnd4pkk66gw5jh0z8-gum-0.14.5.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "gum-0.14.5", + "pname": "gum", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.14.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/rzqm62ixipbzbhfagqlic5xxag9a2v82-gum-0.14.5" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/cmqqdgyzm0p03hfk7cwb0x4x2y9s42cd-gum-0.14.5.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "gum-0.14.5", + "pname": "gum", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.14.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/3ick2j8z9jgkk3cyc1ik4zkbs3m4583n-gum-0.14.5" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/vj45dkfx974zr2f1y3mnx30xqa06p9is-gum-0.14.5.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "gum-0.14.5", + "pname": "gum", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.14.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/9rh8qxbxgb07v3a62mx9404ynk2yhxrj-gum-0.14.5" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/sxm0whwwcbs6f4ml5hw8zxfjlhlcc42k-gum-0.14.5.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "gum-0.14.5", + "pname": "gum", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.14.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/1bnivwijzrnzx5h0hd5rywwy8rlhxmw5-gum-0.14.5" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, { "attr_path": "nodejs", "broken": false, @@ -150,6 +407,126 @@ "group": "toplevel", "priority": 5 }, + { + "attr_path": "vsce", + "broken": false, + "derivation": "/nix/store/dj4kn9q40nqrk5jm8cywkf5lbzr1y5y5-vsce-3.1.0.drv", + "description": "Visual Studio Code Extension Manager", + "install_id": "vsce", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "vsce-3.1.0", + "pname": "vsce", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.1.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/hbxkg1vqpcljjs1g6imvr7d07saij9ny-vsce-3.1.0" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "vsce", + "broken": false, + "derivation": "/nix/store/jw4lxg2qj74dhxg4hyyln3m2ifhj5wfa-vsce-3.1.0.drv", + "description": "Visual Studio Code Extension Manager", + "install_id": "vsce", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "vsce-3.1.0", + "pname": "vsce", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.1.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/lbba3s49gbrdvr1hcm0iascs15lf9qi3-vsce-3.1.0" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "vsce", + "broken": false, + "derivation": "/nix/store/0gpw5nyv42pzmid9mk348h6w01zmzj4p-vsce-3.1.0.drv", + "description": "Visual Studio Code Extension Manager", + "install_id": "vsce", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "vsce-3.1.0", + "pname": "vsce", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.1.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/pjvrjqh76zws6lca6mqrhxqv9kmv4q1n-vsce-3.1.0" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "vsce", + "broken": false, + "derivation": "/nix/store/sfsfjd7rcwcxyva8s3p3dfz0svcx1mr9-vsce-3.1.0.drv", + "description": "Visual Studio Code Extension Manager", + "install_id": "vsce", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=23e89b7da85c3640bbc2173fe04f4bd114342367", + "name": "vsce-3.1.0", + "pname": "vsce", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev_count": 710087, + "rev_date": "2024-11-19T11:04:08Z", + "scrape_date": "2024-11-21T04:00:36Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.1.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/q4hrjrjc67c22v71zmz888ckjgi6cl1g-vsce-3.1.0" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, { "attr_path": "vscode", "broken": false, diff --git a/.flox/env/manifest.toml b/.flox/env/manifest.toml index 7fc14ca..0fb5cbe 100644 --- a/.flox/env/manifest.toml +++ b/.flox/env/manifest.toml @@ -1,60 +1,63 @@ -# -# This is a Flox environment manifest. -# Visit flox.dev/docs/concepts/manifest/ -# or see flox-edit(1), manifest.toml(5) for more information. -# -# Flox manifest version managed by Flox CLI version = 1 -# List packages you wish to install in your environment inside -# the `[install]` section. [install] vscode.pkg-path = "vscode" nodejs.pkg-path = "nodejs" -# hello.pkg-path = "hello" -# nodejs = { version = "^20.15.1", pkg-path = "nodejs" } - -# Set environment variables in the `[vars]` section. These variables may not -# reference one another, and are added to the environment without first -# expanding them. They are available for use in the `[profile]` and `[hook]` -# scripts. -[vars] -# message = "Howdy" - -# The `hook.on-activate` script is run by the *bash* shell immediately upon -# activating an environment, and will not be invoked if Flox detects that the -# environment has previously been activated. Variables set by the script will -# be inherited by `[profile]` scripts defined below. Note that any stdout -# generated by the script will be redirected to stderr. +vsce.pkg-path = "vsce" + +# helper tools +gum.pkg-path = "gum" +coreutils.pkg-path = "coreutils" + [hook] -# on-activate = ''' -# # Set variables, create files and directories -# venv_dir="$(mktemp -d)" -# export venv_dir -# -# # Perform initialization steps, e.g. create a python venv -# python -m venv "$venv_dir" -# ''' - -# Scripts defined in the `[profile]` section are *sourced* by *your shell* and -# inherit environment variables set in the `[vars]` section and by `[hook]` scripts. -# The `profile.common` script is sourced by all shells and special care should be -# taken to ensure compatibility with all shells, after which exactly one of -# `profile.{bash,fish,tcsh,zsh}` is sourced by the corresponding shell. -[profile] -# common = ''' -# echo "it's gettin' flox in here" -# ''' - -# The `[services]` section of the manifest allows you to define services. -# Services defined here use the packages provided by the `[install]` section -# and any variables you've defined in the `[vars]` section or `hook.on-activate` script. -[services] -# postgres.command = "postgres --config-file=pg.conf" - -# Additional options can be set in the `[options]` section. Refer to -# manifest.toml(5) for a list of available options. +on-activate = ''' + +export FLOX_JAVASCRIPT_NODE_CACHE_DIR="$FLOX_ENV_CACHE/javascript-node" +mkdir -p "$FLOX_JAVASCRIPT_NODE_CACHE_DIR" + +export FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE="$FLOX_JAVASCRIPT_NODE_CACHE_DIR/packages-hash" + + +function with_spinner() { + if [[ "$FLOX_ENVS_TESTING" == "1" ]]; then + bash -c "$1" + else + gum spin \ + --show-error \ + --spinner line \ + --spinner.foreground="#cccccc" \ + --title ">>> $2 ..." \ + --title.foreground="#cccccc" \ + -- bash -c "$1" + fi +} + +function install_packages() { + npm install +} +export -f install_packages + + + +if [ -f "package.json" ] && [ -f "package-lock.json" ]; then + export FLOX_JAVASCRIPT_NODE_PACKAGES_HASH="false" + if [ -f "$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE" ] ; then + export FLOX_JAVASCRIPT_NODE_PACKAGES_HASH=$(cat package.json package-lock.json | sha256sum | cut -d" " -f 1) + fi + if [ "$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH" != "$(cat $FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE 2>/dev/null)" ]; then + with_spinner install_packages "Installing Javascript packages (with NPM)" + echo -e "{{ Foreground \"#ffffff\" \"✅ Javascript packages installed (with NPM).\" }}\n" \ + | gum format -t template + echo "$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH" > "$FLOX_JAVASCRIPT_NODE_PACKAGES_HASH_FILE" + fi +fi +''' + + [options] -systems = ["aarch64-darwin", "aarch64-linux", "x86_64-darwin", "x86_64-linux"] -# Uncomment to disable CUDA detection. -# cuda-detection = false +systems = [ + "aarch64-darwin", + "aarch64-linux", + "x86_64-darwin", + "x86_64-linux", +] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c0030a9..70b2345 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,3 +53,15 @@ jobs: uses: "flox/activate-action@main" with: command: "npm run compile" + + - name: "Package" + uses: "flox/activate-action@main" + with: + command: "vsce package --out flox-main.vsix" + + - name: "Upload vscode extention as artifact" + uses: "actions/upload-artifact@v4" + with: + name: "flox-main.vsix" + path: "flox-main.vsix" + retention-days: 14 diff --git a/.vscodeignore b/.vscodeignore index 7d3e5c7..1b0848a 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -3,6 +3,7 @@ src/** .gitignore .yarnrc +.flox vsc-extension-quickstart.md **/tsconfig.json **/eslint.config.mjs diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..9c8e494 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,20 @@ +# Flox VSCode Extention + +## Quick Start + +```console +$ cd git clone git@github.com/flox/flox-vscode.git; +$ cd flox-vscode; + +# Enter Dev Shell +$ flox activate + +# Lint +$ npm run compile + +# Run the tests +$ npm run test + +# Build +$ npm run compile +``` diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ee69c64 --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright 2023 FloxDev, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 15fe92e..7a6f7d2 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,55 @@ -# flox README +

+ + + + + flox logo + + +

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

+ Developer environments you can take with you +

-## Features +

+   + Discourse +   |   + Documentation +   |   + Blog +   |   + Twitter +   |   + Slack +   +

-Describe specific features of your extension including screenshots of your -extension in action. Image paths are relative to this README file. +[Flox][website] is a virtual environment and package manager all in one. With +Flox you create environments that layer and replace dependencies just where it +matters, making them portable across the full software lifecycle. -For example if there is an image subfolder under your extension project -workspace: +`flox-vscode` is a VSCode editor extension that integrated Flox environments +with VSCode editor. -\!\[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. +## 🤝 Found a bug? Missing a specific feature? -## Requirements +Feel free to [file a new issue][new-issue] with a respective title and +description on the `flox/flox-vscode` repository. If you already found a +solution to your problem, we would love to review your pull request! -If you have any requirements or dependencies, add a section describing those -and how to install and configure them. +## ⭐️ Contribute -## Extension Settings +We welcome contributions to this project. Please read the [Contributor +guide](./CONTRIBUTING.md) first. -Include if your extension adds any VS Code settings through the -`contributes.configuration` extension point. +## 🪪 License -For example: +The Flox CLI is licensed under the GPLv2. See [LICENSE](./LICENSE). -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!** +[website]: https://flox.dev +[new-issue]: https://github.com/flox/flox-vscode/issues/new/choose diff --git a/assets/flox-logo-black-on-white.png b/assets/flox-logo-black-on-white.png new file mode 100644 index 0000000000000000000000000000000000000000..5db27b6ca042ee992be02fefa7ceaafb9cf22572 GIT binary patch literal 8843 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 literal 0 HcmV?d00001 diff --git a/assets/flox-logo-white-on-black.png b/assets/flox-logo-white-on-black.png new file mode 100644 index 0000000000000000000000000000000000000000..24b900225a1695a0a8ec2fb32121712a98adb36c GIT binary patch literal 8850 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 F@;{FzscirN literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index b7b11d9..8d48dbd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "": { "name": "flox", "version": "1.0.0", - "license": "???", + "license": "MIT", "devDependencies": { "@types/node": "20.x", "@types/vscode": "^1.95.0", diff --git a/package.json b/package.json index 8a8ab47..375e38b 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ } ], "publisher": "flox", - "license": "???", + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/flox/flox-vscode"