next.js
b8b13af1 - Refactor TS plugin code structure (#45375)

Commit
2 years ago
Refactor TS plugin code structure (#45375) This PR mainly refactors the TS plugin structure and moves things over the typescript/ folder under server/. I created a rules/ folder to separate different kinds of insights, current it covers: - Intellisense for entries on the server layer: - Hide autocompletions for disallowed APIs such as `useState` - Show errors if these are used - Intellisense for all entires: - Prop hints such as `params` and `searchParams` for pages, and named slots for layouts - Error for invalid props - Intellisense for exported configs: - Autocompletion and docs for configs - Hover hints for configs - Error for invalid configs and extra exports - Intellisense for client boundary modules - Warn if `"use client"` isn't on the top of other expressions - (**new**) Error for unserializable props passed to exported functions ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/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` - [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md) ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm build && pnpm lint` - [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
Author
Parents
Loading