Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • Jan 16 15:16

    lucacasonato on 20210119_dlint


  • Jan 16 13:43

    bartlomieju on master

    chore: update dlint to 0.2.16 chore: update dlint to 0.2.16 (… (compare)

  • Jan 16 13:43
    bartlomieju closed #84
  • Jan 16 12:30
    lucacasonato review_requested #84
  • Jan 16 12:29
    lucacasonato opened #84
  • Jan 16 12:29

    lucacasonato on 20210119_dlint

    chore: update dlint to 0.2.16 (compare)

  • Jan 13 09:47
    caspervonb commented #177
  • Jan 13 09:47
    caspervonb commented #177
  • Jan 13 08:42
    MarkTiedemann commented #177
  • Jan 13 08:41
    MarkTiedemann commented #177
  • Jan 13 08:41
    MarkTiedemann commented #177
  • Jan 13 08:00
    Japroz-Saini commented #177
  • Jan 13 07:56
    nayeemrmn commented #177
  • Jan 13 05:53
    Japroz-Saini synchronize #177
  • Jan 13 05:53
    Japroz-Saini synchronize #177
  • Jan 13 05:52
    Japroz-Saini synchronize #177
  • Jan 13 05:50
    Japroz-Saini synchronize #177
  • Jan 13 05:49
    Japroz-Saini synchronize #177
  • Jan 13 05:48
    Japroz-Saini opened #177
  • Jan 03 10:07
    lucacasonato locked #176
Kurt Mackey
hot damn, that's great
Ryan Dahl
I might have kicked everyone out of the discord ?
Kevin (Kun) "Kassimo" Qian
You did :-)
Ryan Dahl
dang - there's a lot of settings
Luca Casonato
I wasn't kicked out, I just can't load the server. Stuck on an Infinite loading screen.
Ah works now.
Joe Pea


Deno's only principle is the use of URLs. If you want versions, use a host that lets you select versions in the URL. If you want semver, use a library that complies with semver.

That equates to letting the community do it however they want. It may cause different ways to have versioning in the community (f.e. the dem lib is one way to manage versioned code), making some fragmentation that could be avoided.

deno.land just accepts github tags. I guess your suggestion is to only accept tags of the form vX.X.X, to set an example for people to use semver?

That could be a possibility, and the deno.land/x server could resolve version ranges like ^X.X.X by calling the GitHub API to get repo tags, filter to only the ones matching the major number (or minor number for version with major 0), then choose the latest match. Or something. That's almost similar to the idea of having lib authors publish a manifest JSON file with a list of version numbers, or an object mapping versions to URLs, which should be permanently cached by deno.land/x so as not to allow breaking changes by arbitrary change of a version URL).


an election or at least verification process [for libs in /x]

That may work initially, but also as libs are continually updated we'd want them to continue following a standard.


Identifying packages that self assert they are following semver solves what problem?

@iAmNathanJ wasn't suggesting that that particular action solves a problem. He was suggesting that the fact that there's thousands of dependencies in his project and it all works all of the time is amazing, and hinting that semver is in part responsible for it.

I don't believe anything needs to be centralized in order to have semver.

deno.land/x strictly supporting semver as a CDN does not make things any more centralized than deno.land/x already is.

Anyone desiring not to follow semver could publish on any other server in any way they want. This isn't a feature that is built into Deno runtime. I'm just talking about deno.land/x supporting it, as a way to tell to people that "if you want to be featured on deno.land/x then your lib should follow the standard we've set, but feel free to publish your code in any way on any other server as Deno runtime cares only about URLs."

In web browsers, yes, we can import any script from anywhere. We can also choose to import scripts from unpkg with version numbers. The same could apply to deno.land/x, it can be a web server that people trust for versioned Deno libs, while people would be aware they can run any code from anywhere without the same guarantee.

People are arguing here for Yahoo!, a centralised directory of web sites, categorised all nicely for them. Who goes looking for a website on Yahoo! these days?

I never knew the difference. I thought Google and Yahoo did the same thing: I search, they provide websites. I presume they both categorize websites. But anywho,

If anything, we need the Deno equivalent of Google that can go out, search and categorise code, determine if it is strict or not, if it works with a particular version of Deno or not.

You forgot one thing! It could be this:

