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

Road to 0.2 - aka "first stable release" #9

Closed
10 tasks done
ddanier opened this issue Mar 16, 2024 · 5 comments
Closed
10 tasks done

Road to 0.2 - aka "first stable release" #9

ddanier opened this issue Mar 16, 2024 · 5 comments

Comments

@ddanier
Copy link
Collaborator

ddanier commented Mar 16, 2024

I'm currently using version 0.1.x for trying out things and finding the best way to implement stuff. Version 0.2.0 should be the version that provides some stable ground to build upon and also contain all the core features. After 0.2.0 I will switch to a semver based release versioning.

Ideas I want to think about and/or implement for 0.2.0:

  • nur should not interfere with normal nu shell config/env. Thus maybe we should set default-config-dir to $project-path/.nur. This would also replace the current .nurscripts directory.
    • Seems not really possible, BUT: We can set libs and plugins dir accordingly
  • Refactor main.rs to be way more modular, should also increase testability.
  • Maybe provide nu_plugin_nur command to easily register nur as a nu plugin for nu shell users. See Idea: Can nur be used as a nu plugin? #3
  • Ensure we have the right base feature set. Maybe less is more here. See Idea: Support having some kind of nur packages that also can be downloaded via git #1 and Idea: Add template engine #2
  • Have at least some tests to ensure nur works from a user perspective, maybe actually call some nur tasks for this. Might include Add some tests #6
  • nur was tested on Linux, Mac and Windows.
  • Provide binaries for the most common systems. See https://github.com/nushell/nushell/blob/main/.github/workflows/release.yml for how nu does this
  • Should it be possible to use plugins? Would be a local requirement - I don't really like that.
  • Which feature flags should be active? Follow nu? Do we really need dataframes?
  • Update docs to match current version. Document at least env.nu and scripts behaviour
@ddanier ddanier changed the title Road to 0.2 Road to 0.2 - aka "first stable release" Mar 16, 2024
@ddanier
Copy link
Collaborator Author

ddanier commented Mar 23, 2024

0.1.12 did solve some of the tasks 😉👍

@ddanier
Copy link
Collaborator Author

ddanier commented Apr 2, 2024

Some decisions:

  • I won't add a package manager, as there will be nupm in the future, but it is not ready yet to be used.
  • I won't add a template engine for now.
  • nur will not support plugins. There is experimental support somewhere in the code, but this will not be documented for now. Also no tests will be written to ensure it works.
  • Also nur will not be usable as a plugin itself for now. This may be added in a future version but should not be in the initial stable release. I expect this to cause issues as the cli options change based on the current working directory and I am not sure how nu will handle this.

Also I did manage to run nur on Windows and also execute some tasks. The normal cargo install nur just did work. Although I had to fix the tests written in nu shell scripting.

@ddanier
Copy link
Collaborator Author

ddanier commented Apr 4, 2024

I also verified nur runs on Linux (Debian), so this should all be fine. Also the tests run on all three platforms now. ;-)

@ddanier
Copy link
Collaborator Author

ddanier commented Apr 4, 2024

Maybe I should remove support for the config.nu:

What about customizing interactive shells, similar to .zshrc? By default config.nu is only loaded in interactive shells, not scripts.

From https://www.nushell.sh/book/configuration.html#configuring-nu-as-a-login-shell

@ddanier ddanier pinned this issue Apr 7, 2024
ddanier added a commit that referenced this issue Apr 13, 2024
Refactor main to be more modular + add tests
@ddanier
Copy link
Collaborator Author

ddanier commented Apr 13, 2024

Release of 0.2.0 is currently happening. So I will now close this issue. :)

@ddanier ddanier closed this as completed Apr 13, 2024
@ddanier ddanier unpinned this issue Apr 13, 2024
ddanier added a commit that referenced this issue Apr 13, 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