diff --git a/packages/website-eslint/README.md b/packages/website-eslint/README.md new file mode 100644 index 000000000000..06e1fb2226bd --- /dev/null +++ b/packages/website-eslint/README.md @@ -0,0 +1,19 @@ +# `website-eslint` + +A bundled version of ESLint plus `typescript-eslint`, made to work in a browser. +This is exclusively used for the playground in the [`website` package](../website/README.md). + +## Building + +`yarn build` runs `build.ts`, which uses ESBuild to create a CommonJS bundle including: + +- ESLint's [`Linter` class](https://eslint.org/docs/latest/integrate/nodejs-api#linter) and built-in rules +- A wrapper that causes TypeScript's `typescript` and `typescript/lib/tsserverlibrary` module entry points to be downloaded on the fly + - This uses the same source as the [TypeScript playground](https://typescriptlang.org/play), giving us a "Monaco web" compatible bundle +- typescript-eslint packages, including: + - `@typescript-eslint/eslint-plugin` and all its configs and rules + - `@typescript-eslint/parser` and `@typescript-eslint/typescript-estree` + +The build files intentionally use deep `/use-at-your-own-risk` imports into our packages. +This is so that esbuild can properly tree-shake and only include the necessary code. +This saves us having to mock unnecessary things and reduces our website bundle size. diff --git a/packages/website/README.md b/packages/website/README.md index 7f4c12e23722..6af12c5c79ce 100644 --- a/packages/website/README.md +++ b/packages/website/README.md @@ -2,7 +2,7 @@ [![Netlify Status](https://api.netlify.com/api/v1/badges/128d21c7-b2fe-45ad-b141-9878fcf5de3a/deploy-status)](https://app.netlify.com/sites/typescript-eslint/deploys) -This website is built using [Docusaurus 2](https://v2.docusaurus.io/), a modern static website generator. +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. ## Installation