rsnext/packages/next/server
Wyatt Johnson c6ef857d57
Subresource Integrity for App Directory (#39729)
<!--
Thanks for opening a PR! Your contribution is much appreciated.
In order to make sure your PR is handled as smoothly as possible we
request that you follow the checklist sections below.
Choose the right checklist for the change that you're making:
-->

This serves to add support for [Subresource
Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity)
hashes for scripts added from the new app directory. This also has
support for utilizing nonce values passed from request headers (expected
to be generated per request in middleware) in the bootstrapping scripts
via the `Content-Security-Policy` header as such:

```
Content-Security-Policy: script-src 'nonce-2726c7f26c'
```

Which results in the inline scripts having a new `nonce` attribute hash
added. These features combined support for setting an aggressive Content
Security Policy on scripts loaded.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the
feature request has been accepted for implementation before opening a
PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [x] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [x] Make sure the linting passes by running `pnpm lint`
- [x] The examples guidelines are followed from [our contributing
doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)

Co-authored-by: Steven <steven@ceriously.com>
2022-09-08 15:17:15 -07:00
..
api-utils Ensure path can be specified for clearPreviewData (#40238) 2022-09-05 13:37:08 -07:00
base-http Upgrade typescript to 4.8.2 (#39979) 2022-08-29 16:56:02 +00:00
dev Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
lib Bypass empty pages folder for layouts (#40132) 2022-09-03 00:13:47 +00:00
response-cache Eliminate path polyfill and incremental-cache from base server (#39548) 2022-08-12 15:25:47 +00:00
send-payload Enable @typescript-eslint/no-use-before-define for functions (#39602) 2022-08-15 10:29:51 -04:00
web Update to detect GSSP with edge runtime during build (#40076) 2022-08-30 18:18:02 +00:00
accept-header.ts Enable @typescript-eslint/no-use-before-define for functions (#39602) 2022-08-15 10:29:51 -04:00
app-render.tsx Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
base-server.ts Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
body-streams.ts Fix unhandled rejections with edge runtime (#39091) 2022-07-28 07:50:51 +00:00
config-schema.ts Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
config-shared.ts Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
config-utils.ts Setup require hook in next-server for styled-jsx resolving (#39305) 2022-08-08 20:27:42 -05:00
config.ts Remove warning for swcMinify being enabled (#40359) 2022-09-08 08:43:20 -07:00
crypto-utils.ts Move next-server directory files to server directory (#26756) 2021-06-30 13:44:40 +02:00
font-utils.ts Move next-server directory files to server directory (#26756) 2021-06-30 13:44:40 +02:00
get-app-route-from-entrypoint.ts App Build Stats (#38884) 2022-08-10 19:31:01 +00:00
get-page-files.ts Add initial handling for routing tests (#36635) 2022-05-03 10:37:23 +00:00
get-route-from-entrypoint.ts App Build Stats (#38884) 2022-08-10 19:31:01 +00:00
htmlescape.ts Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
image-optimizer.ts Update to stable: next/future/image, remotePatterns, unoptimized (#40142) 2022-08-31 22:44:17 +00:00
load-components.ts Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
match-bundle.ts App Build Stats (#38884) 2022-08-10 19:31:01 +00:00
next-server.ts Subresource Integrity for App Directory (#39729) 2022-09-08 15:17:15 -07:00
next.ts Handle rewriting WebSocket requests (#39463) 2022-08-10 17:00:30 +00:00
node-polyfill-fetch.js Pre-compile more dependencies (#32742) 2022-01-17 15:17:22 +00:00
node-polyfill-web-streams.js Update Edge Runtime (#38862) 2022-07-21 18:29:19 +00:00
node-web-streams-helper.ts Improved server CSS handling (#39664) 2022-08-17 10:56:52 +00:00
optimize-amp.ts Move next-server directory files to server directory (#26756) 2021-06-30 13:44:40 +02:00
post-process.ts Optimize Edge SSR bundle size (#38570) 2022-07-12 23:39:18 +00:00
render-result.ts Add unstable_useFlushEffects hook (#34117) 2022-02-18 00:18:28 +00:00
render.tsx Enable @typescript-eslint/no-use-before-define for functions (#39602) 2022-08-15 10:29:51 -04:00
request-meta.ts Fix handling with custom _error and pages/500 (#40110) 2022-08-30 18:14:12 -05:00
require.ts Add support for optional catchall with new router (#38444) 2022-07-08 10:29:41 +00:00
router.ts Revert "Revert "Refactor Server Router" (#40328)" (#40333) 2022-09-07 16:38:10 -07:00
serve-static.ts fix(#39706): add avif support for node serve static (#39733) 2022-08-18 17:57:12 +00:00
server-route-utils.ts Enable @typescript-eslint/no-use-before-define variables,enums,typedefs for core files (#39511) 2022-08-11 16:32:52 -05:00
utils.ts chore: Clean up imports and unused code (#39044) 2022-07-26 21:41:59 +00:00
web-server.ts Improved route resolution in next-app-loader (#40109) 2022-09-06 10:03:21 -07:00