GithubHelp home page GithubHelp logo

Comments (11)

laurmaedje avatar laurmaedje commented on August 22, 2024

Duplicate of #74? Specifying a max version is difficult because the max version for a package version will most likely not have been released yet by the time the package version is released.

from packages.

emilyyyylime avatar emilyyyylime commented on August 22, 2024

Yeah this may be considered a duplicate. But if ever something is deprecated that a certain version of a package uses it would be nice to have proper error messages rather than something cryptic about this and that not being found

from packages.

laurmaedje avatar laurmaedje commented on August 22, 2024

It's hard to make that work though since packages are immutable by design. (Minor docs fixes were made, but adding a max version would not be a minor docs fix.)

from packages.

emilyyyylime avatar emilyyyylime commented on August 22, 2024

Well we could have it such that you are required to have a max version, which initially will be the same as the min version — and as Typst gets updated, you can push it back as far as you can. That way, packages never get a breaking change by limiting the supported versions, only expanding them

And besides, adding a maximum version should only need to happen if Typst itself introduces a breaking change, which should not happen often, and when it does; the motivation for it should also justify packages breaking

from packages.

laurmaedje avatar laurmaedje commented on August 22, 2024

The thing is that we can't update the version without publishing a new package. Packages are immutable and will be cached forever once downloaded.

from packages.

laurmaedje avatar laurmaedje commented on August 22, 2024

Closing in favor of #74

I don't think maximum version is possible.

from packages.

laurmaedje avatar laurmaedje commented on August 22, 2024

Minimum version is implemented now, see #74.

from packages.

emilyyyylime avatar emilyyyylime commented on August 22, 2024

Sorry for the necrobump, I'm having a hard time responding to things quickly lately, but

The thing is that we can't update the version without publishing a new package. Packages are immutable and will be cached forever once downloaded.

I did not realise packages are cached indefinitely; in that case, I think a good solution would be a 'target' Typst version, rather than a minimum. Using that, Typst could at the very least warn you if you're using a package targeting a different Typst version, and if you see it not working, you can figure out the connection there.

from packages.

laurmaedje avatar laurmaedje commented on August 22, 2024

But many packages will not be broken by updates and then you will get many unnecessary warnings. Basically, I don't want to add a manifest key that breaks a package even if it wouldn't have been broken.

from packages.

emilyyyylime avatar emilyyyylime commented on August 22, 2024

I get that, I guess I just don't want a package to be broken with no direct indication for that

from packages.

emilyyyylime avatar emilyyyylime commented on August 22, 2024

Could Typst only output a warning if it finds a version of that package that targets a more recent version of Typst?

from packages.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.