@strapi/strapi
Version:
An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite
1 lines • 6.24 kB
Source Map (JSON)
{"version":3,"file":"enable.mjs","sources":["../../../../../src/cli/commands/telemetry/enable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { randomUUID } from 'crypto';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\ntype PackageJson = {\n strapi?: {\n uuid?: string;\n installId?: string;\n telemetryDisabled?: boolean;\n };\n};\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n return packageObj;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n } else {\n throw err;\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": false in the \"strapi\" object of your package.json manually.`\n );\n\n return false;\n }\n\n throw err;\n }\n};\n\nconst generateNewPackageJSON = (packageObj: PackageJson) => {\n if (!packageObj.strapi) {\n return {\n ...packageObj,\n strapi: {\n uuid: randomUUID(),\n telemetryDisabled: false,\n },\n };\n }\n return {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n uuid: packageObj.strapi.uuid ? packageObj.strapi.uuid : randomUUID(),\n telemetryDisabled: false,\n },\n };\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const packageObj = await readPackageJSON(packageJSONPath);\n\n if (packageObj.strapi && packageObj.strapi.uuid) {\n if (packageObj.strapi.telemetryDisabled === false) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already enabled`);\n process.exit(0);\n }\n }\n\n const updatedPackageJSON = generateNewPackageJSON(packageObj);\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n process.exit(0);\n }\n\n await sendEvent(\n 'didOptInTelemetry',\n updatedPackageJSON.strapi.uuid,\n updatedPackageJSON.strapi?.installId\n );\n console.log(`${chalk.green('Successfully opted into and enabled Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:enable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:enable')\n .description('Enable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:enable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","log","yellow","generateNewPackageJSON","strapi","uuid","randomUUID","telemetryDisabled","action","packageJSONPath","resolve","process","cwd","exists","pathExists","exit","updatedPackageJSON","write","sendEvent","installId","green","command","createCommand","description","runAction"],"mappings":"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"}