Skip to content

Commit

Permalink
Update pre-rendered pages
Browse files Browse the repository at this point in the history
  • Loading branch information
James Bray committed Jan 25, 2022
1 parent 2e10f8d commit 4eab744
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 17 deletions.
16 changes: 12 additions & 4 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { copyFileSync, unlinkSync, existsSync, mkdirSync, statSync, readdirSync, writeFileSync } = require('fs');
const { copyFileSync, unlinkSync, existsSync, statSync, mkdirSync, emptyDirSync, readdirSync, writeFileSync } = require('fs-extra');
const { join } = require('path');

const esbuild = require('esbuild');
Expand All @@ -14,11 +14,18 @@ module.exports = function ({ out = 'build' } = {}) {
name: 'adapter-serverless',

async adapt(builder) {
emptyDirSync(out);

const static_directory = join(out, 'assets');
if (!existsSync(static_directory)) {
mkdirSync(static_directory, { recursive: true });
}

const prerendered_directory = join(out, 'prerendered');
if (!existsSync(static_directory)) {
mkdirSync(static_directory, { recursive: true });
}

const server_directory = join(out, 'server');
if (!existsSync(server_directory)) {
mkdirSync(server_directory, { recursive: true });
Expand Down Expand Up @@ -53,12 +60,13 @@ module.exports = function ({ out = 'build' } = {}) {

builder.log.minor('Prerendering static pages');
await builder.prerender({
dest: `${static_directory}`,
dest: `${prerendered_directory}`,
});

console.log('Building router');
copyFileSync(`${__dirname}/files/router.js`, `${edge_directory}/_router.js`);
writeFileSync(`${edge_directory}/static.js`, `export default ${JSON.stringify(getAllFiles(static_directory))}`)
let files = JSON.stringify([...getAllFiles(static_directory), ...getAllFiles(prerendered_directory)])
writeFileSync(`${edge_directory}/static.js`, `export default ${files}`)

esbuild.buildSync({
entryPoints: [`${edge_directory}/_router.js`],
Expand Down Expand Up @@ -94,4 +102,4 @@ const getAllFiles = function (dirPath, basePath, arrayOfFiles) {
})

return arrayOfFiles
}
}
125 changes: 114 additions & 11 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@yarbsemaj/adapter-lambda",
"version": "0.3.2",
"version": "0.4.0",
"license": "MIT",
"description": "An adapter for [SvelteKit](https://kit.svelte.dev/) for AWS Lambda via Lambda Proxy and API Gateway. [Serverless](https://www.serverless.com/) deployment.",
"repository": {
Expand Down Expand Up @@ -30,6 +30,7 @@
"dependencies": {
"@silvermine/serverless-plugin-cloudfront-lambda-edge": "^2.2.3",
"esbuild": "0.10.1",
"fs-extra": "^10.0.0",
"serverless": "^2.0.0",
"serverless-s3-deploy": "^0.10.1"
}
Expand Down
8 changes: 7 additions & 1 deletion serverless.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ package:
- build/edge/**

custom:
#Config for S3 Upload lib
assets:
auto: true
targets:
Expand All @@ -35,6 +34,12 @@ custom:
empty: true
headers:
CacheControl: max-age=31104000
- source: ./build/prerendered/
globs:
- '**'
empty: true
headers:
CacheControl: max-age=60


functions:
Expand Down Expand Up @@ -101,6 +106,7 @@ resources:
Comment: '${self:service}_${self:provider.stage}'
DefaultCacheBehavior:
TargetOriginId: default
Compress: true
AllowedMethods:
- DELETE
- GET
Expand Down

0 comments on commit 4eab744

Please sign in to comment.