►
From YouTube: SPFx JavaScript SIG 17th of August, 2017
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
We
sort
of
push
that
out
and
the
goal
there
is
to
provide
a
little
bit
more
focus
out
of
the
monthly
calls
which
are
very
broad
and
really
can't
cover
anything
too
specific,
simply
because
the
amount
of
material
inside
patterns
and
practices
each
month.
So
we
started
these
special
interest
groups
you're
watching
the
client-side
development.
One
there's
also,
of
course,
the
PowerShell
and
see
psalm
core
library.
Special
interest
group
so
check
that
out.
A
A
That's
going
to
take
you
to
the
Microsoft
tech
community
and
that's
the
replacement
for
the
old
Yammer
site
and
that's
our
sort
of
public
forum,
where
you
could
ask
questions
of
both
folks
from
Microsoft,
but
there's
a
great
community
there
of
just
people
helping
people
which
is
always
fantastic.
So
that's
a
great
place
to
ask
general
development
questions,
whether
it's
client-side
development
or
just
any
type
of
SharePoint
development.
You
might
be
interested
in
do
check
that
out.
A
It's
a
great
place,
great
forum
to
get
involved
and
if
you've
got
some
time,
you
can
help
out
by
answering
some
questions
from
folks
as
well.
The
second
link
there
dev
office,
comm
/
SharePoint,
is
your
one-stop
shop
for
all
things:
SharePoint
development.
So
if
you
want
to
get
into
the
SharePoint
framework,
you
haven't
tried
it
out
yet
check
out
that
link.
It's
a
great
place
to
start.
There's
a
lot
of
great
tutorials
and
walkthroughs
and
you'll
be
able
to
sort
of
pick
that
up
and
it
will
walk
you
through
getting
started
from.
A
You
know
very
zero
from
never
having
done
anything
to
get
started
to
get
your
first
SharePoint
framework
web
part
and
then
as
well.
Of
course,
if
you,
if
you're
working
on
add
in
development
SharePoint,
like
provider,
hosted
add-ins
or
if
you're
doing
sort
of
the
classic
solution
package
development,
all
our
resources
are
moving
to
dev
dot
office,
comm,
slash
SharePoint,
so
they're,
not
all
necessarily
there
yet,
but
we're
working
on
getting
everything
there
and
eventually
that
will
be
the
place
to
go
so
jumping
in.
A
What's
on
the
agenda,
for
today,
we've
got
a
quick
update
on
the
JavaScript
core
component.
We've
got
some
SharePoint
framework
latest
news
which
it
might
be
for
me,
we'll
see
if
they
so
can
make
it
on
the
call.
Today,
I've
been
having
some
communication
issues
and
then
we've
got
some
demos.
So
again,
the
vasa
demo
may
or
may
not
happen
depending
on
his
ability
to
get
onto
the
call.
I've
got
a
quick
demo
on
the
cache
expiration
handling
that
was
just
added
in
2.08
that
was
released
yesterday.
A
I
want
to
show
that
and
talk
through
that
a
little
bit
that'll
be
five
or
ten
minutes,
and
then
Ryan
is
going
to
have
a
demo
on
creating
your
own
yeoman
generator.
So
that's
not
necessarily
a
SharePoint
framework,
specific
or
SharePoint
specific,
even
but
it's
a
great
resource
to
understand
how
yeoman
works
and
how
to
create
your
own
generator,
which
is,
if
you
have
sort
of
internal
processes,
and
you
want
to
have
a
sort
of
a
quote.
Unquote:
project
template
with
it
with
a
client-side
solution,
whether
that's
SharePoint
framework
or
something
else.
A
Yeoman
is
a
great
way
to
do
that
and
Ryan's
going
to
walk
us
through
how
to
create
your
own
generator.
And
then,
if
we
have
time
at
the
end,
we'll
have
a
little
bit
of
open
discussion.
As
always,
so,
jumping
right
in
always
want
to
remind
folks
of
opportunities
to
participate
both
in
this
call
and
the
larger
patterns
and
practices
program.
You
can
demo
a
SharePoint
framework
web
part
on
this
call
demo
something
related
to
the
core
library
or
dead.
So
something
really
just
related
to
client-side
development
in
general.
A
We'd
love
to
have
you
demo
on
the
call
we'd
love
to
have
the
demos.
So
if
you,
if
you
have
something
everybody's
working
on
cool
stuff,
if
you
want
to
show
that
off
just
get
in
touch
and
we'll
make
some
time
for
you
on
an
upcoming
call,
I
think
it's
a
it's
a
great
way
for
the
community
to
learn
from
each
other
and
for
folks
to
get
a
chance
to
show
off
the
cool
work.
They're
doing
is
I
know
every
time.
A
I
see
see
these
demos,
I'm
kind
of
wowed
by
the
neat
stuff
folks
are
doing
out
there
and
it's
it's
stuff.
I
would
maybe
that's
not
necessarily
ever
thought
of
myself.
So
it's
always
cool
to
see
that
it's
a
great
way
to
learn
from
each
other.
You
can
contribute
on
github,
whether
that's
to
the
JavaScript
core
library
or
any
of
the
patterns
and
practices
solutions,
that's
a
great
way
to
get
involved
and
contributing
commune,
submitting,
pull
requests.
It
can
be
in
submitting
issues.
It
can
also
mean
helping
out
on
issues.
A
If
somebody
has
a
question-
and
you
happen
to
know
the
answer-
it's
a
great
way
to
jump
in,
and
maybe
you
can
answer
that
person's
question
and
get
them
working.
You
know
get
them
back
to
being
productive,
which
is
always
a
great
way
to
help
out
and
then,
as
always,
we're
always
open
to
feedback
and
looking
for
that
feedback
from
folks
that
helps
us
make
both
the
JavaScript
stuff,
the
client-side
focus
stuff,
but
all
of
the
patterns
and
practices
and
the
SharePoint
dev
ecosystem
work
better.
A
So
a
quick
update
on
the
JavaScript
core
component,
as
a
lot
of
you
know
who
are
on
the
last
call
or
maybe
watch
last
recording
I
was
out
for
a
little
bit
on
some
family
leave
so
I'm
back,
and
that
means
we
got
the
JavaScript
core
component
2:08
was
released
yesterday,
August
16th
put
the
date
there
for
folks
that
might
be
watching
this
later
in
the
future.
That's
got
some
fixes
and
additions.
A
Nothing
major
major
major,
but
some
good
fixes
in
there
I
think
we
had
a
couple
issues
that
reported
that
we
were
able
to
resolve
and
then
as
well
I
want
to
show
we'll
do
the
demo.
The
cache
expiration
handling
I
want
to
kind
of
share
that
off
and
talk
through
that
a
little
bit
my
focus.
The
next
couple
of
weeks
is
going
to
be
graph.
A
A
This
has
been
a
big
ask
for
a
very
long
time
and
it
looks
like
we're
not
necessarily
going
to
get
REST
API
like
underscore
API
support
for
taxonomy
anytime
in
the
predictable
future,
so
we're
having
a
discussion
around
if
and
how
we
might
support
that
through
the
vti
bin
of
services.
So
that's
just
in
the
discussion
phase.
That's
something
we
certainly
welcome
feedback
on
I
know.
That's
been
a
big
ask
of
folks
for
a
long
time,
so
we're
starting
those
discussions.
A
You're
likely
not
going
to
see
that
in
2:09,
but
we're
having
those
discussions
and
we'll
see
what
we
come
up
with
and
we
will
definitely
keep
everybody
updated.
But
I
think
that
could
be
a
great
addition
to
help
folks
and
enable
some
new
scenarios
that
I
know
are
very
desired
and
then
just
to
say,
209
is
going
to
be
targeted
for
September
20th.
So
that's
just
the
date.
A
So
if
you
have
issues
to
report
or
want
to
try
and
get
a
pool
request
of
your
own
in
by
September
20th,
that's
going
to
be
kind
of
a
target
release
date.
So
kind
of
keep
that
in
mind
and
I
have
created
a
milestone
in
github
too,
so
you
don't
have
to
just
remember
that
date.
You
can
always
check
on
that.
Okay,.
B
Thank
you.
You
need
to
help
me
because
I
can't
take
a
slice.
Little
booklet
open
up
the
presentations.
This
is
pretty
awkward
but
I
feel
reason
or
another
I
can't
get
into
the
skype,
so
I
batch
still
seems
to
work.
So
that's
not
a
patient
anyway.
So
I'm,
it's
bad
joke
so
quickly
under
things.
My
first
slide
it's
along
the
terrified
deployment
options
so
like
a
light
guys,
probably
seen
in
the
social
media,
hopefully
last
week
in
Wednesday,
I,
think
Wednesday
detai
timeframe.
B
It
will
let
me
after
midnight
for
me
we're
released
210
on
wide
deployment
option
for
Chevron
framework
solutions.
This
is
really
tough
to
be
super
clear
on
this
one.
It
is
mentioned
in
the
PMP
short
video,
where
we
demonstrate
this
one
as
well
that
this
works
cause
all
the
different
Chevron
framework
component
types.
So
client
side
reports,
extensions.
B
B
So
there's
to
be
quite
weird
situation
from
that
perspective,
but
we
can
actually
do
a
quick
demo
on
the
desktop
and,
if
needed,
tested,
demonstrate
for
examples
how
to
enable
application
customize
her
through
this
process
as
well.
You
just
mentioned
like
the
but
already
covered
in
the
in
the
BMP
short
video
in
the
YouTube,
with
around
8
minutes,
and
so
that's
relatively
us
to
check
as
well
now
on
understand.
So,
let's
actually
move
on
to
the
following
slide:
real.
B
B
So
next
fine
I
wanted
to
actually
show
you
or
give
you
a
small
treat
for
opening
the
call.
It's
not
that
I
can't
actually
see
those
on
the
call.
It's
a
kind
of
awkward
I
know.
Sharon
staircase
nations
will
eat
candidate
if
this
coming
up
tradition
and
after
that
we
are
hitting
G
a
so
we'll
have
a
release
candidate
based
on
the
current
line,
relative,
listen
in
between
now
and
before
the
GA,
and
but
to
be
to
be
super
clear
on
this
one,
our
existing
preview.
B
Unfortunately,
we've
been
forced
to
do
some
API
level
changes.
We
are
mobile,
so
we'll
provide
you,
the
documentation,
we'll
update
the
old,
existing
tutorials
and
we'll
culture,
the
samples
and
all
of
them
to
make
sure
that
they
work
within
the
release
candidate.
So
if
you've
worked
anything
on
the
preview
release,
you
will
actually
get
broken
because
we've
been
making
to
make
their
level
changes
based
on
the
feedback.
What
the
community
has
been
providing
us,
but
after
this
week,
when
the
release
candidate,
this
out,
then
after
a
while
we're
heading
to
the
GA.
B
Now,
let's
go
to
the
following
slide,
which
is
listing
a
slightly
more
on
the
village
candidate,
whatever
planning
to
do
with
that
one.
So,
like
mentioned
a
release,
candidate
will
be
available
relatively
soon.
I
can
say
you
the
date,
because
the
reality
is
that
things
might
still
be
sifting
and
moving.
So
I
don't
want
to
actually
promise
anything
well
unless
we
actually
have
a
definite
date,
and
typically
we
can
walk
down
the
date
like
24
hours
before
we
collide,
so
all
those
that
we
have
plans
but
I
can't
share
them.
B
Using
the
standard
feedback
process
in
their
state
abducts
issue
list,
so
we
get
actually
final,
the
recitation
that
the
things
are
looking
fine
and
then
obviously
the
GAA
doesn't
mean
that
we
won't
be
involving
them
after
that.
But
this
is
version
1.0
which
we
will
be
supporting
and
we
want
their
breaking
up
and
breaking
you
and
then
we
keep
on
adding
capabilities
and
feature
as
well.
There
is
no
public
ETA
for
general
availability
at
this
point.
B
The
last
line
is
there
just
the
kind
of-
and
this
is
classic
story
around
anything
within
the
Microsoft
or
anything
within
the
SharePoint
/
office
perspective.
So
you
can
pretty
easily
have
a
look
on
calendars
for
upcoming
tech
conferences,
where
any
announcement
could
be
done
so
personally,
not
denying
or
confirming
anything
here
from
scheduling
perspectives
and
whatever
they
are
your
conclusions.
B
B
You
it's
good
to
have
a
crate
assistant
for
okay.
Hint
is
my
two
cool
things
on
SharePoint
Engineering
is
working
on,
so
this
is
something
when
I
added
on
on
this
slides
on
backing
in
the
making
a
tune,
just
make
sure
that
people
are
aware
what
they're
working
on
or
beside
the
SharePoint
framework
extensions.
That
is
our
major
release.
B
So
that
is
our
nature
or
the
biggest
thing
was
we're
actually
working
on
and
the
second
thing
their
automatic
solution
deployment
is
the
first
the
kernel
scope
deployment,
then
that
has
been
no
shipped
with
the
last
Wednesday's
release
of
Chicago
Merck,
we're
still
looking
into
additional
ALM
api's
and
all
of
that
stuff
in
the
future.
So
but
this
is
already
giving
great
quite
tooling
to
get
you
a
bit
part
of
available,
for
example,
across
the
tenant.
B
If
that's,
what
you
want
to
do,
and
we're
also
looking
to
have
a
site
collection,
app
catalog,
and
so
that
means
that
used
to
turned
up
in
the
admin
approves,
and
you
want
to
do
this.
You
are
able
to
do
site
collection,
scope
at
catalogs
in
the
future,
and
so
you
don't
actually
need
to
deploy
your
stuff
in
a
tenant
level.
B
You
are
able
to
target
your
webparts
and
expansions
in
a
smaller
scope,
for
example,
for
sub
testing
first
and
then
go
wider
scope,
or
it
might
be
that
your
back
part
is
targeted
to
a
one
site
collection
and
you
don't
want
to
actually
get
it
an
invisible
across
all
of
the
things.
This
is
the
tool
for
them
and
obviously
on-premises
support
for
SPF
X,
which
will
be
in
a
SharePoint
2015
feature
back
to
I.
Do
not
have
a
schedule
for
that
one,
because
it's
completely
different
people
who
are
running
the
show
on
that
one
graph.
B
It's
dated
a
client
we're
working
on
updates
on
that
one:
additional
scopes:
additional
capabilities,
additional
ways
of
accessing
crossings
in
an
easily
possible
way,
so
don't
have
to
use
a
tile
chairs
for
them
and
also
the
dialog
control
is
absolutely
available
as
part
of
the
capabilities
which
will
bid
and
package
as
part
of
the
SharePoint
framework
extension
release
and
heading
the
GA
at
some
point,
good
I
think
that's
it.
From
my
perspective,
any
questions
comments
for
around
the
SharePoint
framework
I
do
apologize
on
this
technical
challenges.
Good
couple.
B
B
Connected
reports,
unfortunately,
are
still
in.
Let's
say:
unannounced
is
better
technically
the
capability
is
kind
of
there
available,
but
we
don't
want
to
announce
that
even
for
preview
or
provide
a
significant
amount
of
documentation
until
we
can
look
down
those
API
and
and
the
reason
why
this
happened
for
simply
because
we
needed
to
ship
our
resources
and
concentrate
on
getting
the
extensions
properly
finalized
as
we're
able
to
ship
that
one
out
and
then
we'll
get
back
on
the
underway
part
connections.
I
do
understand
that
back
in
built
in
May.
B
In
the
session
with
me
and
Don
Kogen,
we
actually
announced
webpart
web
part
web
part
communications.
Then
we
pulled
it
back
form
from
the
release
and
I
do
apologize
and
that
this
take.
It
is
once
again
one
of
these
resourcing
challenges
and
priorities
and
somebody
with
a
much
higher
paper,
a
career,
a
paycheck
made
a
decision
around.
Let's
make
that
one
and
let's
make
that
one
happen
up
with
extensions,
are
actually
uncle.
B
A
Thank
You
ver
for
that,
so
we're
going
to
jump
in
real
quick
to
the
demos.
Unfortunately,
we're
going
to
have
to
skip
vases
demo
we'll
do
that
on
the
next
call.
So
apologies
for
that.
So
let
me
go
ahead
and
stop
sharing
and
share
my
screen.
This
is
documented
as
well
so
for
folks
that
haven't
checked
out
the
developer
guide
in
the
wiki,
which
is
within
the
github
project.
So
you
can
go
to
the
wiki
tab.
We
have
a
developer
guide.
We've
got
a
lot
of
different
topics
here,
I
just
like
to
periodically
remind
folks.
A
We
still
see
a
lot
of
questions
come
in
around
stuff
that
is
covered
here.
So
do
please
check
this
out.
If
you
haven't,
we've
tried
to
answer
a
lot
of
questions
and
provide
as
much
documentation
as
we
can.
Of
course,
if
something
is
missing,
we'd
love
to
hear
about
that.
But
do
please
have
a
look
here
if
you
haven't
so
moving
on
real,
quick,
we'll
jump
into
the
caching
section.
So
you
can
see
now
the
caching
expiration
has
been
added
here.
A
So
you
can
see
the
documentation
and
revisit
this,
which
basically
covers
exactly
what
I'm
going
to
tell
you
now.
So
there's
two
ways
to
use
the
new
caching
expiration
stuff.
The
first
is,
you
can
explicitly
call
a
new
method,
delete,
expired
and
that
exists
on
both
of
the
the
caches.
So
you've
got
local
storage
and
you
have
session
storage,
so
you
can
do
a
PNP
dot,
storage,
dot,
local
dot,
delete,
expired,
which
returns
a
promise,
and
then
you
can
do
some
additional
work,
so
loading
up
a
page.
A
This
might
be
something
you
do
at
the
start
like
on
a
page
load.
You
might
call
delete,
expired
to
clear
things
out
that
are
expired,
and
this
came
from
an
issue
that
was
reported
where
maybe
the
cache
is
filling
up,
because
we
do
track
an
expiration,
but
we're
not
actively
removing
things
we're
only
using
an
expiration
in
the
past.
When
you
would
make
a
new
request,
we'd
see
if
the
data
was
stale
and
then
replace
it
now,
we've
given
provided
a
way
for
you
to
actually
explicitly
delete
these
expired
things
from
the
cache.
A
This
will
only
touch
things
that
was
that
were
added
through
this
library,
so
local
storage
is
going
to
have.
However
many
things
in
it
will
only
touch
things
that
were
added
through
the
pnp
storage
API
or
our
little
thin
wrapper
around
the
the
browser
storage
API.
So
we're
not
going
to
touch
anything
that
wasn't
put
there
by
us,
but
this
gives
you
a
nice
way
to
explicitly
delete
things,
so
you
can
do
that
and
then,
of
course,
session
also
has
delete
expired,
so
that
will
run
through
and
delete
any
Content.
A
A
So
if
you
want
to
set
up
a
global
cache,
expiration
there's
a
flag
for
enable
cache
expiration
which
is
going
to
be
set
to
true,
if
you
want
that
we're
defaulting
that
to
false,
so
we
are
not
going
to
do
this
by
default.
This
is
something
you
would
need
to
enable.
If
you
want
it
and
then
we
you
can
control
the
interval
that
we
check
the
cache
for
expired
items.
This
is
in
millisecond,
so
I'm
saying
every
10
seconds.
Let's
check
that
cache
for
any
expired
items.
Then
you're
going
to
see
here.
A
This
is
just
to
make
the
sample
work.
So
you
can
have
a
look
at
this.
I'm
subscribing
the
console
listener,
I'm
setting
our
log
level
to
info
and
then
I'm,
making
two
requests
that
these
aren't
very
exciting
I'm
just
getting
web
and
getting
all
the
lists
but
I'm
using
caching
to
stick
those
into
the
cache.
A
So,
if
I
hit
f5
this
time,
you'll
see
these
values
were
not
found
in
the
cache
when
we
went
to
go,
get
them
on
a
subsequent
request.
So
and
then
you'll
see
here
in
another
10
seconds.
These
things
will
be
removed
so
and
there
you
go.
That's
sort
of
the
cache
expiration
handling
that
was
added
in
the
library
I
do
want
to
point
out
about
this.
The
way
this
is
implemented
is
using
set
timeout.
So
if
we
look
here
at
our
handler,
this
is
using
set
timeout.
A
So
something
to
keep
in
mind
is
there's
no
real
advantage
to
tech
checking
the
cache
super
frequently
to
see
if
things
are
expired
and
in
fact,
I
wouldn't
even
recommend
really
enabling
this.
Unless
your
page
application
is
sort
of
a
long-running
one-page
app,
that's
going
to
sit
there
for
a
long
time
doing
many
many
requests
without
reloading
the
page.
I
would
really
sort
of
recommend
kind
of
the
on
page
load.
A
Just
go
ahead
and
clear
out
any
expired
items
that
might
be
there
and
then
let
you
know
handle
that
on
each
page
load,
one
time
for
performance
reasons,
but
if
you
do
have
a
long-running
application,
we
did
want
to
enable
a
way
for
you
to
sort
of
set
and
forget
that
this
cache
expiration
would
be
running
in
the
background.
So
do
keep
that
in
mind
as
a
performance
thing
just
something
to
have
in
the
back
your
head.
We
have
put
a
hard
limit
that
the
minimal
expiration
interval
is
going
to
be
300
milliseconds.
A
We
can
argue
about
that,
but
if
you
want
something
more
frequent,
you
can
write
your
own
wrapper
around
this.
It's
not
that
complicated.
So
you
can
actually
sort
of
just
copy
this
code
and
you
could
make
this
every
one
millisecond
if
you
like,
but
there's
no
real
advantage
to
that.
So
keep
that
in
mind-
and
this
is
really
only
something
to
worry
about
if
you're
seen
a
lot
of
cash
storage
pressure,
so
you're
starting
to
fill
that
up
and
you're
starting
to
get
exceptions
around.
A
You
know
too
much
stuff
in
that
storage
cache,
whether
it's
session
or
local,
so
just
something
to
keep
in
mind
there.
So
that's
the
talk
to
that.
Let's
look
real
quick!
Are
there
any
questions
here,
nope
great,
so
Ryan?
If
you
are
ready
to
take
over
and
you
would
like
to
start
your
demo
here
on
the
crane,
your
own
yeoman
generator.
Sorry
brain
took
a
little
bit
of
a
minute
off
there,
but
do
just
a
quick
reminder.
A
Well,
Ryan's
kind
of
getting
spun
up
here
do
check
out
the
wiki,
really
encourage
you
to
sort
of
check
this
out.
You
can
contribute
here
as
well.
So
don't,
if
you
see
something
missing,
you
can
always
add
an
issue
or
you
can
contribute
an
article
or
update
an
existing
article
as
you
like
Ryan,
you
ready
to
go
sweet.
C
All
right
a
little
bit
about
me,
my
name
is
Ryan
Scouts
and
I'm.
A
senior
architect
and
evangelist
exact,
been
working
with
javascript
for
just
a
few
years
now
spend
my
time
traveling
the
country
and
working
with
different
people
on
things,
and
so
one
of
the
problems
that
I
ran
into
is
a
lot
of
times
getting
people
started
at
our
company,
getting
them
set
up
with
the
basic
set
up.
So
when
we
were
talking
whether
talking
doing
a
project
with
react
or
just
straight
JavaScript.
C
Getting
all
these
standard
practices
and
things
we
have
set
up
took
a
little
bit
of
setup
trying
to
get
new
people
in
there.
So
when
we
started
the
SharePoint
framework
released
using
the
yeoman
generator
I
had
that
day
as
a
hey
wait,
a
minute
I
can
create
my
own
and
it'll
make
life
a
lot
easier
to
be
able
to
get
people
started
using
started
on
a
new
project,
so
they've
got
all
the
right
tools
and
everything
set
up
and
there's
ready
to
go.
They
don't
have
to
worry
about
those
issues,
so
to
do
that.
C
So
if
we're
creating
our
own
yeoman
generator,
it
is
extremely
simple
with
no
js'
there.
You
have
two
ways
of
doing
this.
We
can
manually
create
our
project
structure
and
everything
that
we
need
for
the
yeoman
team
has
actually
included
a
yeoman
generator
generator,
so
that
will
set
up
the
template
for
you
and
get
you
started
off
and
running
pretty
cool
other
than
it's
a
lot
more
bloated
a
lot
of
extra
files.
C
Also,
all
generators
that
you're
going
to
be
creating
cuz,
you
can
add
multiple
generators
and
pieces
and
kind
of
combine
them
together,
but
they
have
to
be
inside
a
generator
subfolder
inside
your
project
and
inside
there
the
default
generator.
If
you
don't
specify
anything
else,
has
to
be
under
an
app
folder.
If
you
do
not,
and
you
try
running
your
generator
it'll
say
I
can't
find
it
so
got
to
keep
that
in
mind.
C
Also
cool
thing
is
we
can
do
a
lot
of
template
files,
so
any
files
are
going
to
be
using
for
templating
and
there's
some
api's
that
are
given
to
us
to
be
able
to
deal
with
and
interact
with
those
files
need
to
be
under
your
templates
folder,
underneath
your
generator
folder,
and
once
we
get
into
this
into
the
demo,
little
make
a
little
more
sense.
Also,
if
you're
manually
setting
things
up,
you
need
to
make
sure
you're,
adding
in
the
yeoman
generator
module.
So
that
way
we
have
everything
that
we
need.
C
Also,
the
cool
thing
is
once
you
get
into
this
in
yeoman
you're,
setting
up
a
class
and
we're
just
using
node.js
code.
So
you
get
to
use
some
of
the
new
classes
of
all
this
stuff,
but
we
also
a
functions.
You
include
in
your
class
will
get
run
and
usually
for
the
most
part,
to
run
in
order,
except
for
something
rather
special
unless
you're
changing
run
order.
If
you
have
a
method,
you
don't
want
to
run
just
start
the
name
of
the
method
with
an
underscore
and
it
won't.
C
It
won't
pick
that
up
and
run
it
for
you,
unless
you
call
it
explicitly.
Also,
some
of
the
special
eyesight
will
function
like
psycho
functions.
These
are
the
ones
that
the
yeoman
generator
doesn't
really
care.
What
order
they're
listed
in
in
your
class,
it
will
just
run
them.
It'll,
pull
them
out,
say:
ok,
running
them
in
this
sequence.
So
for
the
most
part,
this
will
get
you
most
of
what
you
need.
So
we
have
initializing
gaping
setup.
C
All
this
all
above
the
basics,
the
most
of
the
ones
that
you're
probably
going
to
care
about,
is
probably
prompting
writing
and
install
at
least
the
ones
I've
worked
with.
That's
what
we
need
and
there's
a
whole
lot
more
things
that
we
can
do
that
we
don't
really
have
enough
time
to
cover
in
today,
but
there
is
a
good
guide
out
there
on
the
yeoman
site,
about
creating
your
own
yeoman
template
and
a
lot
of
the
instructions
for
doing
that.
Alright.
C
C
So,
for
example,
what
I
did
for
our
company?
We
set
up
for
a
generator,
and
so
we
said,
okay,
yo,
exact
and
then
part
of
this
I'll
gather
up
some
basic
questions
that
we
need
to
determine
which
template
you
want
to
use
and
how
you're
working
with
it.
So
first
question
I:
ask
them,
is
what
do
you
want
to
call
your
project
because
we're
going
to
be
creating
with
that?
So
I'll
stick
with
the
default
here
and
then
we
ask
them.
Ok,
what
versions
of
SharePoint
are
you
targeting?
Now
these
keep
mind?
C
These
questions
are
all
specific
just
to
our
process,
so
you
can
come
up
with
whatever
questions
you
want.
So
for
this
case,
I'm
gonna
select
office,
365
authentication
domain
is
used
for
automated
deployments
as
you're
deploying
the
code
office
365.
Don't
necessarily
need
that,
so
I
can
leave
it
blank,
and
then
we
can
also
choose
what
framework
you
want
on.
This
choose
react
and
also
for
deployment.
We
have
the
dev
site
URL.
So
that
way
we
automatically
sets
up
the
deployment
so
I'm
just
going
to
put
n/a
here
alright.
C
Now
this
will
go
out
and
run
it's
going
to
go,
set
up
the
project
and
it's
fairly
simple.
So
with
this
is
all
setup.
It
created
all
the
project
created
the
folder
source,
so
we
can
see
it
set
up
a
package
JSON
file.
We've
got
our
gulp
file,
we
have
some
linting
added
in
and
then
we
also
have
some
templating
files
to
actually
have
a
sample
to
get
started
with.
C
So
if
we
go
look
at
this
particular
project,
as
you
can
see,
starting
out,
it
is
fairly
simple.
So
all
I
have
is
I,
have
a
generators
folder
with
a
package
JSON
and
then
inside
there
we
have
our
app,
which
we
have
to
have
because
I
thirty
fault
with
an
index
JS
file
and
then
a
templates
folder.
So
the
package
JSON
file
is
standard.
C
Node
module,
Jason,
nothing,
nothing
different
here,
you
do
have
to
have
the
name
as
generator
and
the
whatever
you're
going
to
call
it
from
the
command
prompt
in
also
you'll
need
a
description.
So
if
wakes
people
to
find,
if
you
push
it
out
to
NPM,
also
keywords
has
to
have
yeoman
generator
included
in
it
so
that
they
can
find
it,
and
then
we
also
list
out
ok
the
files.
C
This
is
where
we
tell
it
where
all
of
our
generators
are
and
then,
like
I
said
you
also
have
to
have
yeoman
generator
to
make
it
and
to
get
loaded.
So
if
from
there,
if
we
go
into
our
app
folder
into
index
J
s,
we
include
the
yeoman
generator
with
a
require,
and
we,
the
gist
of
it
is,
is
we
need
to
include
a
module
exports
and
we
don't
really
need
to
much
as
creating
a
class
or
extending
generator.
C
So,
as
you
can
see
here,
I
have
a
method
that
is
underscore
that's
just
outputting
the
logo,
so
that
will
not
get
called
unless
I
tell
it
to,
and
then
we
have
a
prompt,
our
prompting
method.
So
I
can
tell
output
the
method,
alright
logo,
and
then
we
have
a
list
from
the
this
which
we
get
from
our
generator
class.
Word
inheriting
and
we
say
it
prompt.
We
pass
in
an
array
of
all
the
questions
that
we
want
to
ask,
so
we
have
a
bunch
of
different
types
of
things
we
can
do.
C
We
can
do
a
regular
input.
We
can
do
a
list
of
options
and
passing
in
all
the
choices
we
want
to
pass
in.
We
can
go
through
all
those
options
and
then,
when
it's
done
it
gives
us
back
a
promise
which
will
give
us
back
the
answers,
which
is
just
a
JavaScript
object
based
off
of
the
name.
So
in
here
the
answers
value
would
get
back,
will
have
a
property
for
each
one
of
these
names
that
we
tell
to
get
back.
C
So
when
that's
done,
I
just
store
them
as
a
property
on
my
generator,
so
that
way
I
can
consume
them
later.
Then,
if
we
continue
down
got
some
more
private
methods,
then
we
have
our
main,
where
I
based
off
of
the
questions
that
they've
answered,
I,
say:
okay,
go
look
what
their
answers
were
and
then
set
up
the
correct
the
appropriate
methods.
Now
the
cool
thing
that
we
can
do
this
as
well
is
the
yeoman
generator
allows
us
to
do
easy
templating.
C
So
because
we
have
templates,
we
have
some
methods
included
in
the
give
us
the
template
path
and
there's
also
a
template
route.
If
we
want
to
deal
with
that
as
well,
so
we
can
copy
over
files.
If
we
use
the
this
that
file
string
because
it
uses
an
in-memory
file
stream
to
do
this
and
use
the
copy
TPL
copy
template
method,
you
tell
it
where
you
want
it.
What
file
you
want
to
copy
so
I
have
in
my
the
path.
C
I
have
a
file
called
underscore
package,
gram,
react
and
then
I
tell
it:
okay
in
the
destination
put
it
out
there,
but
we're
just
going
to
call
it
package
Jason
and
then
also
I
am
doing
some
templating
some
sort
of
replacements
into
there
and
inside
the
file.
There's
a
token
in
there
that
says:
okay,
we're
going
to
replace
a
title,
and
so
the
title
gets
replaced
in
the
package
file
with
whatever
they've
entered
in.
C
So
if
we
go
look
at
that
template
file,
so
package
gram,
okay
to
do
the
the
tokenizing
and
the
replacements
we
can
just
use
the
less
than
percent
equals.
Whatever
value
is
that
we're
going
to
be
passing
in
and
then
percent
greater
than
so
a
lot
like
we
are
doing
outputting
in
classic
ASP
and
asp.net.
C
Also,
there
is
a
copy
method
that
you
can
run
straight,
they'll
just
copy
a
file
over
and
in
the
first
parameter
from
the
from,
if
you
pass
in
a
glob,
just
like
we're
used
to
using
with,
if
you're,
using
with
gulp
and
almost
or
things
if
you
pass
in
a
glob
it'll,
take
all
those
files
that
match
that
pattern
and
copy
them
to
the
destination.
So
that
being
said,
the
destination
has
to
be
a
directory.
In
order
to
use
that
approach.
C
We
have
all
that
setup
and
that's
what
it
takes.
So
if
we
look
at
the
one
that's
created
through
the
generator
you
can
see,
we
have
a
lot
more
files
in
here
we
have
some
config
files,
some
lint
files
get
attributes
Travis.
We
have
a
lot
more
information,
a
lot
more
files
that
get
stored
in
here,
but
essentially
we
have
the
same
setup.
You
have
our
generators.
We
have
our
app
templates
in
our
index
js5.
So
let's
show
you
that
it's
kind
of,
if
you
install
it,
you
now
get
a
new
generator.
C
So
if
you
install
the
NPM
install
generator
generator,
you
will
get
this
option
to
include
and
just
create
a
generator
and
that's
really
all
there
is
to
it.
So
if
you
want
to
go
out
and
create
your
Joan
generators,
there's
a
whole
lot
more
documentation
about
things.
You
can
do
for
compositing
a
bunch
of
the
generators
together.
So,
for
example,
you
could
take
the
existing
SharePoint
framework,
yeoman
templates
and
add-on.
C
If
you
want
to
add
in
example,
the
questions
asked
about
doing
your
own
gulp
file
tasks.
To
do
these
sort
of
things
you
could
add
those
on
and
extend
the
templates
to
be
able
to
include
that
grant
of
the
product
team
is
going
to
add
those
in,
but
if,
in
the
meantime,
if
you
want
to
deal
with
that,
you
can
so
one
of
the
things
I've
included
in
as
our
package
file
as
a
requirement,
and
you
don't
go-
you
want
this
one.
C
So
if
we
look
at
our
package
file,
one
of
the
things
I
tell
that
we
always
want
to
include
is
we
include
the
SharePoint
patterns
and
practices
so
that
way
all
of
our
projects
we're
going
to
be
using
it.
Nobody
has
to
figure
out
ok
now,
how
do
I
go,
install
this
and
set
up,
and
it's
all
there
and
that's
all
there
is
to
it
and
we're
pretty
ready
to
go
and
get
off
and
running.
So
are
there
any
questions?
The
moment.
A
Great
stuff
Ryan,
thank
you
for
that
really
great
seat.
So
this
is
something
folks,
I
think
you
really
take
and
apply
as
you're,
developing
your
own
sort
of
processes
in-house
and
how
you're
going
to
work
with
your
projects.
I
know
a
lot
of
folks
in
the
past
have
created,
like
visual
studio
project
templates.
This
is
a
great
way
to
do
that
for
yourselves
and
for
your
teams
within
you
know,
sort
of
this
client
slide
development,
whether
it's
SharePoint
framework
or
whether
it's
just
client-side
development
in
general.
A
A
A
B
A
All
right,
well,
next
meeting
is
going
to
be
August
31st.
We
actually
get
three
meetings
in
August.
We've
got
a
nice
long
month
here
hold
on
the
summer
a
little
bit
longer
so
August
31st
look
forward
to
seeing
everybody
back
here
on
the
call,
and
so
thank
you
very
much.
Thank
you
to
beso
Thank
You
Ryan
for
the
great
demo,
and
thank
you
all
for
attending
the
call
look
forward
to
talking
to
you
soon
take
care,
bye,
bye,.