Skip to content

Commit 4b63e29

Browse files
bendikgoto-bus-stop
authored andcommitted
Fix assets pathing, and add fonts to document tests (#454)
1 parent 7562b51 commit 4b63e29

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

lib/graph-assets.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
var trackDir = require('./track-dir')
22
var utils = require('./utils')
3+
var path = require('path')
34

45
var dirs = [
56
'assets',
@@ -35,7 +36,9 @@ function node (state, createEdge) {
3536
})
3637

3738
tracker.on('change', function () {
38-
var list = tracker.list()
39+
var list = tracker.list().map(function (file) {
40+
return path.posix.format(path.parse(path.relative(basedir, file)))
41+
})
3942
createEdge('list', Buffer.from(list.join(',')))
4043
})
4144

test/document.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ tape('server render choo apps', function (assert) {
8383
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8484
<script src="/__SCRIPTS_HASH__/bundle.js" integrity="sha512-__SCRIPTS_INTEGRITY__" defer></script>
8585
<script>;(function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b})("undefined"!=typeof global?global:this);;(function(a){if(a.loadCSS){var b=loadCSS.relpreload={};if(b.support=function(){try{return a.document.createElement("link").relList.supports("preload")}catch(b){return!1}},b.poly=function(){for(var b=a.document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b[c];"preload"===d.rel&&"style"===d.getAttribute("as")&&(a.loadCSS(d.href,d,d.getAttribute("media")),d.rel=null)}},!b.support()){b.poly();var c=a.setInterval(b.poly,300);a.addEventListener&&a.addEventListener("load",function(){b.poly(),a.clearInterval(c)}),a.attachEvent&&a.attachEvent("onload",function(){a.clearInterval(c)})}}})(this);</script>
86+
<link rel="preload" as="font" crossorigin href="/assets/font.woff">
8687
<link rel="manifest" href="/manifest.json">
8788
<meta name="description" content=>
8889
<meta name="theme-color" content=#fff>
@@ -110,9 +111,14 @@ tape('server render choo apps', function (assert) {
110111
var dirname = 'document-pipeline-' + (Math.random() * 1e4).toFixed()
111112
tmpDirname = path.join(__dirname, '../tmp', dirname)
112113
var tmpScriptname = path.join(tmpDirname, 'index.js')
114+
var assetDirname = path.join(tmpDirname, 'assets')
115+
var fontFilename = path.join(assetDirname, 'font.woff')
113116

114117
mkdirp.sync(tmpDirname)
118+
mkdirp.sync(assetDirname)
119+
115120
fs.writeFileSync(tmpScriptname, script)
121+
fs.writeFileSync(fontFilename, 'binary font data')
116122

117123
var compiler = bankai(tmpScriptname, { watch: false })
118124
compiler.documents('/', function (err, res) {
@@ -153,6 +159,7 @@ tape('server render choo apps with root set', function (assert) {
153159
<meta name="viewport" content="width=device-width, initial-scale=1.0">
154160
<script src="some-custom-root/__SCRIPTS_HASH__/bundle.js" integrity="sha512-__SCRIPTS_INTEGRITY__" defer></script>
155161
<script>;(function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b})("undefined"!=typeof global?global:this);;(function(a){if(a.loadCSS){var b=loadCSS.relpreload={};if(b.support=function(){try{return a.document.createElement("link").relList.supports("preload")}catch(b){return!1}},b.poly=function(){for(var b=a.document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b[c];"preload"===d.rel&&"style"===d.getAttribute("as")&&(a.loadCSS(d.href,d,d.getAttribute("media")),d.rel=null)}},!b.support()){b.poly();var c=a.setInterval(b.poly,300);a.addEventListener&&a.addEventListener("load",function(){b.poly(),a.clearInterval(c)}),a.attachEvent&&a.attachEvent("onload",function(){a.clearInterval(c)})}}})(this);</script>
162+
<link rel="preload" as="font" crossorigin href="some-custom-root/assets/font.woff">
156163
<link rel="manifest" href="some-custom-root/manifest.json">
157164
<meta name="description" content=>
158165
<meta name="theme-color" content=#fff>
@@ -180,9 +187,14 @@ tape('server render choo apps with root set', function (assert) {
180187
var dirname = 'document-pipeline-' + (Math.random() * 1e4).toFixed()
181188
tmpDirname = path.join(__dirname, '../tmp', dirname)
182189
var tmpScriptname = path.join(tmpDirname, 'index.js')
190+
var assetDirname = path.join(tmpDirname, 'assets')
191+
var fontFilename = path.join(assetDirname, 'font.woff')
183192

184193
mkdirp.sync(tmpDirname)
194+
mkdirp.sync(assetDirname)
195+
185196
fs.writeFileSync(tmpScriptname, script)
197+
fs.writeFileSync(fontFilename, 'binary font data')
186198

187199
var compiler = bankai(tmpScriptname, { watch: false, base: 'some-custom-root' })
188200
compiler.documents('/', function (err, res) {

0 commit comments

Comments
 (0)