* Scaffold files for migration
* Move user-agent into unit suite
* Nothing to move from browser suite
* Migrate tests to translations/content
* Migrate existing translation test to meta
* No graphql tests to migrate
* Migrate lint-translation-reporter
* Migrate lint-translation-reporter
* Remove languages-schema, unused
* Restore languages-schema
* Restore languages-schema
* Migrate rendering
* Migrate routing
* Migrate most of unit
* Remove dead files, comment out tests that aren't expected to work yet
* Migrate from get-redirect
* Migrate page and pages
* Migrate linting code
* Fix lint issues
* Found a few more
* Run prettier
* Move crowdin-config test and helper
* Update crowdin-config.js
* Remove translation linting, crowdin config lint, reduce file count
* Remove test that's been skipped for a year
* Restore linting with note to remove later
* Update lint-translation-reporter.js
* Clean up rendering suite
* Update rendering.js
* Remove excessive describe blocks
* Redirect tests
* Clean up unit
* Remove test that's never called
* Don't compare early access
* Rename test suites
* Update "content" tests
* Update files.js
* Update search.js
* Update files.js
* Update files.js
* indexing records into Elasticsearch
* @elastic/elasticsearch@8.2.0
* mv
* fix the code
* pipe
* lfs
* use sha
* change how index names work
* search api with Elasticsearch
* works
* refactor client
* better snowballing
* remove dbg
* wip
* highlights and fuzzy search
* improvements and upgrade
* also upgrade
* wip
* index more explicitly
* better validation
* change max size
* popularity by ordinal ranking instead
* playing
* fix package-lock
* rearranging
* catchMiddlewareError
* fix indexing
* match_phrase_prefix on wrapped search
* refactorings
* escape html in content
* wip
* search by URL
* update lock file
* v1 api
* inroads on jest testing the search
* valid yaml hopefully
* index fixtures into local elasticsearch
* specific versions to index only
* small fixes
* feedbacked
* fix tests
* use the npm script
* Move CSRF response back to XHR
* Update events.js
* Pass through cookieJar
* Enable session route test
* Skip next x csrf test
* Add other fields to endpoint for future issues
* Remove client side parts
* Revert test skip
* Use nested router pattern
* ugh forgot a file
* Update naming
* Update tests/rendering/session.js
Co-authored-by: Peter Bengtsson <peterbe@github.com>
* Updating to use cache control
* Use req.langauge and req.userLanguage
Co-authored-by: Peter Bengtsson <peterbe@github.com>
* pull changes from docs-playground
* cleanup, add callout banner
* cleanup linting and test fixes
* add discussion link
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* 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>
- add `script/test-render-translation.js` to render all translated content to catch malformed liquid that would cause render errors
- improve test output for `script/fix-translation-errors.js` and `tests/content/lint-files.js`
- make it so `script/reset-translated-file.js` can handle files that have been renamed
* Install throng for easy cluster management
* Extract the Express app construction into its own file
* Switch server.js to use app clustering for deployed environments
* Worker count is based on the lesser of process.env.WEB_CONCURRENCY and the count of CPUs
* Reading clustered output is difficult, let's prefix the std{out,err} streams
Co-authored-by: Jason Etcovitch <jasonetco@github.com>
### Why:
A lot of content gets mistranslated, some common patterns are: frontmatter date and enums getting translated, liquid tags get translated or go missing during the translation process. These translation errors are tough to catch, especially when they often come in huge PRs.
### What's being changed:
- Frontmatter is also getting linted against schema as part of `lint-files`
- When an environment variable `TEST_TRANSLATION` is passed,
- `lint-files` will run its tests against all files that have been newly translated (by git-diffing between `translations` branch and `main` branch), and
- results are outputted using a custom jest reporter. The output is formatted in a way that makes it easy to exclude the problematic translated files from being merged, and to share the errors with [localization support](https://github.com/github/localization-support/issues/489).
- Run the implemented translation test as part of the existing `Node.js Tests - Translations` workflow