If anything, we need the Deno equivalent of Google that can go out, search and categorise code, determine if it is strict or not, determine if it uses semver or not (perhaps looks for a default json manifest file, if it works with a particular version of Deno or not.

And in particular, guarantee that the json manifest file for libs hosted on deno.land/x never ever changes, otherwise that defeats the purpose. This way, if a lib author changes what a version points to, it will break everyone's code instead of silently introducing a backdoor trojan virus cryptominer worm. Still, someone's domain can get hijacked, but at least some malware surface area is reduced.

Google Chrome browser searches websites for manifest.json files, by the way.

Maybe, as a rule of thumb, a manifest file can not point to anything outside of the domain where it comes from. Then we're limited only to domain hijacking as a problem.
But still, NPM is open source, and NPM registries are open source, so techincally anyone can host code anywhere. People just find it easy not to do that if they don't need to. It isn't strictly centralized by force.
@kitsonk that's what I meant by that Deno doesn't have to implement something like semver within itself - as long as there is some way to select a version (which there is in case of git repos), someone can build a "better" versioning on top of that, so users can choose if they want somethink like it, or just want to fetch the newest version under some url.
Now that I think about it, it's kinda like a web browser
Someone just has to build a web archive now :)
Ryan Dahl
Hello everyone. Gitter kinda sucks. I hate to cause a lot of disruption, but we're going to move the chat room to Discord
Eren Yagdiran
Hey guys, for those haven't moved to discord yet, I gotta tell you something. I'm about to launch my new project deno services. Check it out at https://deno.services
Philip Denys
@ry thumbs up
Clemens Tolboom
@ry thanks :)
Joe Pea
What does it do?
Neat concept though, that any library's code can be published as simply URLs on a domain.
David Stone
@nmay231 @kevinkassimo there was a similar idea on twitter about using Blockchain tech for a deno pkgmgr that could create a revenue stream for package authors. https://twitter.com/balupton/status/1085963107531247616?s=20
I don't know much about Blockchain but I thought it sounded like a good idea
Kevin (Kun) "Kassimo" Qian
Interesting. I’ve heard of Steem before for digital publishing. But yeah such an experiment might need a separate team to work on (and more people who is working in the crypto field)
(Personally took a class on cryptocurrency and have written Ethereum contracts before, so I have some understanding to how blockchain could work and related principles, but definitely not to the level of creating new protocols or design myself... If we were to do this we need more people in that field)
Also the chatroom has moved to Discord: https://discord.gg/TGMHGv6
Joe Pea


Blockchain tech for a deno pkgmgr that could create a revenue stream for package authors.

Interesting idea for any sort of package/module/code manager.

Does it mean to use a module you'd have to pay some small amount for it every time? Or how would that work?

Garrone Joseph
@m00dy lol BOLD move considering there is almost nothing to check out yet... I subscribed though
Saddam M
Hi! Would like to know if there are any examples of Deno plugins in action, with Rust source code included. Seems to me that it is still premature and so far, deno-plugin-prepare doesn't work. Are there at least any descriptive documentations for Deno plugins?
In this file
// The following code is based off:
// https://github.com/inexorabletash/text-encoding
is wrong.
The previous TextEncoder implementation was, not this one.
This one is based off of http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ (as clearly evidenced by the inclusion of the applicable license in the following lines)
Also, not sure the copyright line at the top can really apply, since because it's a port of already copyrighted code no one else can really claim copyright.
Also, maybe a good idea to include the link to that original C function for people interested in details (kinda like I did in my original gist of the function)
// This function is based on Bjoern Hoehrmann's DFA UTF-8 decoder.
// See http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ for details.
Anyway, I was just awake at 4am and wondering if Deno was still using my function and saw that when I checked, so felt I had to say something. Gonna check the chat later to see any responses.
Nayeem Rahman
The chatroom has moved to Discord: https://discord.gg/TGMHGv6
Doron Tsur
@ry any way deno and bit.dev can collab ?
Joe Pea
Doesn't seem likely. bit.dev is a build-full system relying on NPM, deno is a build-less system which explicitly does not rely on NPM but only on native modules.
Andrew Kaiser

The chatroom has moved to Discord: https://discord.gg/TGMHGv6

seeing "Invite Invalid" when attempting to join the discord.
edit: disregard, the invite works when manually joining a server

donpdonp discord--
donpdonp can someone bridge the discord room(s) into Matrix?
Radonirina Maminiaina
Hello Team, congratulation for the v1
hope tensorflow.js translate to typescript。and run on deno
Mike Carifio
@ry et al, congrats on https://deno.land/v1
I have some errors when I try to connect deno to mysql.
INFO connecting
error: Uncaught InvalidData: data did not match any variant of untagged enum ArgsEnum
can you elp me
I tried with mysql 5.5, 5.7, 8.0, the same errors
Hello all! Just started messing around with Deno. While working on a toy project the need to create mock Request and Response objects has come up. Anyone know of a package that does this?
Donald Wu
@gabrielgrover oak