1+ import { Request , Response } from 'express' ;
12import get404Sketch from './404Page' ;
23
34export function renderIndex ( ) {
4- const assetsManifest = process . env . webpackAssets && JSON . parse ( process . env . webpackAssets ) ;
5+ const assetsManifest =
6+ process . env . webpackAssets && JSON . parse ( process . env . webpackAssets ) ;
57 return `
68 <!DOCTYPE html>
79 <html lang="en">
@@ -11,7 +13,11 @@ export function renderIndex() {
1113 <meta name="keywords" content="p5.js, p5.js web editor, web editor, processing, code editor" />
1214 <meta name="description" content="A web editor for p5.js, a JavaScript library with the goal of making coding accessible to artists, designers, educators, and beginners." />
1315 <title>p5.js Web Editor</title>
14- ${ process . env . NODE_ENV === 'production' ? `<link rel='stylesheet' href='${ assetsManifest [ '/app.css' ] } ' />` : '' }
16+ ${
17+ process . env . NODE_ENV === 'production'
18+ ? `<link rel='stylesheet' href='${ assetsManifest [ '/app.css' ] } ' />`
19+ : ''
20+ }
1521 <link href='https://fonts.googleapis.com/css?family=Inconsolata:400,700' rel='stylesheet' type='text/css'>
1622 <link href='https://fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
1723 <link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' / >
@@ -25,31 +31,54 @@ export function renderIndex() {
2531 window.process.env.API_URL = '${ process . env . API_URL } ';
2632 window.process.env.NODE_ENV = '${ process . env . NODE_ENV } ';
2733 window.process.env.S3_BUCKET = '${ process . env . S3_BUCKET } ';
28- window.process.env.S3_BUCKET_URL_BASE = ${ process . env . S3_BUCKET_URL_BASE ? `'${ process . env . S3_BUCKET_URL_BASE } '` : undefined } ;
34+ window.process.env.S3_BUCKET_URL_BASE = ${
35+ process . env . S3_BUCKET_URL_BASE
36+ ? `'${ process . env . S3_BUCKET_URL_BASE } '`
37+ : undefined
38+ } ;
2939 window.process.env.AWS_REGION = '${ process . env . AWS_REGION } ';
30- window.process.env.FORCE_TO_HTTPS = ${ process . env . FORCE_TO_HTTPS === 'false' ? false : undefined } ;
40+ window.process.env.FORCE_TO_HTTPS = ${
41+ process . env . FORCE_TO_HTTPS === 'false' ? false : undefined
42+ } ;
3143 window.process.env.CLIENT = true;
32- window.process.env.LOGIN_ENABLED = ${ process . env . LOGIN_ENABLED === 'false' ? false : true } ;
33- window.process.env.EXAMPLES_ENABLED = ${ process . env . EXAMPLES_ENABLED === 'false' ? false : true } ;
34- window.process.env.UI_ACCESS_TOKEN_ENABLED = ${ process . env . UI_ACCESS_TOKEN_ENABLED === 'false' ? false : true } ;
35- window.process.env.UI_COLLECTIONS_ENABLED = ${ process . env . UI_COLLECTIONS_ENABLED === 'false' ? false : true } ;
36- window.process.env.UPLOAD_LIMIT = ${ process . env . UPLOAD_LIMIT ? `${ process . env . UPLOAD_LIMIT } ` : undefined } ;
37- window.process.env.TRANSLATIONS_ENABLED = ${ process . env . TRANSLATIONS_ENABLED === 'true' ? true : false } ;
44+ window.process.env.LOGIN_ENABLED = ${
45+ process . env . LOGIN_ENABLED !== 'false'
46+ } ;
47+ window.process.env.EXAMPLES_ENABLED = ${
48+ process . env . EXAMPLES_ENABLED !== 'false'
49+ } ;
50+ window.process.env.UI_ACCESS_TOKEN_ENABLED = ${
51+ process . env . UI_ACCESS_TOKEN_ENABLED !== 'false'
52+ } ;
53+ window.process.env.UI_COLLECTIONS_ENABLED = ${
54+ process . env . UI_COLLECTIONS_ENABLED !== 'false'
55+ } ;
56+ window.process.env.UPLOAD_LIMIT = ${
57+ process . env . UPLOAD_LIMIT ? `${ process . env . UPLOAD_LIMIT } ` : undefined
58+ } ;
59+ window.process.env.TRANSLATIONS_ENABLED = ${
60+ process . env . TRANSLATIONS_ENABLED === 'true'
61+ } ;
3862 window.process.env.PREVIEW_URL = '${ process . env . PREVIEW_URL } ';
3963 window.process.env.GA_MEASUREMENT_ID='${ process . env . GA_MEASUREMENT_ID } ';
4064 </script>
4165 </head>
4266 <body>
4367 <div id="root" class="root-app">
4468 </div>
45- <script src='${ process . env . NODE_ENV === 'production' ? `${ assetsManifest [ '/app.js' ] } ` : '/app.js' } '></script>
69+ <script src='${
70+ process . env . NODE_ENV === 'production'
71+ ? `${ assetsManifest [ '/app.js' ] } `
72+ : '/app.js'
73+ } '></script>
4674 </body>
4775 </html>
4876 ` ;
4977}
5078
51- export function renderProjectIndex ( username , projectName ) {
52- const assetsManifest = process . env . webpackAssets && JSON . parse ( process . env . webpackAssets ) ;
79+ export function renderProjectIndex ( username : string , projectName : string ) {
80+ const assetsManifest =
81+ process . env . webpackAssets && JSON . parse ( process . env . webpackAssets ) ;
5382 return `
5483 <!DOCTYPE html>
5584 <html lang="en">
@@ -59,7 +88,11 @@ export function renderProjectIndex(username, projectName) {
5988 <meta name="keywords" content="p5.js, p5.js web editor, web editor, processing, code editor" />
6089 <meta name="description" content="A web editor for p5.js, a JavaScript library with the goal of making coding accessible to artists, designers, educators, and beginners." />
6190 <title>${ `${ projectName } by ${ username } -` } p5.js Web Editor</title>
62- ${ process . env . NODE_ENV === 'production' ? `<link rel='stylesheet' href='${ assetsManifest [ '/app.css' ] } ' />` : '' }
91+ ${
92+ process . env . NODE_ENV === 'production'
93+ ? `<link rel='stylesheet' href='${ assetsManifest [ '/app.css' ] } ' />`
94+ : ''
95+ }
6396 <link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
6497 <link href='https://fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
6598 <link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' / >
@@ -73,24 +106,46 @@ export function renderProjectIndex(username, projectName) {
73106 window.process.env.API_URL = '${ process . env . API_URL } ';
74107 window.process.env.NODE_ENV = '${ process . env . NODE_ENV } ';
75108 window.process.env.S3_BUCKET = '${ process . env . S3_BUCKET } ';
76- window.process.env.S3_BUCKET_URL_BASE = ${ process . env . S3_BUCKET_URL_BASE ? `'${ process . env . S3_BUCKET_URL_BASE } '` : undefined } ;
109+ window.process.env.S3_BUCKET_URL_BASE = ${
110+ process . env . S3_BUCKET_URL_BASE
111+ ? `'${ process . env . S3_BUCKET_URL_BASE } '`
112+ : undefined
113+ } ;
77114 window.process.env.AWS_REGION = '${ process . env . AWS_REGION } ';
78- window.process.env.FORCE_TO_HTTPS = ${ process . env . FORCE_TO_HTTPS === 'false' ? false : undefined } ;
115+ window.process.env.FORCE_TO_HTTPS = ${
116+ process . env . FORCE_TO_HTTPS === 'false' ? false : undefined
117+ } ;
79118 window.process.env.CLIENT = true;
80- window.process.env.LOGIN_ENABLED = ${ process . env . LOGIN_ENABLED === 'false' ? false : true } ;
81- window.process.env.EXAMPLES_ENABLED = ${ process . env . EXAMPLES_ENABLED === 'false' ? false : true } ;
82- window.process.env.UI_ACCESS_TOKEN_ENABLED = ${ process . env . UI_ACCESS_TOKEN_ENABLED === 'false' ? false : true } ;
83- window.process.env.UI_COLLECTIONS_ENABLED = ${ process . env . UI_COLLECTIONS_ENABLED === 'false' ? false : true } ;
84- window.process.env.UPLOAD_LIMIT = ${ process . env . UPLOAD_LIMIT ? `${ process . env . UPLOAD_LIMIT } ` : undefined } ;
85- window.process.env.TRANSLATIONS_ENABLED = ${ process . env . TRANSLATIONS_ENABLED === 'true' ? true : false } ;
119+ window.process.env.LOGIN_ENABLED = ${
120+ process . env . LOGIN_ENABLED !== 'false'
121+ } ;
122+ window.process.env.EXAMPLES_ENABLED = ${
123+ process . env . EXAMPLES_ENABLED !== 'false'
124+ } ;
125+ window.process.env.UI_ACCESS_TOKEN_ENABLED = ${
126+ process . env . UI_ACCESS_TOKEN_ENABLED !== 'false'
127+ } ;
128+ window.process.env.UI_COLLECTIONS_ENABLED = ${
129+ process . env . UI_COLLECTIONS_ENABLED !== 'false'
130+ } ;
131+ window.process.env.UPLOAD_LIMIT = ${
132+ process . env . UPLOAD_LIMIT ? `${ process . env . UPLOAD_LIMIT } ` : undefined
133+ } ;
134+ window.process.env.TRANSLATIONS_ENABLED = ${
135+ process . env . TRANSLATIONS_ENABLED === 'true'
136+ } ;
86137 window.process.env.PREVIEW_URL = '${ process . env . PREVIEW_URL } ';
87138 window.process.env.GA_MEASUREMENT_ID='${ process . env . GA_MEASUREMENT_ID } ';
88139 </script>
89140 </head>
90141 <body>
91142 <div id="root" class="root-app">
92143 </div>
93- <script src='${ process . env . NODE_ENV === 'production' ? `${ assetsManifest [ '/app.js' ] } ` : '/app.js' } '></script>
144+ <script src='${
145+ process . env . NODE_ENV === 'production'
146+ ? `${ assetsManifest [ '/app.js' ] } `
147+ : '/app.js'
148+ } '></script>
94149 </body>
95150 </html>
96151 ` ;
@@ -102,12 +157,12 @@ export function renderProjectIndex(username, projectName) {
102157 * @param {import('express').e.Response } res
103158 * @param {boolean } [exists]
104159 */
105- export default async function sendHtml ( req , res , exists = true ) {
160+ export async function sendHtml ( req : Request , res : Response , exists = true ) {
106161 if ( ! exists ) {
107162 res . status ( 404 ) ;
108163 const html = await get404Sketch ( ) ;
109164 res . send ( html ) ;
110165 } else {
111166 res . send ( renderIndex ( ) ) ;
112167 }
113- } ;
168+ }
0 commit comments