* cache asset images more aggressively
* more careful about which gets the manual surrogate key
* fix rendered-content-link-checker script too
* feedbacked
* cleanup FEATURE_NEXTJS
* fixing some server tests
* updating article a for server tests
* update h2 to h4 map topic tests
* data off on TOCs
* updating dropdown article versions links
* Update so markdown renders in intros
* updating typo and all server tests are now passing
* remove nextjs feature flag
* head.js tests pass
* updating article-version-picker
* remove nextjs feature flag browser test
* update header.js tests
* fix page-titles.js test
* fix deprecated-enterprise versions
* adding early access
* testing
* getting childTocItem
* fixing table of contents to show child toc items
* updated to 2 because the sidebar article also has the same link
* remove comment
* updating pick
* Update TocLandingContext.tsx
* update package.json and change className to h4 for h2
* updating with mikes feedback
* remove a.active test
* React clean up: Delete unnecessary layouts/includes Part 2 (#20143)
* Delete unnecessary layouts
* setting back tests failing :(
* update layouts
* delete unnecessary includes
* remove github-ae-release-notes and updating layouts
* remove a.active test
* First run of script
* Get the app running --- ish
* Get NextJS working
* Remove `node:`
* Get more tests passing in unit directory
* Update FailBot test to use nock
* Update test.yml
* Update Dockerfile
* tests/content fixes
* Update page.js
* Update build-changelog.js
* updating tests/routing
* Update orphan-tests.js
* updating tests/rendering
* Update .eslintrc.js
* Update .eslintrc.js
* Install jest/globals
* "linting" tests
* staging update to server.mjs
* Change '.github/allowed-actions.js' to a ESM export
* Lint
* Fixes for the main package.json
* Move Jest to be last in the npm test command so we can pass args
* Just use 'npm run lint' in the npm test command
* update algolia label script
* update openapi script
* update require on openapi
* Update enterprise-algolia-label.js
* forgot JSON.parse
* Update lunr-search-index.js
* Always explicitly include process.cwd() for JSON file reads pathed from project root
* update graphql/update-files.js script
* Update other npm scripts using jest to pass ESM NODE_OPTIONS
* Update check-for-enterprise-issues-by-label.js for ESM
* Update create-enterprise-issue.js for ESM
* Import jest global for browser tests
* Convert 'script/deploy' to ESM
Co-authored-by: Grace Park <gracepark@github.com>
Co-authored-by: James M. Greene <jamesmgreene@github.com>
* Ensure all Express 'next' calls include 'return's
* Add headersSent checks during archived versions flow
* Return a 404 earlier if archived resource fetch fails
* Short-circuit responses for archived stuff
* Be more careful about responding to and short-circuiting after search requests
* Fix tests
* 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