►
From YouTube: YUI In the Wild #11 with Simon Hojberg on ES6 Modules
Description
YUI Open Roundtables cover topics of interest to front end developers with an emphasis on YUI
A
Welcome
everybody
to
the
latest
yy
open
round
table.
We
have
our
we're
continuing
our
yy
in
the
wild
series
today
with
simon
is
it
hoiberg
is.
A
He's
going
to
talk
to
us
about
the
work
he's
been
doing
with
esx
modules
and
how
they
work
with
why
modules
and
some
of
the
conversion
stuff
he's
working
on.
So
I'm
going
to
pass
the
baton
to
simon,
welcome
simon.
B
Okay,
cool,
thank
you
yeah,
so
I
think
late
last
year,
support
for
your
six
modules
landed
in
yui
and-
and
we
picked
up
some
of
that
stuff
at
swipely
warework
and
started
converting
some
new
stuff
we've
been
doing
early
this
year
with
the
help
of
the
square
transpiler
and
and
just
a
few
versions
ago,
I
think
yui
dot
require
landed,
which
means
we
we
can
do
some
better
stuff
in
our
instead
of
our
yyu
statement,
but
but
I
can
show
some
some
of
that
stuff
up
off.
B
If
you
like,
I'm,
not
sure
exactly
how
the
format
you
like
this
to
go
at,
but
I
have
a
little
gist.
I
can
show.
A
B
Okay,
so
just
yeah
kind
of
puts
these
in
a
weird
order
that
not
the
order
that
you
create
them
in,
but
that's
weird
anyway.
So
this
is
an
example
of
a
good
old
school
yui
model,
a
simple
module
that
uses
another
module
called
my
other
model,
there's
a
comma
missing
there,
but
you
get
the
gist
and
es6
module
that
this.
This
module
in
es6
would
look
like
this.
Instead.
B
So
it's
very
very
similar,
but
it
doesn't
use
yui
ad,
obviously,
and
it
has
dependencies
in
using
these
imports
thing
I
don't
know,
do
you
guys
want
to
do
like
a
full
introduction
to
es6
modules.
C
Before
but
but
we
can
talk
about
like
the
yeah,
the
parts
that
are
interesting
here
I
mean
one.
One
question
I
have
off
the
bat
is:
can
you
actually
do
a
import
base
like
that
with
no
binding?
Does
that
work.
B
Yeah,
okay,
so
yes,
you
can
that
that
totally
works,
so
so
this
module
will
transpile
into
this.
D
E
B
Exactly
which
is
yeah
kind
of
annoying
but
I'll
get
into
that
more
so
anyway.
This
is
how
it
turns
piles
and
obviously
there's
the
imp,
ports
and
the
exports
object,
and
I
put
this
on
the
default.
So
so
that's
where
that
is.
C
Isn't
there
a
bug
here
online
17.
B
B
Already
have
them
available,
no
just
just
like
not
assigning
base
to
anything,
because
because
there's
no
export
because
importing
base
or
requiring
base
in
the
yui
world
would
will
put
based
on.
Why.
C
Right,
so
if
you
do
like
import
and
then
you
do
the
the
like
named
exports,
where
you
do
like
import
curly's
base
from
base,
it
will
actually
create
the
right
binding
for
that
that
value
base
will
will
equal
y
dot
base,
essentially
it'll,
be
just
like
doing
var
base
equals
y
dot
base.
I.
B
See
so,
okay,
so,
okay,
so
how
does
that
work?
Do
they
do
every
yui
module
now
export
stuff?
That's,
but
just
not
on
the
default
key.
No.
D
D
I
think
it
works
because
we
kind
of
made
it
made
it
work,
but
I
think
your
ways
is
a
bit
more
correct
in
the
in
the
sense
that
you
don't
expect
it
to
be
a
named
export.
You
just
assume
it's
in
the
y
yeah,
okay,
exactly
and
as
as
we
live
in
this
like
middle
ground
between
yui
and
es6
modules.
I
think
it's
the
right
way
to
go.
C
You're
on
irc
right
simon,
yes,
here
I'll
paste
in
why
the
yui
channel
something
you
can
open.
If
you
want
to
click
on
that
tab,
it's
what
I
was
so
see
at
the
top
there,
okay
and
then,
and
then
you
you
can
see
it
used
on
line
five
there
right-
and
in
this
case
I'm
I'm
using
base
dot
build
because
I
know
I
want
the
create
function
off
of
the
base
module.
C
B
Cool
cool
yeah,
I
mean
this
sure
it's
a
hack,
but
it
still
kind
of
looks
like
you're
just
writing
es6
code.
So
that's
good
yeah.
B
Right,
sorry,
that's
the
one
I'm
in
yeah
we're
using
that
too.
A
Yeah
they're
joking
on
irc
that
they're
assignment
to
do
all
the
transferring
by
hand.
B
Yeah,
so
we
have,
we
have
a
lot
of
modules
and
before
you
get
too
far,
can
you
tell
us
a
little
bit
about
what.
A
B
Right
so
I
work
for
swipely
swipely
is
we
process
payments
for
restaurants
and
and
smaller
brick
and
mortar
shops
or
medium-sized
brick-and-mortar
shops,
and
provide
a
bunch
of
analytics
for
them?
We
kind
of
like
provide
e-commerce
analytics
type
things
for
for
a
brick
and
mortar
thing.
Payment
processing
give
give
the
the
customers
our
merchants
a
very
good
insight
into
to
how
to
run
their
business
and
how
to
improve
so
so
that
is
the
portal
they
have.
B
We
call
the
portal
is
a
single
page
application
using
yoi
we're
also
using
some
some
react
yeah
we
just
started
using
es6,
so
we
have
it's.
It's
fairly
large
we've
been
working
on
it
for
a
few
years
now,
and
I
think
when
I
tweeted
this
originally,
I
said
we
had
535
modules,
which
probably
is
those
correct
or
thereabouts
and
yeah.
I
basically
had
to
change
by
hand
all
those
modules
to
this
from
this
to
to
year
6
and
it
took
a
while,
but
was
totally
worth
it.
B
And
one
of
the
biggest
gotchas
when
doing
that
was
if
you
have
like
two
three
modules
and
module
a
requires:
module
b
and
module
c
uses
module
b,
but
doesn't
explicitly
require
it
because
module
a
is,
requiring
module
b
b
is
over
also
available
to
c,
because
it's
attached
to
the
y
object
so
figuring
out
places
where
we
missed.
B
Adding
a
require
statement
was
a
mess
and-
and
you
can't
obviously,
you
obviously
can't
get
into
that
pitfall
with
es6
modules
because
of
the
very
explicit
imports.
B
That's
the
only
way
that
that
the
module
will
work
because
they're
on
the
imports
object.
As
far
as
I
know,
or
is
the
import
also
global.
C
Well,
no,
I
I
just
meant
like
so
so.
A
cool
thing
I've
been
seeing
is
some
there's
been
some
people
writing
build
tool,
wrappers
that
that
will
analyze
your
modules
using
like
esprima,
which
is,
I
believe,
what
the
square
transpiler
is
currently
using
to
understand
what
all
the
imports
are
and
but
then
look
at
your
entire
set
of
modules
that
you're
compiling
and
make
sure
there's
something
that
exports
those
those
things.
C
Basically
the
graph
and
actually
one
has
been
working
on
something
similar
to
generate
a
graph
of
all
the
imports
and
exports
which
then
you
can
go
through
and
do
like
a
verification,
step
and
just
flag
like
even
at
build
time.
Saying
oh
there's
going
to
be
a
problem
in
this
module
you're
asking
for
something
that
it
doesn't
export.
You
know
those
kind
of
things.
B
Right,
yeah,
we
we
don't
do
any
of
that.
We
don't
catch
stuff
that
hasn't
been
exported,
but
because
I
think
we're
running
it
through
a
normal
esx
transpiler
as
meaning
arrow
functions
and
block
scoping
and
all
that
stuff.
We
are
catching.
B
Errors
where
we
we've,
we
try
to
to
call
a
variable
that
doesn't
exist.
So
if
we,
if
line
two
didn't
exist
in
this
file,
our
transpilation
step
would
fail.
Yeah,
that's
true,
but
no,
we
don't
have
anything
for
for
recognizing
if
all
files
have
a
correct
export,
but.
F
That's
a
cool
idea
yeah,
although
I
think
to
be
able
to
use
such
tools
to
do
that,
verification,
probably
you
will
have
to
use
relative
path
or
something
to
differentiate
modules
that
are
coming
from
yui
from
modules
that
are
coming
from
your
application.
That
would
be
tricky.
So
I
wonder
what
on
line
number
four
on
that
file
that
you
have
up
and
there
normally
what?
What
you're?
Assuming
that,
why
it's
going
to
be
there
and
it
is
going
to
be
there,
you
compile
to
yui,
but
it's
not
going
to
be
there.
F
F
C
Cool
so
when
I
just
have
a
quick
question
when
you
went
through
and
did
500
modules
by
hand
which
it
seems
like
you,
maybe
should
have
gotten
an
intern
to
do
or
something
but
no
kidding
aside,
did
you
recognize
any
any
sort
of
common
patterns
where
you
could
almost
imagine
a
tool
going
through
and
doing
that
because
one
interesting
tool,
I
don't
know
if
you're
familiar
with
that
facebook
has
been
bennett.
C
Facebook
has
been
working
on
his
recast,
which
which
I'm
wondering
if
it
could
have
been
used
for
this
sort
of
thing,
because
it
would
be
great
if
there
is
a
pattern
that
we
could
write
like
a
recap,
recast,
script
for
and
then
help
other
people
transfer
their
modules
over
like
you
did,
but
not
have
to
do
it
manually.
B
Right,
I
I
haven't
looked
at
recast,
but
that
definitely
seems
possible.
I
just
had
a
bunch
of
macros
that
I
ran
through
my
files.
B
But
but
yeah
I
mean
we
have
a
bunch
of
places
where
we
like
differ
slightly
in
syntax
from
others
like.
Sometimes
we,
instead
of
having
assigning
my
model
to
a
variable
here,
we
assign
it
directly
to
y
dot
my
model,
like
there's
a
bunch
of
bunch
of
variations
that
are
possible.
That
makes
it
a
little
bit
more
challenging
to
write
something
that
that
converts.
It.
B
Well,
okay,
so
that's
a
great
question.
I
think
I
think,
moving
to
es6
modules
right
now
is
a
no-brainer
for
for
any
application
that
there's
no
doubt
that
this
in
some
way
or
another,
will
be
in
the
in
the
language
natively,
and
there
are
tools
now
that
enables
us
to
to
get
started
right
away
so
yeah
we
just
felt
like
okay,
this
is
cool.
Let's
just
jump
on
board.
B
No,
no,
no,
but
the
the
irony
is
that
I
converted
yui
modules,
two
years
six
modules
and
then
through
my
transpiler,
are
converted
back
to
ioi
modules
right,
but.
E
F
A
So
that
reminds
me
of
there's
a
site
where
you
can
take
movies
and
translate
them
into
like
japanese
and
translate
them
back
into
english.
And
the
words
will
be
all
wrong.
F
Does
it
work?
Okay,
yeah?
I
was
saying
that
well,
obviously,
you
are
now
in
a
much
better
position
because
you
happen
to
use
some
pieces
from
yui,
but
your
entire
application
is
now
yui
specific.
You
can
compile
in
the
future
to
something
else.
You
have
replacement
for
those
bits
from
yui
you
you
will
be
able
to
to
to
produce
an
application
that
is
not
tied
to
you
at
all.
B
Yeah,
definitely
definitely
I
mean
the
the
intention
of
this
was
not
to
get
rid
of
yui,
but
it
is,
is
now
possible
to
yeah
whatever
happens
with
that
yui
down
the
future.
We're
safeguarded
against
that.
If
we
need
to.
C
C
B
So
I
built
this
module.
Sorry,
this
grunt
con
grunt
plugin
last
year,
which
we're
still
using,
which
just
looks
at
at
at
your
entire
dependency
chart
and
makes
a
a
config
file
from
that,
and
we
had.
We
had
to
do
no
changes
to
that
as
we.
F
Yeah
because
because
you
are,
you
are
collecting
that
info
from
the
build
files
like
the
result
exactly
exactly.
Eventually,
you
might
want
to
use
the
source
code,
the
es
es6
modules,
rather
than
using
the
output
of
it
like
collecting
the
graph
from
the
actual
source
code.
D
B
B
Right
so
it
it
loads
up
all
your
files,
it
kind
of
hacks
in
node
with
the
require
function
and
adds
a
global
yui
object
so
that
the
grunt
plugin
listens
for
yoy
ad
calls
snips
the
the
contents
of
the
module,
and
then
yeah
puts
them
in
in
a
large.
D
Right,
so
the
idea
is
that
in
you
may
not
want
to
do
that
in
case
yeah
in
the
future.
You
stop
compiling
to
yy
because
you
may
compile
to.
I
don't
know
if,
if
you
write
like,
if
you
write
modules
that
you
want
to
share
with
them
server,
you
may
want
to
compile
to
node
modules.
B
C
How
long
does
this
take
to
run
on
on
your
code
base
with
500
modules.
B
So
not
long,
I
can
time
it,
but
this
also,
this
also
compiles
handlebar
templates
and
it
does
less
so
yeah
4.2
seconds
or
three
yeah
four
seconds.
F
F
The
one
of
the
reasons
why
using
the
destination
is
is
good
because
you
can
gather
files
from
different
places
and
do
build
process
to
put
them
all
into
the
same
folder
and
then
analyze
the
folder
and
get
the
graph
for
the
folder.
That's
that's
probably
one
of
the
good
reasons
of
doing
that,
but
in
the
future
we
might
want
to
use
the
source
for
for
different
reasons,
including
the
one
that
one
mentioned.
F
But
but
since
we
don't
have
the
tooling
yet
eventually
we'll
have
more
tools,
it
will
be
probably
easier
to
do
it
at
the
source
level,
especially
because
because
we
want
to
also
support
something
that
we
don't
have
in
yui
today,
which
is
relative
path
and
more
complex
structures,
not
just
folders
and
and
and
module
names.
F
B
We
do
that
a
little
bit
different.
We
we
always
just
have
unminified
files
and
minification
and
is
is
a
byproduct
of
deployment
to
production,
simple
as
that,
so
that
is
not
in
our
repository
at
all
and
and
the
grunt
yoi
config
module
just
runs
on
the
minifi
files.
Instead,
okay,
deploy.
C
So
one
other
just
one
other
point
about
this-
is
that,
with
with
the
way
that
that
you're
doing
this
and
the
way
that
you've
done
this
in
the
past-
and
I
know
like
pat
cabot,
I
believe,
has
something
similar
it.
You
have
to
execute
all
of
the
code
to
do
this,
like
you
actually
have
to
run
it
to
run
through
all
the
functions
of
the
yui
add
calls,
whereas,
with
the
doing
it.
B
C
Sure,
but
I
guess
what
you
have
to
do
is
actually
execute
the
yui
ad
call,
whereas
with
the
es6
modules
you
just
have
to
parse
them,
you
don't
actually
have
to
run
any
code,
which
is
which
should
in
theory,
be
be
faster.
Maybe
because,
like
the
parse
step
should
be
you'd
have
to
happen
in
v8,
just
like
it's
going
to
have
to
happen,
and
yes,
prima
or
whatever,
assuming
v8s,
is
probably
faster,
but
but
but
then
you
have
to
do
this
additional
thing
of
executing.
So
that's
another
thing.
C
I
guess
that
of
the
static
analysis.
Aspect
of
the
es6
modules
is
a
nice
benefit
that
we,
you
know.
Eventually,
all
the
tools
can
start
leveraging
better
like
js
hint
could
tell
you,
in
your
editor,
like
oh
you're,
trying
to
import
something
that
a
name
that
this
other
module
that
you're
trying
to
bring
it
in
from,
doesn't
actually
export
it.
And
then
you
can.
You
know,
imagine
that
happening
at
some
point.
D
Right
so
yeah,
it
should
be
fast
enough
for
something
like
jslin
to
to
do,
but
but
but
also
like
in
the
case
that
I
was
just
saying.
If
you're
compiling
to
come
on
js,
then
there's
no
callback
there
and
you
can't
actually
run
anything
without
running
the
code
which
may
have
some
implications
so
yeah.
So.
F
You
do
you
do
right.
You
can
always
create
a
context
and
execute
in
that
context,
which
is
what
we
do
by
the
way
in
yeah
or
stuff
yeah,
but
but
yeah.
I
think
point
I
can
put
point
take
it
that
in
the
future
we
might
want
to
use
the
source
and
add
more
things
like
code
code,
decode,
elimination
and
crazy
stuff
that
we
can
do
later
on
with
the
statical
verifiable
files
that
you
will
have.
D
So
so
yeah
same,
and
this
is
something
that
I
wrote
based
on
a
parser
that
just
you
know,
takes
source
code
and
gives
you
back
all
the
lists
of
imports
and
exports
of
your
module
and
there's
also
like
a
matching
grand
task
and.
C
D
D
D
Yeah,
we
just
need
to
open
source
it.
I'm
hoping.
H
C
Yeah
we
just
wanted
to
get
it.
The
the
data
structure
finalized
is
the
main
thing
before
we
we
open
source,
but
it's
a
small
enough
thing,
but
that
that
it
shouldn't
be
too
long
until
we
can
actually
get
it
out
there.
A
B
Yeah
yeah
so
well,
so
I
guess
this
is
a
question
for
the
room,
not
just
es6
modules,
but
also
u6
in
general.
I
know
you
guys
had
some
thoughts
on
this
already
at
yoiconf,
but
I'd
love
to
hear
about
how
that
has
that
might
have
evolved.
C
Yes,
so
the
let's
see
so
the
the
module
system
is,
is
the
biggest
one.
Really.
What
we
want
to
do
is
start
trying
to
break
down
this.
C
This,
like
walled
garden,
essentially
that
that
yui
really
is
it's
forces
people
into
in
a
way
and
and
really
try
to
open
it
up,
so
that
code
written
as
es6
modules
can
be
easily
used
within
yui,
and
this
is
the
whole
in
understanding
imports
explicit
imports,
explicit
exports
having
the
require,
which
is
somewhat
similar
to
like
what
will
eventually
be
system.import
in
in
browsers
and
and
and
really
getting
getting
to
that
point
and
then
in
terms
of
leveraging
other
es6
features.
I
I
think
what
we'll
look?
C
What
I
don't
imagine
is
us
like.
If
we
were
to
go
through
and
rewrite
all
of
our
all
the
yui
modules,
we
probably
try
to
use
some
tool
to
do
it
just
because
then
we
would
try
to
work
on
something
that
then
other
people
can
use.
So
we
would
spend
probably
way
more
time
than
you
did
trying
to
get
the
tool
to
work
where
we
could
just
go
through
our
like
100
modules
or
whatever
by
hand
and
do
it
quicker.
C
But
but
that
way,
then
it
can
scale
out
to
other
teams
being
able
to
use.
So
I
think
we
would
want
to
look
at
things
like
that
if
we
were
to
convert
code
over
but
then
in
terms
of
leveraging
a
lot
of
the
new
features,
the
one
thing
that
we're
probably
not
going
to
be
switching
yui
to
to
doing
all
that.
C
But
what
we
do
want
to
do
is
make
sure
that
if
you're
running
a
yui
application
that
you
can
load
in
polyfills
and
these
sorts
of
things
like
vote
in
like
we
already
have
promise
built
in
but
like
if
somebody
wanted
to
have
a
polyfill
for
other
es6
features
or
even
es5
polyfills
within
their
application,
we
want
to
make
the
yui
loader
be
be
better
suited
for
doing
that
right.
C
Now
it's
it's
not
as
good
as
it
can
be,
and-
and
we
want
to
make
it
better
in
that
regard,
but
then
also
trying
to
I
guess
another
model
related
thing:
we're
we're
trying
to
figure
out
the
best
way
to
support,
not
maybe
not
having
to
generate
this
yui
configuration,
but
for
it
to
be
automatically
figured
out
based
on
like,
like
your
modules,
can
be
paths
or
something
is
one
thing
we've
been
talking
about.
C
I
forget
if
we
figured
out
if
there's
a
roadblock
for
that
or
not
but
yeah,
so
so
stuff
like
that
is,
is
really
what
we're
we're
thinking
and
then
one
one
of
the
things
that
we've
we've
realized
from
yui.
That
I
think
we
want
to
move
past
and
other
code
that
we're
working
on
other
libraries
is
to
embrace
more
using
polyfills
and
using
standard,
built-ins
and
polyfilling
them.
If
they
don't
exist,
then
creating
these
wrapping
apis,
like
we
have
like
wide
out
array
dot
each
and
the
problem
is,
is
once
you
have
code.
C
That
starts
depending
on
that.
You
have
this
like
hard
dependency
on
all
of
all
of
yui,
and-
and
you
see
this
happening
in
like
in
the
node
community,
with
underscore
low
dash
where
people
are
just
wanting
to
use
like
a
merge
function
and
they
they
pull
in
all
of
low
dash.
Well,
there's
going
to
be
object
out
of
sign
or
merge,
or
what
is
it?
What
is
the
standard
thing
that
it's
called
extend
a
sign
so
far?
I
think
yeah
and
so
object.
C
Got
assigned,
will
be
there
in
in
es6,
where
like
low
dash,
has
extend,
yui
is
merge
and,
and
the
problem
is
is
like,
you
have
to
then
depend
on
those
whole
libraries,
I
guess
in
low
dash's
case,
they
broke
it
out
into
separate
modules,
but
but
in
underscore
skates
you
have
to
depend
on
this
whole
library
and
yui
is
even
you're
depending
on
more
code.
C
So
we
really
want
to
embrace
this
idea
of
polyfills
a
lot
more
because
we
and
would
like
to
make
it
possible,
where,
like
your
guys's
code,
could
be
using
the
native
built-in
for
each
methods
on
array
or
map
reduce
these
kind
of
built-ins
that
that
you
want
to
be
using
and
and
then
for,
and
then
you
could
load
polyfills
into
your
application.
C
If
you
care
about
non-es5
browsers,
for
instance,
would
be
one
thing
and
and
that
way
you
start
removing
these
like
very
basic
dependencies,
that
you
have
on
yui
start
using
more
of
the
bigger
stuff.
But
then,
like
maybe
class
syntax
comes
around
and
you're
realizing
that
you're
really
just
using
maybe
bass,
because
you
want
to
write
classes
in
a
slightly
more
convenient
way.
But
maybe
you
want.
C
Question
yeah,
but
in
terms
of
like
us,
going
through
all
the
yui
code
and
rewriting
it
all
to
do
that,
I
don't
think
that
there
will
be
like
that
big
of
a
win
of
doing
that.
I
think
what
what's
more
important
is
for
application
code.
That
depends
on
yui
to
be
doing
that
kind
of
work
and
rewriting
work
like
you're.
C
Doing
with
modules,
I
think,
is
a
perfect
example
of
something
that
makes
a
lot
of
sense
for
you
guys
to
do
where
it
doesn't
really
help
iui
that
much
because
we're
just
going
to
transpile
back
to
yui
modules
unless
it
starts
to
become
the
case
that
a
lot
of
code
wants
to
to
use
parts
of
yui
as
es6
modules
or
something
we
could
look
at
that.
C
But
you
know
we
have
all
this
backwards
compatibility
to
maintain,
and
that's
one
of
the
biggest
things
is
that
that
really
prevents
us
from
doing
too
much
radical
things
with
the
library
without
going
to
like
yui,
4
or
something
so
so
I
think
that
that's
kind
of
the
way-
at
least
I
see
I
don't
know
if
anyone
else
in
the
in
the
room.
A
B
Yeah,
so
I
think
that
ties
well
well
into
were
you
alluding
to
eric
about
classes
in
year,
6
and
object.observe
and
and
what
that
means
for?
Why
base
and
the
event
system
yeah,
I
mean
what's
that,
as
a
user
of
the
library,
not
maybe
not
sure,.
C
Yeah
and-
and
I
think
that
that's
we
we
should-
we
should
see
that
as
like
austin
other
people
who
are
writing
javascript
libraries
is
see
that
as
a
success
when
all
of
a
sudden,
these
things
are
built
into
the
browser
that
that
means
that
they,
you
know
they're
being
standardized
which
is
which
is
good,
like
everybody
takes
their
their
crack
at
it
and
then
hopefully,
the
the
the
process
of
all
the
developers
trying
that
and
working
as
a
community
and
eventually
those
things
becoming
standards,
sort
of
the
the
best.
C
The
best
features
and
the
most
compatible
thing
with
the
existing
language
features
ends
up
winning
and
making
it
in
or
in
some
cases
like
you
know,
browser
vendor
companies
have
have
agendas
that
they
push
and
comes
in,
but
but
yeah
I
mean
I.
C
I
think
that
that's
that's
a
good
thing
and,
and
the
standardization
process
causes
like
a
lot
of
these
compatibility,
interoperability,
things
to
be
figured
out,
and
that's
really
what
what
I
think
we
would
want
to
encourage
people
to
do
and
try
to
make
sure
yui
can
help
with
making
sure
that
people's
application
code
bases
are
very
interoperable.
So
when
you
choose
yui
is
sort
of
the
main
thing
you're
you're,
building
your
application
around,
because
you
like
the
loader
you
like
having
modules
you
like
all
the
other,
tooling
and
documentation
stuff.
C
Yeah,
that's
that's
kind
of
what
I
mean
it's
it's
tbd
at
this
point,
but
but
that
that
seems
like
the
path.
A
lot
of
the
path
forward
is
to
instead
of
new
features
being
added
as
globals
or
on
the
global
object
that
they'll
become
modules
themselves.
So,
if
you
want
to,
you
know,
use
some
new
feature
like
big
num
or
any
any
of
these
kind
of
other
things
you
could
expect
being
added
under
modules.
You
would
just
import
them
in
your
code
and
so
so
yeah.
That's
that's!
C
A
Atmosphere-
I
know
you
mentioned
before
eric:
do
you
want
to
talk
about
like
the
how
this
is
affecting,
like
the
node.js
side
of
things.
C
C
Okay,
well
in
terms
of
the
the
node
stuff,
I
mean
they
they
they
are
also
going
to
be
dealing
with
this
backwards.
Compatibility
thing
so
require
a
node.
It
seems
like
it's
going
to
be
sticking
around,
that
it's
unlikely
that
they
can
get
rid
of
that
they.
It
would
be
probably
the
demise
of
the
entire
project
or
platform
that
they
did
so
they
would
have
to
maintain
it
in
some
fashion.
C
But
what
would
be
great
is
that
that
was
implemented
on
top
of
of
es6
modules
or
those
were
at
the
core,
and
there
may
be
some
new
api
for
interacting
with
things
that
way
and
that,
and
that
would
be
almost
really
similar
to
like
what
we're
doing
in
yui.
Is
you
know
you
can,
but
they
would
be
able
to
make
it
just
work.
C
I
think
without
a
transpilation
step,
since
v8
would
support
the
modules
natively
and
they
could
maybe
hook
into
that
at
a
lower
level
to
be
able
to
pull
that
off,
but,
but
I
think
we'll
see,
I
think
we
want
to
keep
get,
get
them
engaged
in
the
discussion
more
and
and
really
see
where
things
are
at,
because
the
one
thing
I
want
to
see
is
that
node.js
maintains
itself
as
an
ecmascript,
runtime
and
and
not
pick
and
choose
features
and
start
to
become
a
divergent
thing
from
what
all
the
other
runtimes
are
going
to
do.
C
So
that's
pretty
important,
I
think,
for
the
longevity
of
node
for
that
to
be
the
case,
because
the
language
is
going
to
be
changing
a
lot
in
es6
and
es7
once
all
these
features
are
implemented
and
for
node
to
not
have
those.
Now
it's
going
to
feel
like
you
know
the
ie
of
javascript
development
or
you
can't
use
all
the
new
shiny
and
fancy
things
and
solve
the
problems.
The
way
that
you
do
in
the
other
runtimes
right.
It's
usually
the
reverse.
C
Now,
where
it's
really
nice,
that
hey
you
can
assume
that
it's
only
is
every
every
node
process
is
an
es5
runtime.
So
that's
great!
You
have
to
worry
about
silly
things
like
not
being
able
to
loop
over
arrays
before
each
and
just
very
basic
things
that
you
can't
do
in
the
browser
if
you
care
about
old
ie.
So
that's
one
thing
that
I
that
I
hope
to
see.
C
Although
you
know
I
think,
just
trying
to
keep
having
conversations
with
them
and
getting
them
involved
and
making
sure
that
that,
but
I
think
there's
enough
people
now
who
care
about
both
sides,
node.js
and
es6,
that
will
you
know,
make
it
happen.
So.
F
Users
will
all
developers
will
start
using
something
like
system.import
and
they
will
be
able
to
import
esx
modules
natively
if
it's
supported
by
eba
directly,
but
then
having
a
a
system.info.
That
also
knows
how
to
recognize
that
this
module
is
really
not
a
yes
motor,
but
a
legacy
come
on
js
module
and
go
and
get
it
for
you
and
support
that
interoperability
between
them.
But
we'll
see
what
happens
in
the
future.
F
The
other
way
around
is
going
to
be
pretty
messy,
because
we
we
have
tried
with
the
transpilers
and
all
that
it
is
going
to
be
messy,
so
hopefully
that
that
will
be
the
way
like
just
people
relying
on
system
import,
just
in
the
same
way
that
they
will
do
it
on
the
on
the
browser
using
system
import
as
well
pause.
It.
A
B
Yeah,
like
I
said,
the
biggest
problem
we
really
ran
into
was
places
where
we
did
not
explicitly
have
requires
in
place,
because
we
simply
forgot
them
and
the
system
worked
because
some
other
module
required
them.
So
that
was
a
very
big
gotcha
for
us
that
yeah
provided
a
bunch
of
problems
yeah
other
than
that
it
was
just
mainly
just
a
lot
of
manual
work,
just
kind
of
just
converting
things.
Luckily,
we
had
all
our
modules
were
were
named
as
the
folder
structure,
but
using
colons
instead
of
slashes.
B
I
think
the
version
we
picked
up
when
we
started
using
yui
didn't
support
slashes
in
the
module
name.
So
that's
why
he
had
colons.
So
a
lot
of
work
was
just
replacing
that
with
slashes,
so
that
was
simple
instead
of
having
to
like
figure
out
exactly
to
convert
like
a
very
simple
module
name
to
a
full
path,
and
I
think
the
file
path
is
what
the
es6
module
transpiler
does
by
default.
I
think
you
can
supply
it
an
actual
name,
but
I
haven't
looked
into
that.
F
Yeah,
you
are
way
better
at
this
point,
because
now
you
can
start
using
recast
to
continue
modifying
those
those
modules
and
make
them
to
use
new
features
and
potentially,
like
eric
said,
like
the
classes
and
stuff
like
that,
you
can
now
start
using
recast,
because
you
are
now
just
a
yes
module
and
that
would
be.
That
would
be
pretty
easy.
I
guess.
B
Right
we're
using
another
es6
transpiler
to
get
like
arrow
functions
and
classes.
I
think
it's
just
called
esx
transpiler
by
termi
or
something
which
does
need
a
small
es6
shim.
But
it's
it's
it's
a
very
low
footprint
compared
to
tracer,
which
is
a
crazy
undertaking.
Yeah.
F
You
can
do
whatever
you
want
there,
but
but
I
mean
like
what
I'm
trying
to
say.
The
the
big
overhead
here
is
for
people
to
trans
to
to
go
and
change
all
the
source
to
get
into
the
state
where
they
can
have
es
modules
working
and
then
from
there.
It's
going
to
be
easy
for
everyone
to
just
simply
evolve
that
code
over
time
with
tools
and
and
things
like
recast.
B
Definitely-
and
I
think
I
think
I
think
the
path
to
that
is
very
simple:
it
is
just
a
matter
of
rewriting
some
files
and
and
yy
works
out
of
the
box
with
this
now
so
so
that's
that's
great.
I
mean
yeah,
it's
boring
work,
but
it
it
is
simple.
C
Yeah,
that's
a
that's
why
I
think
it
that's.
I
was
curious
if
you
saw
like
a
lot
of
clear
patterns
that
came
out
of
at
least
your
source
code,
and
then
it's
interesting
to
hear
where
a
few
of
the
gotchas
were,
because
I
think
that
that
that
would
be
something
that
we
would
probably
you
know
we
could
invest
in
on
on.
Our
team
would
be
to
to
come
up
with
the
like
recast
script,
that
that
could
do
this
sort
of
thing
for
everybody
and
do
it
in
a
couple
of
seconds.
C
So
so
it
would
be
a
pretty
fun
fun
thing
to
work
on.
I
think,
and
and
then
we
could
have
maybe
have
that
commit
to
the
library
where
we
convert
everything
to
es6
modules,
but.
B
B
We're
not
using
that
either
now
for
the
event
stuff.
We
still
just
use
yui.
B
It
feels
awesome,
I
think
it's
it
took
a
while
to
just
get
rid
of
the
to
get
out
of
the
mindset
of
the
bars
at
the
top
of
your
file
or
top
of
your
function,
but
but
yeah.
Now
it's
just
natural
and
we
use
cons
way
more
than
we
use
lead.
Actually,
we
kind
of
use
cons,
that's
a
way
to
indicate
that
this
variable
is
immutable
or
whatever,
even
though
that's
not
true,
but
yeah.
F
Yeah
I
want
to,
I
wonder
if
we
shall
look
into
es
classes
and
and
how
they
can
somehow
work
with
yui
classes
and
and
at
least
provide
some
sort
of
guidance
on
that,
since
the
only
difference
in
between
is
the
mixes.
H
C
Yeah
and
and
charity,
in
terms
of
your
your
question
about
the
the
classes,
I
think
that
they'll
probably
be
a
little
further
off
like
I
don't
know,
if
you
remember
at
the
last
just
a
39
meeting,
you're
just
talking
about
decorators
and
and
that
I
think,
will
be
kind
of
the
required
thing.
You
would
need
to
really
have
this
sort
of
hooks
and
feature
fidelity,
or
at
least
like
the
the
look
of
the
source
code,
that
somebody's
typing
can
match
better.
D
Yeah
yeah,
I
think
the
grayers
would
work
for
stuff
like
y
dot
attribute
but
like
assuming,
you
have
wider
attribute
if
you
wanted
to
use
class
syntax,
while
still
using
the
get
and
set
methods.
The
big
biggest
problem
is
still
like
already
set
like
bass.create,
and
I
think
he's
writing
that.
Maybe
we
can
get
away
with
a
way
of
using
es6
classes
to
generate
something
that
at
least
behaves
similar
to
basic,
create.
B
Yeah
sure
so
I
I
think
I
I
think,
there's
there's
no
reason
not
to
use
es6
modules
in
in
both
yui,
but
also,
if
you're,
if
you're
starting
some
new
library
that
you
want
to
open
source.
Like
you
see
it's
very
common
to
see
underscore,
for
instance,
exporting
two
different
module
systems
in
the
bottom
of
their
file,
and
I
see
no
reason
why
not
cutting
that
and
just
using
year
six
and
let
the
developer
transpile
to
his
or
her
module
system
directly.
A
Yep
plus,
who
knows
what
kind
of
like
new
ides
and
things
like
that
that
are
coming
out
that'll,
take
advantage
of
this.
H
You
mentioned
that
because
that's
something
you
can.
C
I
told
juan
that
I
was
working
on
doing
one
tweaking
piers
website,
which
all
the
client
side
javascript
is
now
as
es6
modules
that
compile
the
yui,
but
we're
still
maintaining
a
hand
maintained
file
that
represents
a
dependency
graph
so
that
that
can
be
provided
to
the
on
the
browser
side
to
do
combo,
loading
and-
and
I
told
one
that
I
we
need-
is
this
modulograph
thing
out
there,
because
it's
the
last
time
I
want
to
hand,
modify
a
yui
config
file
like
this
and
have
it
be
generated
for
me,
based
on
my
imports
and
exports.
C
A
D
Yeah
yeah-
hopefully
hopefully
you
know,
editors
will
give
you
that
information,
but
on
the
other
hand
it's
like
our
the
always
the
most
complete
editor
for
js
development
would
always
be
the
browser
right.
D
D
H
A
Simon,
we
appreciate
you
coming
today
and
what
time
is
it
there
by
the
way.
B
C
Cool
you're,
just
like
like
30
miles
south
of
me,
or
something
yeah
or.
A
Less
yeah!
Well
thanks
so
much
for
coming
today
and
keep
up
the
great
work,
and
let
us
know
if
you
have
anything
else
that
you
want
to
demo
or
show
off
in
the
future
I'll
be
happy
to
host
you
here
again.