►
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
A
I'm
a
collaborator
and
a
bunch
of
things
in
node.js,
including
being
chairperson
of
the
node.js
community
committee
and
my
twitter
handle
is
at
bittenbang.
A
So
how
do
we
use
esm
in
node.js
right
now
before
we
get
into
that?
I
want
to
give
a
quick,
disclaimer,
esm
and
node
is
experimental.
It
is
unflagged
in
12
and
14,
but
it
is
still
experimental.
Some
things
might
change
under
the
hood.
Some
things
might
change
in
the
dx
just
want
to
keep
that
in
mind.
A
You
might
not
want
to
push
it
to
production
yet,
but
you
might
want
to
start
thinking
about
that
if
it's
something
you're
interested
in
doing
and
if
it
suits
your
use
case,
so
there's
two
approaches
to
esm:
implicit
and
explicit
implicit.
You
add
some
metadata
to
your
package.json
and
you
change
requires
and
module.exports
to
import
and
export
as
appropriate
in
explicit
esm.
A
That's
literally
just
the
file
name,
so
dot,
mjs
and
cjs.
You
probably
heard
of
mjs
dot.
Cjs
is
a
newer
edition.
That's
going
to
come
with
the
development
of
esm.
N.Js
that
you
know,
mjs
indicates
esm
that
the
file
is
esm.
Cjs
indicates
that
the
file
is
comma.js,
so
those
are
kind
of
interesting
approaches
to
taking
that
explicit
cool.
So
how
do
we
use
esm
implicitly
in
ojs?
A
A
A
A
Here
is
the
esm
version,
we're
you
know
sprinkling
in
some
asm,
so
we're
just
going
to
do
same
con
csm
and
we're
just
going
to
be
flipping
our
export
to
export
default
esm,
rather
than
a
module
that
exports
esm
to
run
this
previously.
For
a
bit
there,
we
were
having
to
run
node
with
a
flag,
the
experimental
modules
flag.
A
A
Okay,
so
let's
get
started
with
npm
init
and
the
dash
y
shortcut.
This
auto
pulls
my
presets,
for
you
know
my
config
for
initialization
by
default.
Yours
will
be
a
bit
different,
but
you
can
go
ahead
and
change
it
too,
and
this
goes
ahead
and
sets
up
our
package.json
we're
going
to
want
to
update
our
main
to
esm.js
rather
than
index.js,
and
then
we're
also
going
to
want
to
update
type
to
be
module.
A
So
this
word
this
is
going
to
be
the
file
we're
going
to
create,
so
our
our
main
file
is
going
to
be
sm.js.
This
is
just
the
file
name.
I
chose
to
use
and
then
type
module
is
going
to
indicate
to
us
or
indicate
to
node
how
to
process
js
files
so
for
esm.js
it's
going
to
actually
be
processed
as
an
echoscript
module.
A
A
A
Dot,
nope
dot
version
dot
node.
So
this
is
going
to
be
the
node
version
that
we're
currently
running
the
next
one
is
going
to
be
modules.
A
This
is
going
to
be
process.versions.module,
so
this
number
or
this
this
property
on
the
process.versions
object,
is
a
single
number
that
node
increases
every
time.
The
api
or
application
binary
interface
for
the
modules
system
changes
so
every
time
there's
an
addition.
Every
time
that
substantially
changes
that
number
gets
increased
by
one
and
then
we're
also
going
to
do
have
going
to
have
a
nice
message
here.
A
Node
loves,
esm,
cool,
so
that's
our
object.
That's
you
know
normal
javascript.
How
we
do
it,
no
matter
what
and
then
we're
going
to
have
export
default
esm,
so
our
default
export
for
this
module
module
is
going
to
be
esm,
and
this
is
just
the
name
of
the
object
not
saying
echo
script
modules
is
the
default
export,
but
just
we're
exporting
this
specific
object
cool.
So
we're
going
to
want
to
log
that,
though,
so
we
can
actually
want
to
consume
this.
A
So
how
we're
going
to
want
to
do
this
is
with
blog.js.
This
is
just
again
another
file
that
I'm
deciding
to
create
we're
going
to
do
import
esm
from
yes
from
quote
esm.js
we're
going
to
want
to
make
sure
we
have
a
path
there,
so
esm.js
cool,
and
then
you
know
now
that
we
have
this
object
that
we're
importing
we're
going
to
want
to
log
that
so
console.log
esm
and,
let's
make
sure
we
save
our
package
json
and
then
do
node
log
js
perfect.
A
A
A
The
same
is
true
for
common
js,
so
you
know
taking
the
case
of
index.js.
If
we
want
to
explicitly
tell
node
that
this
file
is
comma.js
and
should
always
be
run
as
comma.js,
we
can
just
change
the
extension,
the
file
name
to
index.cjs.
A
A
Let's
get
into
an
example
of
that,
okay,
so
to
get
started
on
moving
from
implicit
esm
to
explicit
dsm,
we're
going
to
do
a
few
things.
First,
we're
going
to
update
our
main
to
use
a
explicit
file
extension
so
esm.mjs
and
we're
also
going
to
in
this
case
you
don't
always
have
to
do
this,
but
in
this
case
I
want
to
have
js
default
to
comma.js.
A
Now
our
main
export
is
going
to
be
read
as
esm,
despite
being
dot
mjs
and
despite
there
being
nothing,
no
type
module
in
the
package.json,
our
expert
will
still
be
parsed
as
esm,
so
we're
also
going
to
want
to
reflect
the
file
to
actually
make
that
work
so
we're
you
know
just
going
to
update
the
file
name
to
esm.mjs.
A
None
of
our
code
here
actually
changes.
This
is
still
esm.
We're
just
updating
the
file
where
our
code
does
change
a
bit
is
in
log.mjs,
so
we're
actually
going
to
want
to
update
the
log.
The
name
of
this
file
too,
since
we're
intending
to
run
this
as
esm
we're
going
to
want
to
update
our
import
for
that
as
well.
So
all
that
takes
is
just
updating
the
file
name
and
we
should
be
good
to
go
so.
Let's
try
that
out,
node
log
dot,
mjs
perfect.
A
This
is
for
older
versions
of
node,
and
it
helps
us
kind
of
define
an
entry
point
for
those
versions
that
they
will
work
with,
which
in
this
case
is
the
comma.js
version.
The
next
line
creates
a
experts,
property
that
has
an
object,
or
that
is
equal
to
an
object
and
that
object
has
two
properties
import
and
require.
A
Now
this
is
the
most
bare
bones.
Example:
we
can
have
of
conditional
exports
and
for
the
sake
of
simplicity,
here,
that's
what
we're
going
to
go
with.
You
there's
a
lot
more
granularity
here
that
you
can
kind
of
use
to
control.
This
definitely
take
recommend
taking
a
look
at
the
docs
if
you're
interested
in
kind
of
understanding
that
more
in
depth
or
feel
free
to
ask
in
the
q
a
or
chat
with
me
at
some
point
feel
free
to
reach
out,
however
you're
comfortable,
but
specifically
the
import
is
exporting.
A
So
basically,
this
is
saying
when
someone
is
imports,
this
export
module.js
and
the
same
is
true
for
require
when
someone
requires
this
export
module.cj
and
in
the
case
of
the
import
we're
using
module.js
because
of
type
module
at
the
bottom
there.
But
this
kind
of
allows
us
to
change
on
demand
what
we
are
giving
out.
So
we've
already
pre-built
these
files.
We
already
have
kind
of
done
this
work
ourselves
and
we're
making
sure
we're
returning
the
right
thing
for
the
right
use
case,
which
is
a
super
useful
feature
for
a
variety
of
reasons.
A
Specifically,
it
kind
of
helps
us
scope
down
what's
delivered
to
who
helps
with
things
like
tree
shaking,
and
it
helps
teams
deliver
like
a
more
seamless
experience
when
they're
trying
to
transition
from
something
like
common.js
dsm.
If
you
want
to
slowly
replace
your
you
know,
parts
of
your
code
base
one
by
one
with
comma.js
and
move
them
to
esm.
This
kind
of
helps
simplify
that
a
bit
and
reduce
the
immediate
need
for
change
and
allows
you
to
flip
flip
the
switch
pretty
pretty
incrementally.
A
Additionally,
it
kind
of
helps
provide
a
path
for
maintainers
to
provide
options
for
user
choice.
So
you
know
I
I
personally
have
enjoyed
comment.js
for
years
and
I'm
probably
going
to
be
doing
more
esm,
but
for
now
there's
some
cases
where
I
just
kind
of
want
to
be
using
common.js
and
that's
okay.
You
know
if,
if
I'm
using
a
module
that
has
this
property
that
you
know
does
conditionally
export
things,
I
can
kind
of
go
from
commonjs.
A
So
conditional
escort
exports,
as
I
mentioned
earlier,
are
a
subset
of
the
package
entry
points
feature.
I
didn't
really
name
that,
but
that's
kind
of
what
this
this
is
kind
of
a
part
of
I
would
highly
recommend
going
and
taking
more
of
a
look
at
this.
This
is
in
the
node
docs
in
the
ecmascript
modules
section,
it's
a
pretty
complex
feature
that
has
a
lot
of
granularity
and
something
that
you
can.
It
really
allows
you
to
control
how
you
want
to
use
it.
A
A
Let's
go
quick.
Take
a
look
at
a
quick
example,
so
for
conditional
exports
to
kind
of
exemplify
them
to
show
them
off.
We've
gone
ahead
and
done
a
little
bit
more
work
on
simply
asm
the
work
we
were
doing
before
and
expanded
on
it,
a
teeny
bit
so
we've
gone
ahead
and
created
a
new
project
called
exports
and
we've
moved
that
work
that
we
were
doing
previously
into
the
node
modules
directory.
So
you
can
see
here
you
know
in
our
new
project
if
we
do
cd
node
modules
and
then
ls,
we
have
simple
esm.
A
So
if
we
go
back
up,
you
know
in
our
directory.
The
only
thing
there
right
now
is
node
modules
and
then
to
actually
kind
of
expand
on
the
work
we've
already
done.
We
moved
esm
back
to
dot
js
and
set
up
type
module
in
the
package.json,
so
esm.js
is
now
going
to
be
parsed
to
csm
again
and
with
that
we
can
kind
of
take
the
next
step
of
setting
up
conditional
exports.
A
A
A
So
with
that
we're
going
to
want
to
go
ahead
and
change
or
create
rather
commonjs.cjs,
which
is
going
to
be
a
basically
a
copy
of
esm.js.
So
I'm
going
to
go
ahead
and
copy
that
file,
I'm
going
to
rename
it
to
what
we
want
to
rename
it.
So
it's
going
to
be
commonjs.cjs
and
we're
going
to
change
the
property
here
to
comma.js,
also
going
to
change
what
we're
exporting
to
common
js
and
we're
going
to
change
how
we're
exporting
it.
So
this
is
going
to
end
up
being
module
exports,
comma.js
cool.
A
A
A
So
this
is
importing.
You
know
what
that
is
going
to
export
for
the
import
case
in
in
our
package
and
then,
if
we
go
ahead
and
try
to
set
up
logging
for
that,
so
log
esm.
A
We
should
be
able
to
just
go
ahead
and
run
this
and
have
it
work
so
we're
gonna
do
node
index.js
boom.
There's
our
esm
use
case
for
conditional
exports.
A
A
A
The
require
export
so
we're
actually
going
to
end
up
getting
comma.js.cjs
and
if
we
just
do
the
same
thing
of
const
or
console.log
commonjs
we're
going
to
be
able
to
see
that
node
index.cjs
should
just
work
boom.
So
you
get
the
same
same
output
for
common
js
and
esm
with
just
a
kind
of
minor
change
with
conditional
exports.
A
A
And
with
that,
I
just
want
to
say
thanks
for
joining
me
if
you
have
any
questions
more
than
happy
to
answer
them.
If
you
want
to
reach
out
to
me,
you
can
absolutely
I
am
at
bit
and
bang
on
twitter.
You
feel
free
to
tweet.
Me
dm
me
anything
like
that.
Also
I'm
on
the
open.js
foundation
slack
if
you'd
like
to
reach
me
there
end
with
that.