Skip to content

Commit fd877ed

Browse files
committed
add the file path to the hash
closes #1367 supersedes #1369
1 parent 3578dff commit fd877ed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+137
-29
lines changed

src/build.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ export async function build(
139139
const sourcePath = join(root, specifier);
140140
effects.output.write(`${faint("build")} ${sourcePath} ${faint("→")} `);
141141
const contents = await bundleStyles({path: sourcePath, minify: true});
142-
const hash = createHash("sha256").update(contents).digest("hex").slice(0, 8);
142+
const hash = createHash("sha256").update(contents).update(specifier).digest("hex").slice(0, 8);
143143
const ext = extname(specifier);
144144
const alias = `/${join("_import", dirname(specifier), `${basename(specifier, ext)}.${hash}${ext}`)}`;
145145
aliases.set(resolveStylesheetPath(root, specifier), alias);
@@ -166,7 +166,7 @@ export async function build(
166166
}
167167
effects.output.write(`${faint("copy")} ${sourcePath} ${faint("→")} `);
168168
const contents = await readFile(sourcePath);
169-
const hash = createHash("sha256").update(contents).digest("hex").slice(0, 8);
169+
const hash = createHash("sha256").update(contents).update(file).digest("hex").slice(0, 8);
170170
const ext = extname(file);
171171
const alias = `/${join("_file", dirname(file), `${basename(file, ext)}.${hash}${ext}`)}`;
172172
aliases.set(loaders.resolveFilePath(file), alias);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../docs/horse.jpg
Lines changed: 7 additions & 0 deletions
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
main {
2+
border: solid 1px red;
3+
}
Lines changed: 7 additions & 0 deletions

test/output/build/archives.posix/tar.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
import {registerFile} from "./_observablehq/stdlib.js";
1717

1818
registerFile("./dynamic-tar-gz/does-not-exist.txt", {"name":"./dynamic-tar-gz/does-not-exist.txt","mimeType":"text/plain","path":"./dynamic-tar-gz/does-not-exist.txt"});
19-
registerFile("./dynamic-tar-gz/file.txt", {"name":"./dynamic-tar-gz/file.txt","mimeType":"text/plain","path":"./_file/dynamic-tar-gz/file.c93138d8.txt","lastModified":/* ts */1706742000000});
19+
registerFile("./dynamic-tar-gz/file.txt", {"name":"./dynamic-tar-gz/file.txt","mimeType":"text/plain","path":"./_file/dynamic-tar-gz/file.282d8294.txt","lastModified":/* ts */1706742000000});
2020
registerFile("./dynamic-tar/does-not-exist.txt", {"name":"./dynamic-tar/does-not-exist.txt","mimeType":"text/plain","path":"./dynamic-tar/does-not-exist.txt"});
21-
registerFile("./dynamic-tar/file.txt", {"name":"./dynamic-tar/file.txt","mimeType":"text/plain","path":"./_file/dynamic-tar/file.c93138d8.txt","lastModified":/* ts */1706742000000});
21+
registerFile("./dynamic-tar/file.txt", {"name":"./dynamic-tar/file.txt","mimeType":"text/plain","path":"./_file/dynamic-tar/file.81db32c1.txt","lastModified":/* ts */1706742000000});
2222
registerFile("./static-tar/does-not-exist.txt", {"name":"./static-tar/does-not-exist.txt","mimeType":"text/plain","path":"./static-tar/does-not-exist.txt"});
23-
registerFile("./static-tar/file.txt", {"name":"./static-tar/file.txt","mimeType":"text/plain","path":"./_file/static-tar/file.c93138d8.txt","lastModified":/* ts */1706742000000});
24-
registerFile("./static-tgz/file.txt", {"name":"./static-tgz/file.txt","mimeType":"text/plain","path":"./_file/static-tgz/file.c93138d8.txt","lastModified":/* ts */1706742000000});
23+
registerFile("./static-tar/file.txt", {"name":"./static-tar/file.txt","mimeType":"text/plain","path":"./_file/static-tar/file.4ee5ee70.txt","lastModified":/* ts */1706742000000});
24+
registerFile("./static-tgz/file.txt", {"name":"./static-tgz/file.txt","mimeType":"text/plain","path":"./_file/static-tgz/file.ded9d524.txt","lastModified":/* ts */1706742000000});
2525

2626
define({id: "d5134368", inputs: ["FileAttachment","display"], body: async (FileAttachment,display) => {
2727
display(await(

test/output/build/archives.posix/zip.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
import {define} from "./_observablehq/client.js";
1616
import {registerFile} from "./_observablehq/stdlib.js";
1717

18-
registerFile("./dynamic/file.txt", {"name":"./dynamic/file.txt","mimeType":"text/plain","path":"./_file/dynamic/file.c93138d8.txt","lastModified":/* ts */1706742000000});
18+
registerFile("./dynamic/file.txt", {"name":"./dynamic/file.txt","mimeType":"text/plain","path":"./_file/dynamic/file.e6632719.txt","lastModified":/* ts */1706742000000});
1919
registerFile("./dynamic/not-found.txt", {"name":"./dynamic/not-found.txt","mimeType":"text/plain","path":"./dynamic/not-found.txt"});
20-
registerFile("./static/file.txt", {"name":"./static/file.txt","mimeType":"text/plain","path":"./_file/static/file.d9014c46.txt","lastModified":/* ts */1706742000000});
20+
registerFile("./static/file.txt", {"name":"./static/file.txt","mimeType":"text/plain","path":"./_file/static/file.cdefba74.txt","lastModified":/* ts */1706742000000});
2121
registerFile("./static/not-found.txt", {"name":"./static/not-found.txt","mimeType":"text/plain","path":"./static/not-found.txt"});
2222

2323
define({id: "d3b9d0ee", inputs: ["FileAttachment","display"], body: async (FileAttachment,display) => {
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
4+
<title>An upper PAGE calling an IMAGE</title>
5+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
6+
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&amp;display=swap" crossorigin>
7+
<link rel="preload" as="style" href="./_import/STYLE.ada7ba12.css">
8+
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&amp;display=swap" crossorigin>
9+
<link rel="stylesheet" type="text/css" href="./_import/STYLE.ada7ba12.css">
10+
<link rel="modulepreload" href="./_observablehq/client.js">
11+
<link rel="modulepreload" href="./_observablehq/runtime.js">
12+
<link rel="modulepreload" href="./_observablehq/stdlib.js">
13+
<script type="module">
14+
15+
import "./_observablehq/client.js";
16+
17+
</script>
18+
<input id="observablehq-sidebar-toggle" type="checkbox" title="Toggle sidebar">
19+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
20+
<nav id="observablehq-sidebar">
21+
<ol>
22+
<label id="observablehq-sidebar-close" for="observablehq-sidebar-toggle"></label>
23+
<li class="observablehq-link"><a href="./">Home</a></li>
24+
</ol>
25+
<ol>
26+
<li class="observablehq-link observablehq-link-active"><a href="./PAGEUPPER">An upper PAGE calling an IMAGE</a></li>
27+
<li class="observablehq-link"><a href="./pagelower">A lower page calling an image</a></li>
28+
</ol>
29+
</nav>
30+
<script>{/* redacted init script */}</script>
31+
<aside id="observablehq-toc" data-selector="h1:not(:first-of-type)[id], h2:first-child[id], :not(h1) + h2[id]">
32+
<nav>
33+
</nav>
34+
</aside>
35+
<div id="observablehq-center">
36+
<main id="observablehq-main" class="observablehq">
37+
<h1 id="an-upper-page-calling-an-image" tabindex="-1"><a class="observablehq-header-anchor" href="#an-upper-page-calling-an-image">An upper PAGE calling an IMAGE</a></h1>
38+
<img src="./_file/IMAGE.f6f20a97.jpg">
39+
</main>
40+
<footer id="observablehq-footer">
41+
<nav><a rel="prev" href="./"><span>Home</span></a><a rel="next" href="./pagelower"><span>A lower page calling an image</span></a></nav>
42+
<div>Built with <a href="https://observablehq.com/" target="_blank" rel="noopener noreferrer">Observable</a> on <a title="2024-01-10T16:00:00">Jan 10, 2024</a>.</div>
43+
</footer>
44+
</div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
main{border:solid 1px red}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
main{border:solid 1px red}

test/output/build/case-sensitive-public/_observablehq/client.js

Whitespace-only changes.

test/output/build/case-sensitive-public/_observablehq/runtime.js

Whitespace-only changes.

test/output/build/case-sensitive-public/_observablehq/stdlib.js

Whitespace-only changes.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
4+
<title>A lower page calling an image</title>
5+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
6+
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&amp;display=swap" crossorigin>
7+
<link rel="preload" as="style" href="./_import/style.51174bcc.css">
8+
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&amp;display=swap" crossorigin>
9+
<link rel="stylesheet" type="text/css" href="./_import/style.51174bcc.css">
10+
<link rel="modulepreload" href="./_observablehq/client.js">
11+
<link rel="modulepreload" href="./_observablehq/runtime.js">
12+
<link rel="modulepreload" href="./_observablehq/stdlib.js">
13+
<script type="module">
14+
15+
import "./_observablehq/client.js";
16+
17+
</script>
18+
<input id="observablehq-sidebar-toggle" type="checkbox" title="Toggle sidebar">
19+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
20+
<nav id="observablehq-sidebar">
21+
<ol>
22+
<label id="observablehq-sidebar-close" for="observablehq-sidebar-toggle"></label>
23+
<li class="observablehq-link"><a href="./">Home</a></li>
24+
</ol>
25+
<ol>
26+
<li class="observablehq-link"><a href="./PAGEUPPER">An upper PAGE calling an IMAGE</a></li>
27+
<li class="observablehq-link observablehq-link-active"><a href="./pagelower">A lower page calling an image</a></li>
28+
</ol>
29+
</nav>
30+
<script>{/* redacted init script */}</script>
31+
<aside id="observablehq-toc" data-selector="h1:not(:first-of-type)[id], h2:first-child[id], :not(h1) + h2[id]">
32+
<nav>
33+
</nav>
34+
</aside>
35+
<div id="observablehq-center">
36+
<main id="observablehq-main" class="observablehq">
37+
<h1 id="a-lower-page-calling-an-image" tabindex="-1"><a class="observablehq-header-anchor" href="#a-lower-page-calling-an-image">A lower page calling an image</a></h1>
38+
<img src="./_file/image.a6189c24.jpg">
39+
</main>
40+
<footer id="observablehq-footer">
41+
<nav><a rel="prev" href="./PAGEUPPER"><span>An upper PAGE calling an IMAGE</span></a></nav>
42+
<div>Built with <a href="https://observablehq.com/" target="_blank" rel="noopener noreferrer">Observable</a> on <a title="2024-01-10T16:00:00">Jan 10, 2024</a>.</div>
43+
</footer>
44+
</div>

test/output/build/fetches/foo.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
import {define} from "./_observablehq/client.js";
1717
import {registerFile} from "./_observablehq/stdlib.js";
1818

19-
registerFile("./foo/foo-data.csv", {"name":"./foo/foo-data.csv","mimeType":"text/csv","path":"./_file/foo/foo-data.24ef4634.csv","lastModified":/* ts */1706742000000});
20-
registerFile("./foo/foo-data.json", {"name":"./foo/foo-data.json","mimeType":"application/json","path":"./_file/foo/foo-data.67358ed8.json","lastModified":/* ts */1706742000000});
19+
registerFile("./foo/foo-data.csv", {"name":"./foo/foo-data.csv","mimeType":"text/csv","path":"./_file/foo/foo-data.30c71216.csv","lastModified":/* ts */1706742000000});
20+
registerFile("./foo/foo-data.json", {"name":"./foo/foo-data.json","mimeType":"application/json","path":"./_file/foo/foo-data.b400d8ad.json","lastModified":/* ts */1706742000000});
2121

2222
define({id: "47a695da", inputs: ["display"], outputs: ["fooJsonData","fooCsvData"], body: async (display) => {
2323
const {fooJsonData, fooCsvData} = await import("./_import/foo/foo.6fd063d5.js");

test/output/build/fetches/top.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import {define} from "./_observablehq/client.js";
1818
import {registerFile} from "./_observablehq/stdlib.js";
1919

20-
registerFile("./foo/foo-data.csv", {"name":"./foo/foo-data.csv","mimeType":"text/csv","path":"./_file/foo/foo-data.24ef4634.csv","lastModified":/* ts */1706742000000});
21-
registerFile("./foo/foo-data.json", {"name":"./foo/foo-data.json","mimeType":"application/json","path":"./_file/foo/foo-data.67358ed8.json","lastModified":/* ts */1706742000000});
22-
registerFile("./top-data.csv", {"name":"./top-data.csv","mimeType":"text/csv","path":"./_file/top-data.24ef4634.csv","lastModified":/* ts */1706742000000});
23-
registerFile("./top-data.json", {"name":"./top-data.json","mimeType":"application/json","path":"./_file/top-data.67358ed8.json","lastModified":/* ts */1706742000000});
20+
registerFile("./foo/foo-data.csv", {"name":"./foo/foo-data.csv","mimeType":"text/csv","path":"./_file/foo/foo-data.30c71216.csv","lastModified":/* ts */1706742000000});
21+
registerFile("./foo/foo-data.json", {"name":"./foo/foo-data.json","mimeType":"application/json","path":"./_file/foo/foo-data.b400d8ad.json","lastModified":/* ts */1706742000000});
22+
registerFile("./top-data.csv", {"name":"./top-data.csv","mimeType":"text/csv","path":"./_file/top-data.1b4c59ba.csv","lastModified":/* ts */1706742000000});
23+
registerFile("./top-data.json", {"name":"./top-data.json","mimeType":"application/json","path":"./_file/top-data.34cb96f2.json","lastModified":/* ts */1706742000000});
2424

2525
define({id: "cb908c08", inputs: ["display"], outputs: ["fooCsvData","fooJsonData","topCsvData","topJsonData"], body: async (display) => {
2626
const {fooCsvData, fooJsonData, topCsvData, topJsonData} = await import("./_import/top.d8f5cc36.js");

test/output/build/files/files.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
import {define} from "./_observablehq/client.js";
1616
import {registerFile} from "./_observablehq/stdlib.js";
1717

18-
registerFile("./file-top.csv", {"name":"./file-top.csv","mimeType":"text/csv","path":"./_file/file-top.01a7ce0a.csv","lastModified":/* ts */1706742000000});
19-
registerFile("./observable logo.png", {"name":"./observable logo.png","mimeType":"image/png","path":"./_file/observable logo.b620bd08.png","lastModified":/* ts */1706742000000});
20-
registerFile("./subsection/file-sub.csv", {"name":"./subsection/file-sub.csv","mimeType":"text/csv","path":"./_file/subsection/file-sub.72c2c61c.csv","lastModified":/* ts */1706742000000});
18+
registerFile("./file-top.csv", {"name":"./file-top.csv","mimeType":"text/csv","path":"./_file/file-top.d4f763d3.csv","lastModified":/* ts */1706742000000});
19+
registerFile("./observable logo.png", {"name":"./observable logo.png","mimeType":"image/png","path":"./_file/observable logo.2c985a2c.png","lastModified":/* ts */1706742000000});
20+
registerFile("./subsection/file-sub.csv", {"name":"./subsection/file-sub.csv","mimeType":"text/csv","path":"./_file/subsection/file-sub.c2b09af4.csv","lastModified":/* ts */1706742000000});
2121
registerFile("./unknown-mime-extension.really", {"name":"./unknown-mime-extension.really","path":"./unknown-mime-extension.really"});
2222

2323
define({id: "10037545", inputs: ["FileAttachment","display"], body: async (FileAttachment,display) => {
@@ -64,14 +64,14 @@
6464
</aside>
6565
<div id="observablehq-center">
6666
<main id="observablehq-main" class="observablehq">
67-
<link rel="stylesheet" href="./_file/custom-styles.b072c9c8.css">
68-
<link rel="stylesheet" href="./_file/subsection/additional-styles.3a854b3a.css">
67+
<link rel="stylesheet" href="./_file/custom-styles.d7ea2bb5.css">
68+
<link rel="stylesheet" href="./_file/subsection/additional-styles.24b10888.css">
6969
<link rel="stylesheet" href="https://example.com/style.css">
7070
<div id="cell-10037545" class="observablehq observablehq--block"><span class="observablehq-loading"></span></div>
7171
<div id="cell-453a8147" class="observablehq observablehq--block"><span class="observablehq-loading"></span></div>
7272
<div id="cell-444c421e" class="observablehq observablehq--block"><span class="observablehq-loading"></span></div>
7373
<div id="cell-cee3ab67" class="observablehq observablehq--block"><span class="observablehq-loading"></span></div>
74-
<p><img src="./_file/observable%20logo%20small.8a915536.png" alt=""></p>
74+
<p><img src="./_file/observable%20logo%20small.93dd2664.png" alt=""></p>
7575
</main>
7676
<footer id="observablehq-footer">
7777
<nav><a rel="prev" href="./"><span>Home</span></a><a rel="next" href="./subsection/subfiles"><span>Untitled</span></a></nav>

test/output/build/files/subsection/subfiles.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
import {define} from "../_observablehq/client.js";
1616
import {registerFile} from "../_observablehq/stdlib.js";
1717

18-
registerFile("../file-top.csv", {"name":"../file-top.csv","mimeType":"text/csv","path":"../_file/file-top.01a7ce0a.csv","lastModified":/* ts */1706742000000});
19-
registerFile("./file-sub.csv", {"name":"./file-sub.csv","mimeType":"text/csv","path":"../_file/subsection/file-sub.72c2c61c.csv","lastModified":/* ts */1706742000000});
18+
registerFile("../file-top.csv", {"name":"../file-top.csv","mimeType":"text/csv","path":"../_file/file-top.d4f763d3.csv","lastModified":/* ts */1706742000000});
19+
registerFile("./file-sub.csv", {"name":"./file-sub.csv","mimeType":"text/csv","path":"../_file/subsection/file-sub.c2b09af4.csv","lastModified":/* ts */1706742000000});
2020

2121
define({id: "ef9a31ef", inputs: ["FileAttachment","display"], body: async (FileAttachment,display) => {
2222
display(await(
@@ -50,8 +50,8 @@
5050
</aside>
5151
<div id="observablehq-center">
5252
<main id="observablehq-main" class="observablehq">
53-
<link rel="stylesheet" href="../_file/custom-styles.b072c9c8.css">
54-
<link rel="stylesheet" href="../_file/subsection/additional-styles.3a854b3a.css">
53+
<link rel="stylesheet" href="../_file/custom-styles.d7ea2bb5.css">
54+
<link rel="stylesheet" href="../_file/subsection/additional-styles.24b10888.css">
5555
<div id="cell-ef9a31ef" class="observablehq observablehq--block"><span class="observablehq-loading"></span></div>
5656
<div id="cell-834ecf9f" class="observablehq observablehq--block"><span class="observablehq-loading"></span></div>
5757
</main>

test/output/build/imports/foo/foo.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import {define} from "../_observablehq/client.js";
2222
import {registerFile} from "../_observablehq/stdlib.js";
2323

24-
registerFile("../top.js", {"name":"../top.js","mimeType":"text/javascript","path":"../_file/top.a53c5d5b.js","lastModified":/* ts */1706742000000});
24+
registerFile("../top.js", {"name":"../top.js","mimeType":"text/javascript","path":"../_file/top.f29fa6df.js","lastModified":/* ts */1706742000000});
2525

2626
define({id: "261e010e", inputs: ["display","FileAttachment"], outputs: ["d3","bar","top"], body: async (display,FileAttachment) => {
2727
const [d3, {bar}, {top}] = await Promise.all([import("../_npm/[email protected]/_esm.js"), import("../_import/bar/bar.13bb8056.js"), import("../_import/top.160847a6.js")]);

test/output/build/imports/script.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<main id="observablehq-main" class="observablehq">
3838
<h1 id="scripts" tabindex="-1"><a class="observablehq-header-anchor" href="#scripts">Scripts</a></h1>
3939
<script src="./_import/top.160847a6.js" type="module"></script>
40-
<script src="./_file/top.a53c5d5b.js" type="other"></script>
40+
<script src="./_file/top.f29fa6df.js" type="other"></script>
4141
</main>
4242
<footer id="observablehq-footer">
4343
<nav><a rel="prev" href="./"><span>Home</span></a><a rel="next" href="./foo/foo"><span>Foo</span></a></nav>

test/output/build/multi/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
import {define} from "./_observablehq/client.js";
1717
import {registerFile} from "./_observablehq/stdlib.js";
1818

19-
registerFile("./file1.csv", {"name":"./file1.csv","mimeType":"text/csv","path":"./_file/file1.259f3fd9.csv","lastModified":/* ts */1706742000000});
20-
registerFile("./file2.csv", {"name":"./file2.csv","mimeType":"text/csv","path":"./_file/file2.c70f7d51.csv","lastModified":/* ts */1706742000000});
19+
registerFile("./file1.csv", {"name":"./file1.csv","mimeType":"text/csv","path":"./_file/file1.16d90c8c.csv","lastModified":/* ts */1706742000000});
20+
registerFile("./file2.csv", {"name":"./file2.csv","mimeType":"text/csv","path":"./_file/file2.8848a681.csv","lastModified":/* ts */1706742000000});
2121

2222
define({id: "1bcb5df5", inputs: ["FileAttachment"], outputs: ["f1"], body: (FileAttachment) => {
2323
const f1 = FileAttachment("./file1.csv").csv();

test/output/build/simple/simple.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import {define} from "./_observablehq/client.js";
1616
import {registerFile} from "./_observablehq/stdlib.js";
1717

18-
registerFile("./data.txt", {"name":"./data.txt","mimeType":"text/plain","path":"./_file/data.9d63c3b5.txt","lastModified":/* ts */1706742000000});
18+
registerFile("./data.txt", {"name":"./data.txt","mimeType":"text/plain","path":"./_file/data.b24e9949.txt","lastModified":/* ts */1706742000000});
1919

2020
define({id: "115586ff", inputs: ["FileAttachment"], outputs: ["result"], body: (FileAttachment) => {
2121
let result = FileAttachment("./data.txt").text();

0 commit comments

Comments
 (0)