|
1 | 1 | ## Feedback
|
2 | 2 |
|
3 |
| -- Files from `public` not in `outputs.staticFiles` |
| 3 | +- Files from `public` directory not listed in `outputs.staticFiles` |
4 | 4 | - In `onBuildComplete` - `config.images.remotePatterns` type is `(RemotePattern | URL)[]` but in
|
5 | 5 | reality `URL` inputs are converted to `RemotePattern` so type should be just `RemotePattern[]`
|
6 | 6 | - `routes.headers` does not contain immutable cache-control headers for \_next/static
|
7 | 7 | - `outputs.middleware` does not contain env that exist in `middleware-manifest.json` (i.e.
|
8 | 8 | NEXT_SERVER_ACTIONS_ENCRYPTION_KEY, **NEXT_PREVIEW_MODE_ID, **NEXT_PREVIEW_MODE_SIGNING_KEY etc)
|
9 | 9 | - `outputs.middleware.config.matchers` can be undefined per types - can that ever happen? Can we
|
10 | 10 | just have empty array instead to simplify handling.
|
| 11 | +- `outputs.staticFiles` (i18n enabled) custom fully static (no `getStaticProps`) `/pages/404.js` |
| 12 | + `filePath` point to not existing file (it's not i18n locale prefix in `staticFiles` array, actual |
| 13 | + 404.html are written to i18n locale prefixed dirs) |
| 14 | +- `outputs.staticFiles` (i18n enabled) custom `/pages/404.js` with `getStaticProps` result in fatal |
| 15 | + `Error: Invariant: failed to find source route /en/404 for prerender /en/404` directly from |
| 16 | + Next.js: |
| 17 | + |
| 18 | + ``` |
| 19 | + ⨯ Failed to run onBuildComplete from Netlify |
| 20 | +
|
| 21 | + > Build error occurred |
| 22 | + Error: Invariant: failed to find source route /en/404 for prerender /en/404 |
| 23 | + ``` |
| 24 | + |
| 25 | + (additionally - invariant is reported as failing to run `onBuildComplete` from adapter, but it |
| 26 | + happens before adapter's `onBuildComplete` runs, would be good to clear this up a bit so users |
| 27 | + could report issues in correct place in such cases. Not that important for nearest future) |
11 | 28 |
|
12 | 29 | ## Plan
|
13 | 30 |
|
|
18 | 35 | 2. We will use adapters API where it's most helpful:
|
19 | 36 |
|
20 | 37 | - adjusting next config:
|
21 |
| - - set standalone mode instead of using "private" env var (for now at least we will continue with |
22 |
| - standalone mode as using outputs other than middleware require bigger changes which will be |
| 38 | + - [done] set standalone mode instead of using "private" env var (for now at least we will continue |
| 39 | + with standalone mode as using outputs other than middleware require bigger changes which will be |
23 | 40 | explored in later phases)
|
24 |
| - - set image loader (url generator) to use Netlify Image CDN directly (no need for \_next/image |
25 |
| - rewrite then) |
| 41 | + - [done] set image loader (url generator) to use Netlify Image CDN directly (no need for |
| 42 | + \_next/image rewrite then) |
26 | 43 | - (maybe/explore) set build time cache handler to avoid having to read output of default cache
|
27 | 44 | handler and convert those files into blobs to upload later
|
28 |
| -- use middleware output to generate middleware edge function |
29 |
| -- don't glob for static files and use `outputs.staticFiles` instead |
| 45 | +- [partially done - for edge runtime] use middleware output to generate middleware edge function |
| 46 | +- [done] don't glob for static files and use `outputs.staticFiles` instead |
30 | 47 | - don't read various manifest files manually and use provided context in `onBuildComplete` instead
|
31 | 48 |
|
32 | 49 | ## To figure out
|
|
36 | 53 | packagePath, publishDir etc)
|
37 | 54 | - Looking forward - Platform change to accept a list of files to upload to cdn (avoids file system
|
38 | 55 | operations such as `cp`)
|
| 56 | +- Looking forward - allow using regexes for static headers matcher (needed to apply next.config.js |
| 57 | + defined headers to apply to static assets) |
0 commit comments