diff --git a/.changeset/eight-mangos-pretend.md b/.changeset/eight-mangos-pretend.md
new file mode 100644
index 000000000..7af96468b
--- /dev/null
+++ b/.changeset/eight-mangos-pretend.md
@@ -0,0 +1,7 @@
+---
+'astro': patch
+'@astrojs/parser': patch
+'create-astro': patch
+---
+
+compile javascript to target Node v12.x
diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index db7ef212f..7aefe0cc5 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -54,7 +54,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
- node-version: [14.x, 16.x]
+ node-version: [12.x, 14.x, 16.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
diff --git a/examples/blog-multiple-authors/src/layouts/post.astro b/examples/blog-multiple-authors/src/layouts/post.astro
index b34275d84..ed68459ee 100644
--- a/examples/blog-multiple-authors/src/layouts/post.astro
+++ b/examples/blog-multiple-authors/src/layouts/post.astro
@@ -6,7 +6,7 @@ import authorData from '../data/authors.json';
const { content } = Astro.props;
---
-
+
{content.title}
diff --git a/examples/blog/src/layouts/BlogPost.astro b/examples/blog/src/layouts/BlogPost.astro
index 1b02d7aad..b27effe54 100644
--- a/examples/blog/src/layouts/BlogPost.astro
+++ b/examples/blog/src/layouts/BlogPost.astro
@@ -7,7 +7,7 @@ import BlogPost from '../components/BlogPost.astro';
const {content} = Astro.props;
const {title, description, publishDate, author, heroImage, permalink} = content;
---
-
+
diff --git a/examples/docs/src/layouts/Main.astro b/examples/docs/src/layouts/Main.astro
index f358f8045..47b09a18f 100644
--- a/examples/docs/src/layouts/Main.astro
+++ b/examples/docs/src/layouts/Main.astro
@@ -10,7 +10,7 @@ import DocSidebar from '../components/DocSidebar.tsx';
// It will run during the build, but never in the browser.
// All variables are available to use in the HTML template below.
const { content } = Astro.props;
-const headers = content?.astro?.headers;
+const headers = content.astro.headers;
const currentPage = Astro.request.url.pathname;
const currentFile = currentPage === '/' ? 'src/pages/index.md' : `src/pages${currentPage.replace(/\/$/, "")}.md`;
const githubEditUrl = `https://github.com/USER/REPO/blob/main/${currentFile}`
@@ -18,7 +18,7 @@ const githubEditUrl = `https://github.com/USER/REPO/blob/main/${currentFile}`
// Full Astro Component Syntax:
// https://docs.astro.build/core-concepts/astro-components/
---
-
+
{content.title}
diff --git a/examples/portfolio/src/layouts/project.astro b/examples/portfolio/src/layouts/project.astro
index 3ef6d1b88..8e649ee1f 100644
--- a/examples/portfolio/src/layouts/project.astro
+++ b/examples/portfolio/src/layouts/project.astro
@@ -6,7 +6,7 @@ import Nav from '../components/Nav/index.jsx';
const { content } = Astro.props;
---
-
+