create-strapi-app
Version:
Generate a new Strapi application.
1 lines • 6.53 kB
Source Map (JSON)
{"version":3,"file":"usage.mjs","sources":["../../src/utils/usage.ts"],"sourcesContent":["import os from 'os';\nimport _ from 'lodash';\n\nimport { Scope, StderrError } from '../types';\n\ntype TrackError = Error | string | StderrError;\n\n// Add properties from the package.json strapi key in the metadata\nfunction addPackageJsonStrapiMetadata(metadata: Record<string, unknown>, scope: Scope) {\n const { packageJsonStrapi = {} } = scope;\n\n return _.defaults(metadata, packageJsonStrapi);\n}\n\nconst boolToString = (value: boolean | undefined) => (value === true).toString();\n\nconst getProperties = (scope: Scope, error?: TrackError) => {\n const eventProperties = {\n error: typeof error === 'string' ? error : error && error.message,\n };\n\n const userProperties = {\n os: os.type(),\n osPlatform: os.platform(),\n osArch: os.arch(),\n osRelease: os.release(),\n nodeVersion: process.versions.node,\n };\n\n const groupProperties = {\n version: scope.strapiVersion,\n docker: scope.docker,\n useYarn: scope.packageManager === 'yarn',\n packageManager: scope.packageManager,\n /** @deprecated */\n useTypescriptOnServer: boolToString(scope.useTypescript),\n /** @deprecated */\n useTypescriptOnAdmin: boolToString(scope.useTypescript),\n useTypescript: boolToString(scope.useTypescript),\n isHostedOnStrapiCloud: process.env.STRAPI_HOSTING === 'strapi.cloud',\n noRun: boolToString(scope.runApp),\n projectId: scope.uuid,\n useExample: boolToString(scope.useExample),\n gitInit: boolToString(scope.gitInit),\n installDependencies: boolToString(scope.installDependencies),\n };\n\n return {\n eventProperties,\n userProperties,\n groupProperties: addPackageJsonStrapiMetadata(groupProperties, scope),\n };\n};\n\nfunction trackEvent(event: string, payload: Record<string, unknown>) {\n if (process.env.NODE_ENV === 'test') {\n return;\n }\n\n try {\n return fetch('https://analytics.strapi.io/api/v2/track', {\n method: 'POST',\n body: JSON.stringify({\n event,\n ...payload,\n }),\n signal: AbortSignal.timeout(1000),\n headers: {\n 'Content-Type': 'application/json',\n 'X-Strapi-Event': event,\n },\n }).catch(() => {});\n } catch (err) {\n /** ignore errors */\n return Promise.resolve();\n }\n}\n\nexport async function trackError({ scope, error }: { scope: Scope; error?: TrackError }) {\n const properties = getProperties(scope, error);\n\n try {\n return await trackEvent('didNotCreateProject', {\n deviceId: scope.deviceId,\n ...properties,\n });\n } catch (err) {\n /** ignore errors */\n return Promise.resolve();\n }\n}\n\nexport async function trackUsage({\n event,\n scope,\n error,\n}: {\n event: string;\n scope: Scope;\n error?: TrackError;\n}) {\n const properties = getProperties(scope, error);\n\n try {\n return await trackEvent(event, {\n deviceId: scope.deviceId,\n ...properties,\n });\n } catch (err) {\n /** ignore errors */\n return Promise.resolve();\n }\n}\n"],"names":["addPackageJsonStrapiMetadata","metadata","scope","packageJsonStrapi","_","defaults","boolToString","value","toString","getProperties","error","eventProperties","message","userProperties","os","type","osPlatform","platform","osArch","arch","osRelease","release","nodeVersion","process","versions","node","groupProperties","version","strapiVersion","docker","useYarn","packageManager","useTypescriptOnServer","useTypescript","useTypescriptOnAdmin","isHostedOnStrapiCloud","env","STRAPI_HOSTING","noRun","runApp","projectId","uuid","useExample","gitInit","installDependencies","trackEvent","event","payload","NODE_ENV","fetch","method","body","JSON","stringify","signal","AbortSignal","timeout","headers","catch","err","Promise","resolve","trackError","properties","deviceId","trackUsage"],"mappings":"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"}