What is @nuxt/telemetry?
@nuxt/telemetry is a Nuxt.js module that collects anonymous usage data to help improve the framework. It gathers information about your Nuxt.js project, such as the version, features used, and build times, and sends it to the Nuxt.js team. This data helps the team understand how Nuxt.js is being used and identify areas for improvement.
What are @nuxt/telemetry's main functionalities?
Enable/Disable Telemetry
You can enable or disable telemetry data collection by setting the `telemetry` property in your `nuxt.config.js` file. Setting it to `false` will disable telemetry.
export default {
telemetry: false
}
Prompt for Telemetry Consent
You can prompt for telemetry consent in the terminal by running the `npx nuxt telemetry prompt` command. This will ask the user if they want to enable or disable telemetry data collection.
npx nuxt telemetry prompt
Check Telemetry Status
You can check the current status of telemetry data collection by running the `npx nuxt telemetry status` command. This will display whether telemetry is enabled or disabled.
npx nuxt telemetry status
Disable Telemetry via CLI
You can disable telemetry data collection via the command line by running the `npx nuxt telemetry disable` command.
npx nuxt telemetry disable
Enable Telemetry via CLI
You can enable telemetry data collection via the command line by running the `npx nuxt telemetry enable` command.
npx nuxt telemetry enable
Other packages similar to @nuxt/telemetry
gatsby-telemetry
The `gatsby-telemetry` package collects anonymous usage data for Gatsby projects. It helps the Gatsby team improve the framework by understanding how it is being used. Like @nuxt/telemetry, it focuses on gathering data to enhance the developer experience and framework performance.
Nuxt Telemetry Module
Nuxt collects anonymous telemetry data about general usage. This helps us to accurately gauge Nuxt feature usage and customization across all our users.
This program is optional. You will be asked on first time to get permission and you can always opt-out if you'd not like to share any information.
Why collecting Telemetry?
Nuxt has grown a lot from its initial release (7 Nov 2016) and we keep listening to community feedback to improve it.
However, this manual process only collects feedback from a subset of users that take the time to fill the issue template and it may have different needs or use-case than you.
Nuxt Telemetry collects anonymous telemetry data about general usage. This helps us to accurately gauge feature usage and customization across all our users. This data will let us better understand how Nuxt is used globally, measuring improvements made (DX and performances) and their relevance.
Events
We collect multiple events:
- Command invoked (
nuxt dev
, nuxt build
, etc) - Versions of Nuxt and Node.js
- General machine information (MacOS/Linux/Windows and if the command is run within CI, ci name)
- Duration of the Webpack build and average size of the application, as well as the generation stats (when using
nuxt generate
or nuxt export
) - Your project's public dependencies (Nuxt modules)
You can see the list of events in lib/events.
Example of an event:
{
"name": "NUXT_PROJECT",
"payload": {
"type": "GIT",
"isSSR": true,
"target": "server",
"isTypescriptBuild": false,
"isTypescriptRuntime": false,
"isProgrammatic": false,
"packageManager": "npm"
}
}
To display the exact data that will be sent, you can use NUXT_TELEMETRY_DEBUG=1
.
Sensitive data
We take your privacy and our security very seriously.
We do not collect any metrics which may contain sensitive data.
This includes, but is not limited to: environment variables, file paths, contents of files, logs, or serialized JavaScript errors.
The data we collect is completely anonymous, not traceable to the source (using hash+seed), and only meaningful in aggregate form. No data we collect is personally identifiable or trackable.
Opting-out
You can disable Nuxt Telemetry for your project in several ways:
- Setting
telemetry: false
in your nuxt.config
:
export default {
telemetry: false
}
- Using an environment variable:
NUXT_TELEMETRY_DISABLED=1
- Using
npx @nuxt/telemetry disable
npx @nuxt/telemetry [status|enable|disable] [-g,--global] [dir]
Skip Prompt
If you encounter problems with the consent prompt and want to participate without being asked this question, you can set telemetry: true
from nuxt.config
:
export default {
telemetry: true
}
Thank you
We want to thank you for participating in this telemetry program to help us better understand how you use Nuxt to keep improving it 💚
Development
- Run
yarn dev:prepare
to generate type stubs. - Use
yarn dev
to start playground in development mode.
License
MIT License