chore: move inline-script to src (#917)

This commit is contained in:
Nolan Lawson 2019-01-26 10:14:15 -08:00 committed by GitHub
parent eb5437e32a
commit d976b621b8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 11 deletions

2
.gitignore vendored
View file

@ -8,4 +8,4 @@ node_modules
/static/robots.txt /static/robots.txt
/static/inline-script.js.map /static/inline-script.js.map
/static/emoji-mart-all.json /static/emoji-mart-all.json
/inline-script-checksum.json /src/inline-script/checksum.js

View file

@ -13,7 +13,7 @@ const writeFile = promisify(fs.writeFile)
const themeColors = fromPairs(themes.map(_ => ([_.name, _.color]))) const themeColors = fromPairs(themes.map(_ => ([_.name, _.color])))
export async function buildInlineScript () { export async function buildInlineScript () {
let inlineScriptPath = path.join(__dirname, '../inline-script.js') let inlineScriptPath = path.join(__dirname, '../src/inline-script/inline-script.js')
let bundle = await rollup({ let bundle = await rollup({
input: inlineScriptPath, input: inlineScriptPath,
@ -38,8 +38,8 @@ export async function buildInlineScript () {
let fullCode = `${code}//# sourceMappingURL=/inline-script.js.map` let fullCode = `${code}//# sourceMappingURL=/inline-script.js.map`
let checksum = crypto.createHash('sha256').update(fullCode).digest('base64') let checksum = crypto.createHash('sha256').update(fullCode).digest('base64')
await writeFile(path.resolve(__dirname, '../inline-script-checksum.json'), await writeFile(path.resolve(__dirname, '../src/inline-script/checksum.js'),
JSON.stringify({ checksum }), 'utf8') `module.exports = ${JSON.stringify(checksum)}`, 'utf8')
await writeFile(path.resolve(__dirname, '../static/inline-script.js.map'), await writeFile(path.resolve(__dirname, '../static/inline-script.js.map'),
map.toString(), 'utf8') map.toString(), 'utf8')

View file

@ -19,7 +19,7 @@ const builders = [
rebuild: buildSass rebuild: buildSass
}, },
{ {
watch: 'inline-script.js', watch: 'src/inline-script/inline-script.js',
comment: '<!-- inline JS -->', comment: '<!-- inline JS -->',
rebuild: buildInlineScript rebuild: buildInlineScript
}, },

View file

@ -1,12 +1,12 @@
// For perf reasons, this script is run inline to quickly set certain styles. // For perf reasons, this script is run inline to quickly set certain styles.
// To allow CSP to work correctly, we also calculate a sha256 hash during // To allow CSP to work correctly, we also calculate a sha256 hash during
// the build process and write it to inline-script-checksum.json. // the build process and write it to checksum.js.
import { testHasLocalStorageOnce } from './src/routes/_utils/testStorage' import { testHasLocalStorageOnce } from '../routes/_utils/testStorage'
import { switchToTheme } from './src/routes/_utils/themeEngine' import { switchToTheme } from '../routes/_utils/themeEngine'
import { basename } from './src/routes/_api/utils' import { basename } from '../routes/_api/utils'
import { onUserIsLoggedOut } from './src/routes/_actions/onUserIsLoggedOut' import { onUserIsLoggedOut } from '../routes/_actions/onUserIsLoggedOut'
window.__themeColors = process.env.THEME_COLORS window.__themeColors = process.env.THEME_COLORS

View file

@ -6,7 +6,7 @@ const app = express()
const helmet = require('helmet') const helmet = require('helmet')
const uuidv4 = require('uuid/v4') const uuidv4 = require('uuid/v4')
const headScriptChecksum = require('../inline-script-checksum').checksum const headScriptChecksum = require('./inline-script/checksum')
const { PORT = 4002 } = process.env const { PORT = 4002 } = process.env