docs: re-enable docs linting and update docs (#20084)

This commit is contained in:
Daniel Roe 2023-04-04 14:23:13 +01:00 committed by GitHub
parent bc9c7dcac8
commit e7623ec0b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 51 additions and 34 deletions

View File

@ -12,3 +12,5 @@ MD025: false
MD033: false MD033: false
# Allow non blank lines around list # Allow non blank lines around list
MD032: false MD032: false
MD046:
style: fenced

View File

@ -1,5 +1,5 @@
**/node_modules **/node_modules
docs/content/index.md docs/0.index.md
docs/content/**/*.nuxt.config.md docs/1.getting-started/1.introduction.md
docs/content/changelog.md docs/**/*.nuxt.config.md

View File

@ -141,7 +141,7 @@ Nuxt 3 can be deployed to several cloud providers with a minimal amount of confi
- :icon{name="logos:microsoft-azure" class="h-5 w-4 inline mb-2"} [Azure](https://nitro.unjs.io/deploy/providers/azure) - :icon{name="logos:microsoft-azure" class="h-5 w-4 inline mb-2"} [Azure](https://nitro.unjs.io/deploy/providers/azure)
- :icon{name="ph:cloud-duotone" class="h-5 w-4 inline mb-2"} [Cleavr](https://nitro.unjs.io/deploy/providers/cleavr) - :icon{name="ph:cloud-duotone" class="h-5 w-4 inline mb-2"} [Cleavr](https://nitro.unjs.io/deploy/providers/cleavr)
- :icon{name="logos:cloudflare" class="h-5 w-4 inline mb-2"} [CloudFlare](https://nitro.unjs.io/deploy/providers/cloudflare) - :icon{name="logos:cloudflare" class="h-5 w-4 inline mb-2"} [CloudFlare](https://nitro.unjs.io/deploy/providers/cloudflare)
- :icon{name="logos:digital-ocean" class="h-5 w-4 inline mb-2"} [Digital Ocean](https://nitro.unjs.io/deploy/providers/digitalocean) - :icon{name="logos:digital-ocean" class="h-5 w-4 inline mb-2"} [DigitalOcean](https://nitro.unjs.io/deploy/providers/digitalocean)
- :icon{name="logos:firebase" class="h-5 w-4 inline mb-2"} [Firebase](https://nitro.unjs.io/deploy/providers/firebase) - :icon{name="logos:firebase" class="h-5 w-4 inline mb-2"} [Firebase](https://nitro.unjs.io/deploy/providers/firebase)
- :icon{name="logos:heroku-icon" class="h-5 w-4 inline mb-2"} [heroku](https://nitro.unjs.io/deploy/providers/heroku) - :icon{name="logos:heroku-icon" class="h-5 w-4 inline mb-2"} [heroku](https://nitro.unjs.io/deploy/providers/heroku)
- :icon{name="ph:cloud-duotone" class="h-5 w-4 inline mb-2"} [Edgio](https://nitro.unjs.io/deploy/providers/edgio) - :icon{name="ph:cloud-duotone" class="h-5 w-4 inline mb-2"} [Edgio](https://nitro.unjs.io/deploy/providers/edgio)

View File

@ -19,28 +19,32 @@ Start with one of our starters and themes directly by opening [nuxt.new](https:/
## New Project ## New Project
<!-- TODO: need to fix upstream in nuxt/nuxt.com -->
<!-- markdownlint-disable-next-line MD001 -->
#### Prerequisites #### Prerequisites
- **Node.js** - [`v16.10.0`](https://nodejs.org/en/) or newer - **Node.js** - [`v16.10.0`](https://nodejs.org/en/) or newer
- **Text editor** - We recommend [Visual Studio Code]() with the [Volar Extension](https://marketplace.visualstudio.com/items?itemName=Vue.volar) - **Text editor** - We recommend [Visual Studio Code](https://code.visualstudio.com/) with the [Volar Extension](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
- **Terminal** - In order to run Nuxt commands - **Terminal** - In order to run Nuxt commands
::alert ::alert
::details ::details
:summary[Additional notes for an optimal setup:] :summary[Additional notes for an optimal setup:]
- **Node.js**: Make sure to use an even numbered version (16, 18, etc) - **Node.js**: Make sure to use an even numbered version (16, 18, etc)
- **Volar**: Either enable [**Take Over Mode**](https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode) (recommended) or add the [TypeScript Vue Plugin](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) - **Volar**: Either enable [**Take Over Mode**](https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode) (recommended) or add the [TypeScript Vue Plugin](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin)
If you have enabled **Take Over Mode** or installed the **TypeScript Vue Plugin (Volar)**, you can disable generating the shim for `*.vue` files in your `nuxt.config.ts` file: If you have enabled **Take Over Mode** or installed the **TypeScript Vue Plugin (Volar)**, you can disable generating the shim for `*.vue` files in your `nuxt.config.ts` file:
```ts [nuxt.config.ts] ```ts [nuxt.config.ts]
export default defineNuxtConfig({ export default defineNuxtConfig({
typescript: { typescript: {
shim: false shim: false
} }
}) })
``` ```
::
::
:: ::
Open a terminal (if you're using [Visual Studio Code](https://code.visualstudio.com/), you can open an [integrated terminal](https://code.visualstudio.com/docs/editor/integrated-terminal)) and use the following command to create a new starter project: Open a terminal (if you're using [Visual Studio Code](https://code.visualstudio.com/), you can open an [integrated terminal](https://code.visualstudio.com/docs/editor/integrated-terminal)) and use the following command to create a new starter project:
@ -110,4 +114,4 @@ Well done! A browser window should automatically open for <http://localhost:3000
Now that you've created your Nuxt 3 project, you are ready to start building your application. Now that you've created your Nuxt 3 project, you are ready to start building your application.
* Learn about the framework [concepts](/docs/guide/concepts/auto-imports) - Learn about the framework [concepts](/docs/guide/concepts/auto-imports)

View File

@ -48,7 +48,6 @@ This includes:
You cannot currently define a server-side handler for these errors, but can render an error page (see the next section). You cannot currently define a server-side handler for these errors, but can render an error page (see the next section).
### Errors downloading JS chunks ### Errors downloading JS chunks
You might encounter chunk loading errors due to a network connectivity failure or a new deployment (which invalidates your old, hashed JS chunk URLs). Nuxt provides built-in support for handling chunk loading errors by performing a hard reload when a chunk fails to load during route navigation. You might encounter chunk loading errors due to a network connectivity failure or a new deployment (which invalidates your old, hashed JS chunk URLs). Nuxt provides built-in support for handling chunk loading errors by performing a hard reload when a chunk fails to load during route navigation.

View File

@ -50,7 +50,7 @@ Vue 3 exposes Reactivity APIs like `ref` or `computed`, as well as lifecycle hoo
<!-- TODO: move to separate page with https://github.com/nuxt/nuxt/issues/14723 and add more information --> <!-- TODO: move to separate page with https://github.com/nuxt/nuxt/issues/14723 and add more information -->
When you are using the built-in composition API composables provided by Vue and Nuxt, be aware that many of them rely on being called in the right _context_. When you are using the built-in Composition API composables provided by Vue and Nuxt, be aware that many of them rely on being called in the right _context_.
During a component lifecycle, Vue tracks the temporary instance of the current component (and similarly, Nuxt tracks a temporary instance of `nuxtApp`) via a global variable, and then unsets it in same tick. This is essential when server rendering, both to avoid cross-request state pollution (leaking a shared reference between two users) and to avoid leakage between different components. During a component lifecycle, Vue tracks the temporary instance of the current component (and similarly, Nuxt tracks a temporary instance of `nuxtApp`) via a global variable, and then unsets it in same tick. This is essential when server rendering, both to avoid cross-request state pollution (leaking a shared reference between two users) and to avoid leakage between different components.

View File

@ -16,6 +16,7 @@ The auto-registered files patterns are:
You don't need to add those local modules to your [`nuxt.config.ts`](/docs/guide/directory-structure/nuxt.config) separately. You don't need to add those local modules to your [`nuxt.config.ts`](/docs/guide/directory-structure/nuxt.config) separately.
::code-group ::code-group
```ts [modules/hello/index.ts] ```ts [modules/hello/index.ts]
// `nuxt/kit` is a helper subpath import you can use when defining local modules // `nuxt/kit` is a helper subpath import you can use when defining local modules
// that means you do not need to add `@nuxt/kit` to your project's dependencies // that means you do not need to add `@nuxt/kit` to your project's dependencies
@ -36,11 +37,13 @@ export default defineNuxtModule({
} }
}) })
``` ```
```ts [modules/hello/runtime/api-route.ts] ```ts [modules/hello/runtime/api-route.ts]
export default defineEventHandler(() => { export default defineEventHandler(() => {
return { hello: 'world' } return { hello: 'world' }
} }
``` ```
:: ::
When starting Nuxt, the `hello` module will be registered and the `/api/hello` route will be available. When starting Nuxt, the `hello` module will be registered and the `/api/hello` route will be available.

View File

@ -134,7 +134,7 @@ export { }
``` ```
::alert{type=warning} ::alert{type=warning}
If you are using WebStorm, you may need to augment `@vue/runtime-core` until [this issue](https://youtrack.jetbrains.com/issue/WEB-59818/VUE-Typescript-WS-PS-does-not-correctly-display-type-of-globally-injected-properties) is resolved. If you are using WebStorm, you may need to augment `@vue/runtime-core` until [this issue](https://youtrack.jetbrains.com/issue/WEB-59818/VUE-TypeScript-WS-PS-does-not-correctly-display-type-of-globally-injected-properties) is resolved.
:: ::
## Vue Plugins ## Vue Plugins

View File

@ -91,4 +91,3 @@ declare module 'nuxt/schema' {
// It is always important to ensure you import/export something when augmenting a type // It is always important to ensure you import/export something when augmenting a type
export {} export {}
``` ```

View File

@ -424,6 +424,7 @@ export default defineNuxtModule({
:ReadMore{link="/docs/api/advanced/hooks" title="API > Advanced > Hooks"} :ReadMore{link="/docs/api/advanced/hooks" title="API > Advanced > Hooks"}
::alert{type=info}
**Module cleanup** **Module cleanup**
If your module opens, handles, or starts a watcher, you should close it when the Nuxt lifecycle is done. The `close` hook is available for this. If your module opens, handles, or starts a watcher, you should close it when the Nuxt lifecycle is done. The `close` hook is available for this.
@ -440,6 +441,8 @@ export default defineNuxtModule({
}) })
``` ```
::
#### Augmenting Types #### Augmenting Types
If your module should augment types handled by Nuxt, you can use the `prepare:types` hook to perform this operation. If your module should augment types handled by Nuxt, you can use the `prepare:types` hook to perform this operation.
@ -589,9 +592,9 @@ Consider documenting module usage in the readme file:
Linking to the integration website and documentation is always a good idea. Linking to the integration website and documentation is always a good idea.
#### Provide a Stackblitz Demo or Boilerplate #### Provide a StackBlitz Demo or Boilerplate
It's a good practice to make a minimal reproduction with your module and [StackBlitz](https://nuxt.new/s/v3) that you add to your module readme. It's a good practice to make a minimal reproduction with your module and [StackBlitz](https://nuxt.new/s/v3) that you add to your module readme.
This not only provides potential users of your module a quick and easy way to experiment with the module but also an easy way for them to build minimal reproductions they can send you when they encounter issues. This not only provides potential users of your module a quick and easy way to experiment with the module but also an easy way for them to build minimal reproductions they can send you when they encounter issues.

View File

@ -9,6 +9,7 @@ The `useHeadSafe` composable is a wrapper around the [`useHead`](/docs/api/compo
## Usage ## Usage
You can pass all the same values as `useHead` You can pass all the same values as `useHead`
```ts ```ts
useHeadSafe({ useHeadSafe({
script: [ script: [

View File

@ -46,7 +46,7 @@ Hook | Arguments | Description
`app:templatesGenerated` | `app` | Called after templates are compiled into the [virtual file system](https://nuxt.com/docs/guide/directory-structure/nuxt#virtual-file-system) (vfs). `app:templatesGenerated` | `app` | Called after templates are compiled into the [virtual file system](https://nuxt.com/docs/guide/directory-structure/nuxt#virtual-file-system) (vfs).
`build:before` | - | Called before Nuxt bundle builder. `build:before` | - | Called before Nuxt bundle builder.
`build:done` | - | Called after Nuxt bundle builder is complete. `build:done` | - | Called after Nuxt bundle builder is complete.
`build:manifest` | `manifest` | Called during the manifest build by Vite and Webpack. This allows customizing the manifest that Nitro will use to render `<script>` and `<link>` tags in the final HTML. `build:manifest` | `manifest` | Called during the manifest build by Vite and webpack. This allows customizing the manifest that Nitro will use to render `<script>` and `<link>` tags in the final HTML.
`builder:generateApp` | `options` | Called before generating the app. `builder:generateApp` | `options` | Called before generating the app.
`builder:watch` | `event, path` | Called at build time in development when the watcher spots a change to a file or directory in the project. `builder:watch` | `event, path` | Called at build time in development when the watcher spots a change to a file or directory in the project.
`pages:extend` | `pages` | Called after pages routes are resolved. `pages:extend` | `pages` | Called after pages routes are resolved.

View File

@ -1,6 +1,6 @@
--- ---
title: "nuxi devtools" title: "nuxi devtools"
description: The devtools command allows you to enable or disable Nuxt Devtools on a per-project basis. description: The devtools command allows you to enable or disable Nuxt DevTools on a per-project basis.
--- ---
# `nuxi devtools` # `nuxi devtools`

View File

@ -134,11 +134,18 @@ git checkout -b my-new-branch
### Set Up Documentation Website in Local Environment ### Set Up Documentation Website in Local Environment
We are using [Docus](https://docus.dev) for documentation. The Nuxt documentation is currently deployed within [nuxt/nuxt.com](https://github.com/nuxt/nuxt.com) as a layer.
- Run `pnpm build:stub` once in the root directory - Run `pnpm build:stub` once in the root directory
- Go into the docs directory: `cd docs` <!-- - Go into the docs directory: `cd docs` -->
- Install docs dependencies using `yarn install` <!-- - Install docs dependencies using `yarn install` -->
- Run `yarn dev` to start docs in development mode <!-- - Run `yarn dev` to start docs in development mode -->
- Before opening a PR, run `pnpm docs:lint:fix` to highlight and resolve any lint issues
::alert
🚧 This repository will be open-sourced shortly. Until then, you will need to open a pull request to see a preview of your changes.
::
::alert
We recommend that you install the [MDC extension](https://marketplace.visualstudio.com/items?itemName=Nuxt.mdc) for VS Code. We recommend that you install the [MDC extension](https://marketplace.visualstudio.com/items?itemName=Nuxt.mdc) for VS Code.
::

View File

@ -88,7 +88,6 @@ Nuxt and Nuxt Modules are now build-time-only.
}) })
``` ```
::alert ::alert
If you are a module author, you can check out [more information about module compatibility](/docs/migration/module-authors) and [our module author guide](/docs/guide/going-further/modules). If you are a module author, you can check out [more information about module compatibility](/docs/migration/module-authors) and [our module author guide](/docs/guide/going-further/modules).
:: ::

View File

@ -12,8 +12,8 @@
"example": "./scripts/example.sh dev", "example": "./scripts/example.sh dev",
"example:build": "./scripts/example.sh build", "example:build": "./scripts/example.sh build",
"lint": "eslint --ext .vue,.ts,.js,.mjs .", "lint": "eslint --ext .vue,.ts,.js,.mjs .",
"lint:docs": "markdownlint ./docs/content/1.docs && case-police 'docs/content/1.docs/**/*.md'", "lint:docs": "markdownlint ./docs && case-police 'docs/**/*.md'",
"lint:docs:fix": "markdownlint ./docs/content/1.docs --fix && case-police 'docs/content/1.docs/**/*.md' --fix", "lint:docs:fix": "markdownlint ./docs --fix && case-police 'docs/**/*.md' --fix",
"nuxi": "JITI_ESM_RESOLVE=1 nuxi", "nuxi": "JITI_ESM_RESOLVE=1 nuxi",
"nuxt": "JITI_ESM_RESOLVE=1 nuxi", "nuxt": "JITI_ESM_RESOLVE=1 nuxi",
"play": "pnpm nuxi dev playground", "play": "pnpm nuxi dev playground",