Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedbacks on migrating to full dotslash dev env #16

Closed
hn8 opened this issue Feb 17, 2024 · 1 comment
Closed

Feedbacks on migrating to full dotslash dev env #16

hn8 opened this issue Feb 17, 2024 · 1 comment

Comments

@hn8
Copy link

hn8 commented Feb 17, 2024

First of all, love the project! It has become my first install for non-nix projects. Here are some feedbacks from my experience so far.

  1. Tools working as expected: docker cli, node, ruff, shfmt, uv. Still waiting for .tar.xz for shellcheck and .zip for dprint, rain
    Btw, to use other commands bundled with node (e.g. npm/npx), I either need to duplicate node file and replace node with these commands. Or use workaround file for npm/npx/pnpm/pnpx/yarn (this supports symlink too).
#!/usr/bin/env node
require(process.execPath.replace("/bin/node", "/lib/node_modules/corepack/dist/lib/corepack.cjs"))
    .runMain([require("path").basename(process.argv[1]), ...process.argv.slice(2)])
  1. Tested dotslash in WSL, macos, container (Debian 12), Github Action, AWS Cloud Shell (Fedora), and Google Cloud Shell (Debian 11). It only failed at debian 11 which has older glibc 2.31. If you are open to publish dotslash to pip later, building for manylinux or with cross will lower glibc version requirement and make dotslash more portable.

  2. Support one line install in dockerfile or cloudshell without curl | sh

curl -LSfs https://github.com/facebook/dotslash/releases/latest/download/dotslash-$(uname | tr DL dl)-$(uname -m).tar.gz | tar fxz - -C ~/.local/bin/

or in powershell

cmd /c "curl.exe -LSfs https://github.com/facebook/dotslash/releases/download/latest/dotslash-windows.tar.gz | tar fxz - -C .local\bin"

To support up-to-date one-liner, will need to remove version and replace arm64 with aarch64 in filename. Rename ubuntu-22.04 to linux since it works in fedora/debian with newer glibc too.
https://github.com/facebook/dotslash/releases/latest/download/dotslash-ubuntu-22.04.arm64.v0.2.0.tar.gz becomes https://github.com/facebook/dotslash/releases/latest/download/dotslash-linux-aarch64.tar.gz.
If pinned version is desired, it is still available by url https://github.com/facebook/dotslash/releases/download/v0.2.0/dotslash-linux-aarch64.tar.gz

  1. will be nice to have experimental command update-version which replaces version, updates metadata, and performs json format
dotslash -- update-version node 18.19.0 20.11.1
@hn8
Copy link
Author

hn8 commented Feb 19, 2024

Update: we have solved item 1,3,4 for our internal use. If there is interest to support lower glibc version, would be happy to contribute. Thanks.

@hn8 hn8 closed this as completed Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant