Skip to content

Commit 4bd3849

Browse files
ztannerlubieowoce
andcommitted
create-next-app: fix font file corruption when using import alias (#69806)
There's code that uses `glob` to find all template files and replaces the default import alias with whatever is specified during CNA. This does so without excluding fonts, and so we're unintentionally corrupting these `woff` files. This wasn't a problem in previous versions because we didn't use `localFont` in the default template, just `Inter`. The files were technically still being corrupted it just never manifested unless you went to actually use them. This is a quick fix to introduce minimal changes but ideally in a follow-up we should figure out a better solution for replacing aliases, ie by using an allowlist rather than an exclude list. h/t to @lubieowoce for the thorough test cases Fixes #69748 --------- Co-authored-by: Janka Uryga <[email protected]>
1 parent 3756801 commit 4bd3849

File tree

1 file changed

+10
-1
lines changed
  • packages/create-next-app/templates

1 file changed

+10
-1
lines changed

packages/create-next-app/templates/index.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,16 @@ export const installTemplate = async ({
9797
stats: false,
9898
// We don't want to modify compiler options in [ts/js]config.json
9999
// and none of the files in the .git folder
100-
ignore: ["tsconfig.json", "jsconfig.json", ".git/**/*"],
100+
// TODO: Refactor this to be an allowlist, rather than a denylist,
101+
// to avoid corrupting files that weren't intended to be replaced
102+
103+
ignore: [
104+
"tsconfig.json",
105+
"jsconfig.json",
106+
".git/**/*",
107+
"**/fonts/**",
108+
"**/favicon.ico",
109+
],
101110
});
102111
const writeSema = new Sema(8, { capacity: files.length });
103112
await Promise.all(

0 commit comments

Comments
 (0)