00:28
<ljharb>
any objection, once we cut ES2022, to me setting a dist-tag on the biblio package that matches the year? that way it'll be easy for me moving forward to target the specific biblio for each edition, for es-abstract
00:31
<shu>
what does dist-tag do?
00:31
<ljharb>
"latest" is the default one, but you can set, say, "next" or "shu" or "es2022", and then npm install foo@es2022
00:32
<ljharb>
it's like a branch → commit, for npm - a movable pointer
00:32
<shu>
ah, that's the thing after the @?
00:32
<ljharb>
yes
00:32
<shu>
then sgtm, seems like we should mirror biblio releases to the yearly cuts
00:32
<ljharb>
it can be either a dist-tag, or a semver range, or a single version, or a URL - anything that can go in the RHS of dependencies
00:32
<ljharb>
biblio releases are done on every spec commit :-)
00:33
<ljharb>
which is great, so it's always up to date - i just want to be able to quickly target each yearly cut
00:33
<shu>
well sure, i mean the named releases should have the same-named tag on the biblio side
00:33
<ljharb>
awesome
00:33
<shu>
but i mean i don't use this stuff, please wait for kevin's thoughts
00:33
<ljharb>
it could be automated if we really wanted, but it's easy to do it manually once a year too
00:33
<ljharb>
nothing for me to do until 2022 is cut anyways :-)
00:34
<shu>
yeah the "once a year" thing argues for not automating
00:34
<shu>
until like... year 7
00:37
<bakkot>
fine by me
00:37
<ljharb>
also mind slapping the merge label on https://github.com/tc39/ecma262/pull/2690 ?
00:40
<bakkot>
done
00:40
<ljharb>

require('@tc39/ecma262-biblio')['https://tc39.es/ecma262/'].filter(x => x.type === 'op').find(x => x.aoid === 'IsLessThan').signature =>

{
  parameters: [
    {
      name: '_x_',
      type: { kind: 'opaque', type: 'an ECMAScript language value' }
    },
    {
      name: '_y_',
      type: { kind: 'opaque', type: 'an ECMAScript language value' }
    },
    { name: '_LeftFirst_', type: { kind: 'opaque', type: 'a Boolean' } }
  ],
  optionalParameters: [],
  return: {
    kind: 'completion',
    completionType: 'mixed',
    typeOfValueIfNormal: {
      kind: 'union',
      types: [
        { kind: 'opaque', type: 'a Boolean' },
        { kind: 'opaque', type: '*undefined*' }
      ]
    }
  }
}

verrrrrry niiiiice

00:40
<bakkot>
the ['https://tc39.es/ecma262/'] thing is dumb
00:41
<ljharb>
it is
00:41
<bakkot>
wish I'd fixed it before publishing
00:41
<ljharb>
lol
00:41
<ljharb>
could always bump to v2 :-p
00:41
<bakkot>
yeah...
00:41
<bakkot>
tempting...
00:41
<ljharb>
so now i just have to build an ES AO typechecker, yay
00:41
<bakkot>
before people start depending on it
00:41
<ljharb>
yup