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
ℹ️ Only used for Nuxt 2.13+
Nuxt.js 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.js has grown a lot from it's initial release (7 Nov 2016) and we are keep listening to community feedback to improve it.
However, this manual process only collects feedback from a subset of users that takes 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.js 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.js and Node.js
- General machine informations (MacOS/Linux/Windows and if 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
) - What are the public dependency of your project (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 with several ways:
- Using
nuxt telemetry disable
nuxt telemetry [enable|disable] [-g,--global] [dir]
- Using an environement variable
NUXT_TELEMETRY_DISABLED=1
- Setting
telemetry: false
in your nuxt.config.js
:
export default {
telemetry: false
}
Thank you
We want to thank you for participating in this telemetry program to help us better understand how you use Nuxt.js to keep improving it 💚
License
MIT License
Copyright (c) NuxtJS Team