►
From YouTube: PWA Studio Community Meeting 20 March, 2020
Description
CI Build Updates, PWA Studio Tutorials, and early demo for i18n solution
A
B
A
We
have
a
few
kind
of
light
topics,
I
think
from
the
team
on
our
side
at
before.
We
turn
it
over
to
community
corner
with
Jordan
who's,
gonna,
intro
Chris
and
the
team
from
absolute
net
/
doing
some
great
work
around
internationalization,
which
I
and
there
was
a
hot
topic
for
the
community.
So
let's
just
get
things
started
today,
then,
if
you
want
to
kick
us
off
with
your
demo
for
some
of
the
work
you've
done
for
CI,
yeah
sure.
C
Okay,
so
I
have
quick
update
on
CI
builds,
which
we
run
as
part
of
or
like
a
build
process.
So
for
there
are
some
like
security
reasons
and
because
of
which
we
need
to
implement
some
extra
checks.
So
the
current
flow
is
like
as
soon
as
a
community
member
creates
a
PR.
All
our
CI
builds
I
each
to
run,
but
as
part
of
change.
So,
if
you
create
a
PR,
the
builds
will
currently
like
fail
at
first
and
one
up
like
internal
team
members,
or
they
leave
some
time
like
once.
C
C
A
Thanks,
Deb,
okay,
so
yeah,
it's
definitely
great
so
obviously
for
community
members
who
have
been
contributing
PRS.
We
are
very
thankful
for
those
will
go
through
the
process
to
make
sure
that
they
are
reviewed,
that
that
label
gets
add
by
added
by
a
core
team
member
community
maintainer
right
and
for
you
know,
the
build
process
that
used
to
kick
off
will
kick
off
now.
So
I
think
it's
a
pretty
good
addition
to
the
project,
especially
given
our
new
focus
on
driving
some
community
community
additional
community
engagement
contribution
right
all.
B
A
E
E
So
for
docs
we
have
some
new
tutorials.
You
can
find
them
here
in
the
PWA
studio
fundamentals
section
this
one
has
contributed
by
community
members,
Ross
MC.
He
actually
approached
me
and
asked
if
he
could
contribute
all
these
topics
to
Peter
really
studio.
Docs
and
I
said
yes,
and
so
we
submitted
a
bunch
of
drafts
for
me
to
look
at
and
I've
been
working
through
them
and
getting
them
published.
A
Yeah-
and
this
is
thanks
thanks
James,
so
it's
definitely
something
that
we
see
come
up
pretty
often
and
in
the
community
slack,
which
is
that
I
think
that
both
I
receive
mr.
Sandow.
You
get
a
lot
of
questions
around
it,
so
these
tutorials
are
pretty
huge
and
will
continue
to
iterate
on
and
prove
them
right,
but
just
giving
people
a
better
starting
place
and
kind
of
better
handhold
on
getting
started
with
the
project.
Using
scaffolding,
which
is
obviously
newer,
I
think
these
tutorials
are
gonna,
be
pretty
huge
as
we
continue
to
build
on
so
yeah.
E
E
H
I
Yeah,
we
need
a
graphic
for
this.
I'm
gonna
make
any
yeah
yes.
So,
as
you
guys
all
know,
translations
is
something
that's
popping
up
every
now
and
then
on
the
tear
abort
or
they
get
reports,
but
also
on
slack,
and
it
turns
out
that
a
community
member
called
Chris
from
absolute
net
has
actually
been
working
on,
something
which
is
going
to
demo
and
if
Chris
is
actually
here,
I
don't
see.
J
It's
perfectly
saying
vs
code
and
then
yeah
all
right,
so
localizations,
obviously
a
bit
of
a
tricky
one.
The
white
magenta
works
in
the
way
we
want
it
to
work
the
PWA,
so
some
things
we
needed
to
think
about
was
like
how
do
we
handle
graphic?
Well,
how
do
we
handle
setting
the
store
in
the
headers
and
things
like
caching
of
that
in
the
local
as
well?
How
do
we
handle
switching
stores?
How
do
we
handle
routing
entry
points
for
different
languages
automatically
setting
the
liquor
store
view
that
kind
of
stuff?
J
J
If
we
want
to
reuse
that
stuff,
rather
than
rebuilding
everything,
and
how
we
would
want
to
leverage
that
in
PWA
without
having
to
rebuild
it,
and
maybe
installing
language
packs
in
Magento,
for
example,
so
how
I've
tackled
it
at
the
minute
is
by
using
a
new
series,
there's
something
called
a
18
next
loader
from
alien
fella,
so
I
had
to
look
around
and
found
currently
the
most
popular
one,
which
hasn't
been
a
ton
of
support.
But
it
is
there
and
supported
on
how
to
handle
aging
in
language
definition.
J
But
then
we'd
have
wafer
within
react
projects,
so
I
started
playing
around
with
that
one.
So
that
met
a
few
requirements
where
we
could
generate
multiple
locales
in
multiple
areas
and
merge
them
together,
so
how
we
can
handle
that
is.
Maybe
we
have
a
local
file
set
up
in
our
venue,
a
UI,
for
example,
we
have
a
set
of
locales
invent
new
UI
that
we
want
to
bring
forward
into
our
project,
but
then
invent
your
concept.
We
also
have
our
local
translations.
J
We
can
install
and
manage
in
the
new
concept
which
add
on
top
of
the
parent
ones,
and
it
also
allows
us
to
generate
multiple
files.
So
we
could
have
a
core
say,
a
local
file
that
we've
developed
within
our
PWA,
but
also
additional
files,
which
we
could
potentially
build
dynamically
from
a
remote
right.
So
we
could
pull
in
translations
from
Magento
during
build
and
create
them
into
a
local
file.
J
We
defining
a
current
store
view
just
in
browser
persistence
at
the
minute,
or
so
we
can
share
it
everywhere,
because
we're
doing
this
pretty
early
in
the
process,
we're
not
using
books
or
anything
like
that.
Maybe
we
move
that
to
a
context
or
something
I'm
still
trying
to
work
out
the
best
way
of
handling
that
so
that
gets
a
knitted
and
then
first
up
we're
adding
the
store
view
into
our
graphical
headers.
J
So
you'll
see
here,
our
store
is
included
automatically
for
every
graphic
I'll
call
that
we're
then
making
so
we're
getting
the
right
data
back,
which
means
content,
blogs,
product
information.
All
that
kind
of
stuff
is
localized
as
we
would
expect,
and
then,
on
top
of
that,
I've
created
a
new
cyclization
hook
which
handles
storing
of
the
locale
in
store
view.
It
handles
switching
of
the
language
and
it
exposes
a
translate
function
which
leverages
a
stand-in
for
translate
but
I'm
putting
it
here
so
that
we
can
replace
it
with
something
else.
J
Actually,
so
you
can
just
employed
use
less
loads
of
Equalization
from
Peregrine,
and
we
have
our
translates
function
here,
which
we
can
wrap
all
of
our
different
strings
that
we
may
have
in
that,
and
this
just
picks
up
what
we
have
said.
You
know
I
ain't
in
an
object
and
translate
stuff,
so
it's
very
easy
in
theory
to
just
go
through
all
of
our
component
files
and
wrap
them
like
this.
J
What
else
would
definitely
switched
off?
We
have
a
very,
very
simple
imitation
of
this
tool:
switcher,
where
I
have
two
options
here,
where
I
can
choose
English
or
French
at
the
minimum
power
code
it
is,
but
I
would
want
to
pull
this
in
from
a
get
available,
store
views,
craftwell,
endpoint
in
Magento.
Potentially
that
doesn't
exist
right
now.
So
that's
why
it's
not
done,
but
we
would
like
to
link
that
up
to
magenta
and
it
just
we
have
a
handle,
switch
language
use
our
localization
hook.
J
J
So
that's
you
know
routing
as
well,
where
we
have
entry
points,
defines
sort
of
multiple
locales
at
the
minute
again
they're
hard-coded,
but
I
would
like
to
change.
This
James
had
a
suggestion
where
we
use
regex
to
validate,
if
something
max
it
matching
that
is
in
the
URL,
and
then
we
would
just
pass
it
automatically,
but
at
the
minute
I
can
change
it
to
if
ca,
for
example-
and
it's
gonna
set
my
language
by
default,
let's
switch
to
French
I'm
in
friend
my
main
use
in
French,
and
then
I
can
go
back
to
English
whoops.
J
J
J
K
J
The
minute
I
haven't
pushed
it
to
the
repo.
It's
a
public.
Repo
I
can
push
it
by
end
of
day
to
see.
So
you
can
see
what
state
I
mean.
I
really
wanted
to
clean
some
stuff
up
before
I
push.
Did
anyone
but
I
had
a
good
effort
with
one
of
the
other
guys
from
absolutely
that
last
night
Dan
where
we
went
through
and
we
cleaned
up
a
lot
of
this
and
we
pretty
much
implemented
the
entire
hook
properly.
Last
night,
I've
lured
into
a.
K
A
Boom
yeah,
actually
we
can
so
there
is
a.
There
is
a
issue:
that's
open
on
the
community
project
forward.
It's
issue
669,
where
there's
been
a
lot
of
dialogue,
obviously
ID
internationalization.
So
if
we
can
get
an
update
pointing
to
you
know
whatever
resource
or
the
code,
asou
means
we
want
to
make
it
publicly
available.
That'd
be
a
great
place
to
post.
J
F
Hey
really
quick
that
graph
QL
endpoint
was
that
intended
to
be
like
interfacing
with
Magento
to
like
existing
translations
in
like
Magento
core
system,
you
could
retrieve
those
remotely
with
that.
The
attention.
F
J
D
Yeah,
it
is
really
cool
and
that
that's
what
I
was
gonna
ask
Tommy.
We
talked
about
this
a
little
bit,
but
I
wanted
to
know
a
little
bit
more
of
your
vision
or
how
this
will
work
for
your
customers
and
your
clients
and
what
you
would
explain
to
them
as
a
kind
of
a
business
process.
Here.
Are
your
translations?
Here's
what
we've
done
for
you!
D
Here's
how
you
would
update
them
day
to
day-
and
you
don't
have
to
be-
you
know
very
detailed
about
that,
but
I
think
it
would
help
folks
on
this
call
understand
the
extra
value
that
we've
given
to
merchants.
By
doing
this,
this
way
that
you've
done
where
you
can
fetch
the
translations
from
the
back
end,
mm-hmm.
J
Pretty
much
we
tried
to
make
it
as
simple
as
possible.
The
great
thing
about
the
brussels
door
view
is
that
all
the
product,
IDs
just
fetch
them
the
correct
overview
with
the
translations.
Obviously,
so
there's
no
work
there
and
content
does
the
same.
Oh
that's
a
little
one.
Other
thing
I
wanted
to
show
my
bad
stories.
So
the.
J
Url
resolver
cache
did
not
support
multiple
stories,
so
I'm
just
doing
a
eurozone
pop
curse,
told
you
so
that's
one
thing
you
got
to
keep
in
mind
because
/home,
for
example,
or
the
base
route
resolves
to
a
different
CMS
page
in
the
backend,
depending
on
the
header.
So
just
adding
that
cache
in
there
to
call
the
correct,
like
CMS,
page
ID,
for
different
routes
in
different
stories
that
was
yummy,
understood.
A
Definitely
have
some
follow
up
here.
Like
I
said
earlier,
we
have
an
issue,
that's
on
the
board
that
we've
been
tracking
in
there.
There
has
been
conversation
back
and
forth
about
internationalization.
We
obviously
had
work
with
Chris
to
get
the
two
things
linked
up
the
code
and
the
issue
and
then
see
how
we
move
things
forward
alongside
the
core
team
here.
But
obviously
this
is,
you
know
huge
value
for
us
for
the
entire
project.
A
J
A
That
was
it
okay,
so
remember
that
we
have
the
community
project
in
github
for
issues
that
you
can
take
a
look
at
if
you
want
to
contribute.
We
know
right
now
that
obviously
there's
a
lot
going
on
in
the
world
asking
people
to
not
only
focus
on
project
focus
and
contribution
is
there's
probably
a
lot
given
everyone's
focus
on
their
day
job
in
their
lives.
But
we
definitely
appreciate
all
of
you
guys
for
being
involved.
A
You
know
if
you
happen,
to
have
a
thing
that
you
picked
up
or
or
planning
to
pick
up
an
issue,
and
you
can't
get
back
around
to
it.
Make
sure
you
let
us
know
we're
happy
to
pick
up
where
anybody's
left
off
we're
helpful
to
getting
help
get
anything
across
the
finish
line
and
in
terms
of
code
review
or
further
development.
A
F
B
C
F
This
ended
up
being
an
odd
and
odd
reason,
with
cyclical
dependencies
that
I
won't
get
into
here,
but
for
for
your
enjoyment,
fragments
and
operation
separate
files,
co-located
with
the
components
themselves,
and
then
this
is
going
to
tie
into
some
just
kind
of
some
some
neat
stuff.
Oh,
not
that
one
I'm
gonna
do
develop
like
some
caches,
so.
E
F
Just
related
to
cleaning
up
how
the
Apollo
cache
is
updated
during
certain
mutations
throughout
the
system,
so
mutation
would
be
like
adding
something
to
a
cart,
removing
something
editing,
something
checking
out
logging
and
all
those
fun
things.
So
one
of
the
things
or
one
of
like
the
low-hanging
fruit,
proof-of-concept
things
we
could
do
is
mess
with
kirt
triggers
the
cart
trigger.
F
Cart
trigger
is
one
of
those
things
that
has
been
on
the
page
forever.
I
was
using
some
old
Redux
actions
to
get
its
data
and
it
actually
turned
out
to
be
very
important
that
it
ends
up
being
what
initializes
the
cart
on
your
first
page.
Look
it's
a
very
important
component
there
and
we
thought
it
would
be
a
first
easy
thing
to
change.
So
you'll
see
here
in
the
scope
of
this
refactor
we're
going
to
start
following
this
new
pattern
here.
F
Outside
of
that,
I
think
that
actually
pretty
much
covers
it
so
to
kind
of
loop
this
all
in
to
the
community
as
well.
We
do
have
a
new
shew
that
we
added
to
the
board
where,
if
you
are
interested
in
kind
of
getting
comfortable
with
graph
QL
and
want
to
get
familiar
with
how
PWA
leverages
graph
QL,
we
have
an
issue
in
our
community
backlog
which,
as
a
quick
reminder,
you
get
a
projects,
community
backlog
and
look
at
our
issues.
Here.
L
F
Have
this
issue
that
I'll
be
updating
shortly,
where
we'll
be
asking
for
some
help
going
from
our
old
pattern,
where
we
co-located
everything.this
queries
directory
to
this
new
and
beautiful
pattern,
which
we've
demonstrated
here
in
this
PR
kind
of
how
that
should
behave
in
function
and
then
kind
of
to
tie
in
to
the?
Why?
So?
This
does
some
nice
things
before
we
were
doing
some
we're
always
checking
the
network
on
the
cart
page.
F
So
if
we
go
back
to
cart,
page
you'll,
see
it
just
automatically
renders
I
don't
have
to
do
anything
I
think
we
be
playing
on
like
removing
this,
but
like
anywhere
in
the
application,
our
you
mess
with,
like
cart
data.
It
also
automatically
updates
so
you'll
see
there,
even
as
interacting
with
the
mini
cart.