►
From YouTube: Deno Deploy Intro - Tom Wilson
Description
Deno CHS JS Meetup May 20
Tom Wilson presents deno and deno deploy
deno deploy is a global distributed service that enables you to deploy deno applications on the edge.
deno is a javascript/typescript runtime that gives you common dev tool features in the box and has a built in security model.
Check deno out at https://deno.com
A
Youtube
whatever
so
welcome
everyone.
I
know
that
you
know
meetups
with
zoom
is
not
the
most
fun
thing,
but
I
see
a
couple
of
guys
enjoying
some
beverages.
So
that's
good
and
I
hope
you
know
july
august
we
can
start
back
the
in-person
meetings.
I
was
just
talking
with
tripp
earlier
about
maybe
going
to
the
charleston
tech
center
and
using
that
meetup
space.
A
If
you
guys
haven't
seen
the
new
tech
center,
it's
pretty
awesome,
so
hopefully
we
can
get
back
to
more
in
person
and
and
one
of
the
things
is,
is
to
try
to
figure
out
how
to
do
it,
hybrid
right
so
that
it's
both
online
and
in
person
and
whether
you're
online
or
in
person,
you
still
get
the
same
quality.
A
A
We'll
we'll
see
this
has
been
tricky
in
the
past,
but
so
this
week
we're
going
to
talk
about
dino,
but
before
I
do
that,
I
want
to
you
know
just
mention
to
everyone
to
you
know.
If
you
have
time
next
thursday,
at
five,
we
have
a
special
guest
gleb
from
cypress
and
if
you're
interested
in
end-to-end
visual
testing.
A
He
is
this
distinguished
engineer
at
cypress
who
that's
their
product.
Is
this
end-to-end
visual
testing
tool
suite
and
he'll
be
showcasing
that
for
us?
So
I
think
that'll
be
a
very
awesome
event,
something
that
that
you
don't
want
to
miss.
If
you
can't,
if
you
can't
make
it
and
then
I
think
in
june,
travis
neslin's
gonna
give
a
presentation
on
next
js
and
using
next
js,
with,
I
think,
a
content
management
system
that
they
use,
but
that
should
be
really
cool
too.
A
I
think
that's
either
june
6
or
june
10th.
I
can't
remember
the
right
date,
but
so
we
got
a
lot
of
cool
stuff
coming
up
today,
I'm
going
to
talk
about
dino
and
specifically
dino
de
poi
and
I'll
go
with
a
quick
background
on
dino,
but
I'm
going
to
try
to
spend
most
of
time
talking
about
dino
deploy.
A
So
dino
is
a
server
runtime
that
runs
javascript
or
typescript,
and
it's
kind
of
a
competitor
to
node
the
same
creator
that
created
node,
created
dino
and
he
just
swapped
a
few
characters
around
and
and
created
a
dinosaur
logo
which
is
pretty
cool
and
there's
two
kind
of
products
to
dino.
One
is
the
cli
which
manages
all
of
the
bundling
of
your
javascript
or
typescript.
A
It
comes
built
in
with
a
linter
and
a
test
library
and
a
bunch
of
other
kind
of
tools,
and
it
runs
typescript
natively.
So
you
don't
have
to
include
anything
in
your
your
repository
to
use
typescript.
If
you
want
to
use
typescript
the
reason
that
ryan
dahl,
the
creator
of
node
decided
to
create
dino
is
a
a
few
years
ago.
He
published
or
did
a
talk
about,
10
things.
He
regret,
regret
regrets
about
node.js,
and
some
of
them
were
just
really
when
node
was
built
right.
A
So
promises
were
not
really
formed
back
then,
as
a
tight
specification
wasn't
built
into
the
language.
A
sink
of
weight
was
not
built
into
the
language,
so
he
kind
of
wanted
to
have
those
in
security
and
we'll
get
to
security
in
a
minute.
But
the
interesting
point
is
that
with
node,
when
you
run
it,
as
you
know,
someone
running
it
in
production
on
a
server
that
executable
has
all
these
privileges
on
that
server.
A
It
can
do
all
these
things,
so
he
wanted
to
create
a
system
that
that
was
very
explicit
about
what
it
can
access
and
when
and
that
can
allow
things
to
run
in
you
know
these
kind
of
environments
that
you
know
may
not
be
as
safe
as
like.
Maybe
a
doctor
container
or
a
single
linux
process
or
vm
totally
changed
the
build
system.
I
think
they're
using
rust
now
and
really
wanted
to
ratify
node
modules
if
anyone's
worked
with
node
for
a
while
node
modules
can
kind
of
get
out
of
hand.
A
So,
and
and
sometimes
you
can
get
into
some
problems-
or
you
just
have
to
you-
know
kind
of
remove
your
node
modules
path
and
rebuild
everything
over
again,
re-pull
it
down
and
install
it,
but
he
wanted
the
runtime
to
really
work
much
like
the
browser.
So
so
that's
why
he
created
dino.
A
Some
people
say
that
it's
not
enough
to
change
from
node
nodes
really
established.
Dino
is
starting
from
zero,
but
I
think
there's
a
lot
of
promise
in
it.
Even
though
you
know
a
lot
of
people
disagree
with
that.
But
but
I
I
think
there
is
a
lot
of
potential
future
with
dino,
and
this
deploy
thing
that
I
want
to
talk
about.
May
help
understand
why?
A
So
so,
with
that
any
questions
so
far
about
dino.
Anything
that
I
didn't
cover
about.
What
dino
is
that
someone
may
be
interested
to
know.
A
So
deploy
dino,
deploy
if
you're
familiar
with
cloudflare
workers,
it's
a
very
similar
model
to
that,
and
basically
it
helps
you
deploy
applications
on
the
edge.
What
is
the
the
edge
the
edge
is,
you
know
you
can
think
of
over
200,
plus.
A
Data
centers
all
around
the
world
and
instead
of
deploying
to
you,
know
like
amazon
virginia,
you
do
your
deploy
and
it
distributes
to
all
those
200
so
that
your
app
is
like
within
50
miles
of
any
given
browser
at
any
given
time.
So
it's
a
globally
globally
distributed
javascript
vm
and
with
that,
it's
actually
a
special
runtime.
A
That
really
follows
the
api
of
what
a
service
worker
would
follow
where
you
actually
add
an
event
listener
to
a
fetch
call,
and
then
you
respond
to
that.
A
So
this
product,
I
think,
will
be
a
for
pay,
but
it's
in
beta
now
and
and
you
can
get
started
and
work
on
it.
So
I'm
going
to
go
through
kind
of
how
that
works
and
yeah.
C
A
Check
it
out
so,
let's
see
here,
I've
got
a
little
github
repository.
That's
called
dino
starter.
A
A
You
basically
can
run
a
shell
command
in
your
mac
or
linux
terminal,
or
you
can
go
to
dinoland
and
follow
instructions
to
install
windows
and
to
install
with
brew
or
whatever,
and
you
know
what
what
you
get
is
just
one
single
executable,
which
was
one
of
ryan's
kind
of
constraints.
Is
he
just
wanted
one
executable
to
do
things
with
dino
deploy?
A
It
builds
on
the
web
and
this
direct
github
integration?
So
you
do
need
a
github
account
to
deploy
apps
with
it.
It's
all
es
modules,
so
it
doesn't
support
any
common
js
and
the
api
is
compatible
with
cloud
flare
workers
so
to
run
it
locally,
we
need
to
install
another
cli
called
deploy.
Ctl
deploy
ctl
allows
us
to
run
essentially
the
same
vm
that
dino
deploy
runs.
So
that's
the
first
thing
that
I'm
going
to
do
is
kind
of
install
that
and
we
can
just
install
it
by
just
running
this
dino
command.
A
A
But
but
what's
what
you'll
notice
is
that
we're
gonna
install
this
cli
from
a
url,
so
everything
is
is
driven
by
urls.
There
is
no
package
manager,
there's
no
npm.
A
Okay,
so
I
should
have
my
vm
set
up
with
with
dino
installed,
so
I
should
be
able
to
type
dino
version
and
I've
got
version
1.10.2,
which
is
cool,
and
I'm
going
to
paste
in
this
install
and
that's
going
to
install
this
deploy,
ctl,
which
basically
will
allow
me
to
run
this
dino
deploy
service
locally
and
I'm
just
going
to
create
a
new
file
called
hello.js
and
you
could
do
ts
if
you
wanted
to
do
typescript,
which
this
just
works
out
of
the
box
and
basically,
I'm
gonna
create
a
dino,
deploy,
app
and
we'll
start
with
add
event
listener
and
we're
going
to
listen
to
the
fetch
event
and
it's
going
to
return
an
event.
A
And
then
what
we
want
to
do
is
return
a
response.
So
everything's
built
off
the
fetch
api
and
in
the
fetch
api
you
have
two
built-in
types
you
have
a
request,
type
and
a
response
type,
and
so
we're
gonna
return.
A
new
response
and
the
response
will
be
hello
world
and
then
we're
going
to
give
it
an
object.
And
in
that
object,
we're
going
to
give
it
some
headers
and
one
of
the
headers
is
a
content
type.
A
A
And
it's
running
on
port
8080.
So
if
we
open
up
our
browser.
D
A
Yeah
I
broke
something:
let's
see
what
I
did
wrong.
Okay,
get
an
event.
We
create
a
new
response,
so
the
last
piece
is
event:
dot
respond
with
response,
so
I
can't
just
return
it.
I
have
to
actually
do.
A
And
this
command
has
a
watch
on
it
too,
so
you
could
do
a
watch
and
it
would
respin
which
is
kind
of
nice,
we'll
just
restart
it
here
and
let's
see
yep
there
we
go.
We
got
hello
world,
okay,
so
what's
cool
about
that,
is
that
you're,
using
kind
of
the
the
same
kind
of
api
as
you
would
use
with
service
workers
and
and
it
makes
it
much
easier
to
deploy
on
the
edge
now
you
do
have
some
restrictions.
You
don't
have
access
to
all
of
your
node
modules.
A
So
if
you
build
an
app
on
the
edge
more
than
likely
you're
going
to
interact
with
your
you
know,
kind
of
data
services,
layer
via
an
api
call
via
rest
or
graphql
or
some
sort
of
api
call,
they
may
have
access
to
a
key
value
store
on
the
edge
that's
distributed
as
well,
which
which
could
help
too,
but
for
the
most
part
you're
going
to
want
to.
A
A
The
other
thing
is
is
to
serve
assets
right.
You
would
have
to
read
them
in
and
then
stream
them
out.
So
you
would,
you
would
read
them
in
from
your
file
system
and
then
you
would
stream
them
out
as
a
response,
which
is
a
little
different.
A
D
A
A
All
right
so
to
do
that
to
use
sift,
we're
gonna,
basically
import
it
as
a
dependency
and
so
to
to
look
at
how
to
use
dependencies
with
dino
is,
like
I
said,
everything's
a
url.
So
so
it's
a
little
bit
different
than
node,
where
you
would
just
do
npm,
whatever,
whatever
with
dino
there's
two
ways
you
can
do
it.
You
can
use
import
pass
with
with
json
and
that's
still
kind
of
unstable
kind
of
a
little
tricky.
A
Another
way
you
can
do
it
is
create
a
a
depth
file
and
then
that
way,
you're
not
having
to
put
your
url
in
your
main
code.
You
just
have
it
in
this
depth
file
and
and
that's
what
I
I
like
doing-
is
doing
depths.js
and
then
basically,
you
just
do
export
and
then
the
types
are
the
functions
you
want
to
export.
So
with
the
sift
we're
going
to
export,
serve
and
json,
and
then
the
url.
A
A
A
A
And
then
we
can,
you
know,
kind
of
separate
those
in
files.
If
we
wanted
to
so
we
can
say,
get
index
from
dot
api
dot,
mod.js.
A
And
we'll
have
to
you
know,
kind
of
create
a
new
folder
called
api,
and
then,
in
that
folder
we'll
create
a
mod.js
file
and
a
about
js
file
and
with
the
mod
js
we
can
handle
that
request
more
more
or
less
like
you
would
in
in
node
kind
of
you
know
you
just
import
the
json
from
our
dot
js
file
and
we
say
export
default,
a
sync
function
and
we
can
just
return
a
new
response.
D
A
A
Html,
so
we've
got
our
depths
pulling
this
framework
and
then
in
our
hello,
we've
got
kind
of
our
you
know,
kind
of
our
route
handlers
and
then
in
our
api.
We
we've
got
our
mod
for
our
default
route
and
like
about
for
our
about
route
and
if
we
run
know
control
again.
A
I
get
an
error
and
this
this
error
is
something
that
that
they're
working
to
fix,
but
basically
the
typescript
it's
pulling
pulling
types
from
two
different
places
and
they're
kind
of
conflicting.
So
we
just
have
to
tell
the
deploy
to
ignore
that
by
saying
libs
equals
ns,
comma
fetch
event
and,
and
that
should
work.
D
A
Which
that
gives
us
a
much
nicer
kind
of
experience
than
doing
all
the
ad
event
listener
stuff,
so
that's
pretty
cool
and
then
there's
only
one
more
thing
that
I
want
to
try
to
show
I've
got
time.
A
So
one
of
the
nice
things
that
is
great
about
dino
is,
I
didn't,
have
to
install
so
much
stuff
just
to
get
up
and
running.
I
just
basically
had
to
install
this
one.
You
know
kind
of
deploy,
ctl
library
and
type
scripts
in
the
box
and
jsx
is
in
the
box.
So
in
this
about,
you
know
we're
you
know
kind
of
using
a
template
string
here,
but
we
can
actually
use
jsx
and
we
can
bring
in
preact,
which
is
very
similar
to
react.
A
A
A
Get
rid
of
that
and
we're
just
going
to
call
render
to
string
and
we're
gonna
instantiate
our
app
right.
D
D
A
A
A
A
Let's
deploy
right,
so
what
we
want
to
do
is
go
ahead
and
commit
all
these.
D
A
A
So
so
now
you
just
give
it
your
deploy
url.
So
we
can
get
our
github
url.
Let's
see
get
remote
dashb.
A
A
And
deploy
from
github
continue
and
then
we
just
give
it
our
url,
and
so
it's
a
dinostarter.blob
main.
I
think
it's
hello
dot
js.
A
And
if
we
did
everything-
and
here
you
can
like
set
your
custom
domain
environment
variables
everything,
but
if
we
did
everything
we
might
be
up,
we
are
deployed.
A
A
If,
even
if
you've
used
tools
like
for
cell
or
aws
lambda,
it
can
take
a
couple
minutes
to
build
with
with
this,
you
are,
you
know,
as
soon
as
you
commit
literally
within
seconds
it's
up
now.
This
is
a
small
project,
so
time
will
tell
if
it's
a
super
huge
project,
what
that
is,
but
still
that's
pretty
nice,
especially
for
a
globally
distributed
kind
of
platform.
B
Questions,
that's
cool.
So
would
you
say
I
don't
know
just
for
an
example
like.
B
Sorry
so
you
would
say,
like
sift,
is
to
dino
as
expresses
to
node
sort
of
right
now.
A
Yeah,
I
think
so
it
gives
you
all
the
you
know,
kind
of
the
the
nice
stuff
that
you
have
to
deal
with
anyway,
like
sending
json
commands
serving
static
pages,
doing
jsx
right.
It
just
gives
you
all
those
things
out
of
the
box
to
reduce
boilerplate.
So
I
would,
I
would
agree
with
that.
C
C
A
So
what
one
place
that
that
they
are
working
on
that,
I
think
you
know,
and
not
a
lot
of
people
are
super
aware
of
this,
but
their
their
security
model,
especially
if
you
do
jason
webb
tokens
works,
for
you
know
kind
of
the
the
the
hashes,
but
it
doesn't
work
for
rsa
encryption
or
the
elliptical
curve
encryption.
Yet
they're
still
working
on
that.
But
if
you
need
to
generate
tokens
with
you
know
secrets
it
works.
Just
fine!
A
That's
one
thing
now:
the
the
other
thing
is
if
you're
kind
of
tethered
to
a
node
service
like,
for
example,
graphql
are
tethered
to
you,
know
kind
of
keystone
js
or
some
of
these
other
kind
of
orm-ish
tools.
Then
you
may
kind
of
struggle
with
dino.
So
if
you
are
kind
of
married
to
kind
of
these
back-end
services
that
are
specific
for
node,
you
may
find
yourself
not
able
to
move
over
to
dino.
D
A
And,
and
for
us
worth,
this
is
one
place
to
deploy
dino
you
can
deploy
dino
on
any
kind
of
legacy
infrastructure,
whether
it's
on-prem
or
aws,
ec2s
or
digitalocean
or
or
you
know,
burcell
whatever
you
can
deploy
dino
this
dino
deploy
is
just
taking
it
to
the
next
level
and
giving
you
a
place
to
put
stuff
on
the
edge
on
this
global
network
so
also
trying
to
create
a
frictionless
environment
right.
A
You
know
to
to
get
your
code,
get
it
reviewed
and
as
soon
as
it
hits
the
main
branch
it
is
out
there
and
and
having
you
know,
good.
A
You
know
red
green,
green
kind
of
deploys,
blue
green
deploys
and
all
of
that
stuff
just
to
allow
you
to
to
really
solve
that
continuous
delivery
process,
and
you
can
leverage
feature
flags
and
things
like
that,
but
they're
definitely
taking
the
mindset
ship
as
often
as
possible,
and
and
don't
try
to
do
these
long-lived
kind
of
branches
and
merge
everything
together
kind
of
mindset
so.
A
They've
got
testing
built
in
so
you
know
you
don't
have
to
pick
a
test
runner,
it's
just
you
know
dino
dot
space
test
and
it
can
also
compile
or
bundle
into
a
single
executable
binary.
So
it
would
include
not
only
your
code,
but
it
would
also
include
the
genome
binary
embedded.
A
When
you
run
dino,
you
can
say
you
can
talk
to
the
internet,
but
you
can
only
talk
to
this
ip
or
you
can
only
talk
to
this
url.
You
can't
talk
to
the
whole
internet.
A
Just
this
url
or
you
can
read
the
environment,
but
you
can
only
read
these
three
environment
variables
and
I
think
that's
what
really
makes
it
interesting,
because
then
you
could
sit
on
like
this
internet
of
things
device
that
might
maybe
not
super
protected,
but
but
you
know
that
that
app,
that's
running
is
only
able
to
do
the
things
that
it
can
do.
If
that
makes
sense,.
B
The
not
having
to
install
the
node
modules
is
pretty
nice
to
update
a
package.
You
just
change
the
url
and
the
version.
The
url
is
how
that
works.
Yep
nice,
it's
very
simple.
A
Yeah-
and
I
really
like
this
depths
pattern,
where
you
just
you
know,
you
put
your
urls
and
your
depths
and
they're
all
in
one
place
and
you
can
go
through
and
update
them
and
and
it's
it's
pretty
easy
and
and
also
like
to
update
a
new
version
of
dino.
Again,
it's
it's
pretty
easy.
It's
like
dino
upgrade
or
something
like
that,
and
then
it
upgrades.
So
it's
like
super
painless
to
stay
current
on
stuff,
but
but
it's
also,
you
know
you
are
locking
yourself
into
versions.
A
A
A
So
can't
do
svelt
on
you
know
yet.
Well,
there
is
a
library
that
does
it,
but
I'm
waiting
for
spelt
kit
to
support
it.
So,
but
you
do
get,
you
know,
react
and
all
that.
A
A
C
B
D
A
Yeah,
that's
pretty
neat.
A
Thanks
for
showing
this
yeah,
it's
it's
still
early
days,
but
I
think
it's
really
worth
playing
around
with
experimenting.
If
you
have
some
spare
time,
the
documentation
is
pretty
good.
This
sif
library
is
what
really
got
me
excited,
so
I
didn't
have
to
do.
I
mean
ad
event.
Listener
is
fine,
but
that's
just
a
lot
of
code
to
type
so
and
yeah.
I
think
that's
all
I've
got.
A
Yep,
I
hope
you
guys
have
a
great
afternoon
and
catch
you
next
time.
You
too
thanks.