* enable more react landing pages
* move nextjs page logic to separate middleware
* enable codespaces landing page + fixes
* enable /education
* enable /admin
* use pathToRegexp to match routes for react rendering
* run lint
* fix: typo in url
* update sidebar test
* feat: add nextjs middleware handling split
* fix: eslint errors
* fix: filter boolean from csp list
* fix: feature flag nextjs server start
* feat: add prettier rules for ts,tsx files
* fix: remove unnecessary async from next middleware
* fix: next middleware name
* Update tsconfig.json
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Update next-env.d.ts
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* fix: add typescript linting to lint command
* add comment for unsafe-eval, update webpack to use eval in development
* fix: feature flag typo
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Middleware overhaul!
- Remove unnecessary 'async' keywords from middleware functions
- Ensure all middleware functions we create have names
- Wrap the method contents of all async middleware functions in a try-catch+next(error) pattern
* Use asyncMiddleware wrapper instead of try-catch+next(error) pattern
* Remove unnecessary try-catch+next(error) pattern from context middleware
* Do not load the timeout middleware during testing
* Run the link-check-server in testing mode to avoid loading the timeout middleware
* Revert the change to 'package.json'
* Also consider GITHUB_ACTIONS to be a testing environment to support the link checkers
* Add middleware to timeout requests after a period
* Add halt-on-dropped-connection middleware to stop the middleware processing stack if the connection was already dropped
* Add a few strategic bail-out spots for dropped connections during the render-page middleware
* Handle 404s and HEAD requests earlier in the page rendering flow
* Add a few more strategic bail-out spots for dropped connections during the render-page middleware
* Add middleware to notice aborted requests
* Add a check for aborted requests into the isConnectionDropped logic
* Reformat comment for consistency
* Handle aborted requests correctly in the error handler
* Explicit returns for consistency
* Cache archived asset JS/CSS for a day
* Don't waste time with ETag calculations
* Add a comment about the expiration length
* Cache images and fonts for a day
* Cache GraphQL data files for a week
* Set Fastly surrogate-key header on all responses
* Update test to account for new response header
* Add instrument-middleware.js
* Make it do some fancy require-ing
* Use it
* Prefix names
* dot prefix
* Improve async detection
* Add some comments
* Can't instrument error handler
* Move site search to use an endpoint
* Update browser.js
* Update search.js
* Update lib/search/versions.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Fix URLs
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* npm i connect-datadog
* Add connectDatadog middleware
* Add comments
* Use DD_API_KEY to gate
Co-authored-by: Chiedo John <2156688+chiedo@users.noreply.github.com>