create-strapi-app 5.37.0 → 5.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloud.js.map +1 -1
- package/dist/cloud.mjs.map +1 -1
- package/dist/create-strapi.js.map +1 -1
- package/dist/create-strapi.mjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/prompts.js.map +1 -1
- package/dist/prompts.mjs.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/check-install-path.js.map +1 -1
- package/dist/utils/check-install-path.mjs.map +1 -1
- package/dist/utils/check-requirements.js.map +1 -1
- package/dist/utils/check-requirements.mjs.map +1 -1
- package/dist/utils/database.js.map +1 -1
- package/dist/utils/database.mjs.map +1 -1
- package/dist/utils/dot-env.js.map +1 -1
- package/dist/utils/dot-env.mjs.map +1 -1
- package/dist/utils/engines.js.map +1 -1
- package/dist/utils/engines.mjs.map +1 -1
- package/dist/utils/get-package-manager-args.js.map +1 -1
- package/dist/utils/get-package-manager-args.mjs.map +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/git.mjs.map +1 -1
- package/dist/utils/gitignore.js.map +1 -1
- package/dist/utils/gitignore.mjs.map +1 -1
- package/dist/utils/install-id.js.map +1 -1
- package/dist/utils/install-id.mjs.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/logger.mjs.map +1 -1
- package/dist/utils/package-json.js.map +1 -1
- package/dist/utils/package-json.mjs.map +1 -1
- package/dist/utils/parse-to-chalk.js.map +1 -1
- package/dist/utils/parse-to-chalk.mjs.map +1 -1
- package/dist/utils/template.js.map +1 -1
- package/dist/utils/template.mjs.map +1 -1
- package/dist/utils/usage.js.map +1 -1
- package/dist/utils/usage.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.mjs","sources":["../../src/utils/template.ts"],"sourcesContent":["import path from 'node:path';\nimport url from 'node:url';\nimport { Readable } from 'node:stream';\nimport { pipeline } from 'node:stream/promises';\nimport * as tar from 'tar';\nimport retry from 'async-retry';\n\nimport fse from 'fs-extra';\nimport type { Scope } from '../types';\n\nconst stripTrailingSlash = (str: string) => {\n return str.endsWith('/') ? str.slice(0, -1) : str;\n};\n\n// Merge template with new project being created\nexport async function copyTemplate(scope: Scope, rootPath: string) {\n const { template } = scope;\n\n if (!template) {\n throw new Error('Missing template or example app option');\n }\n\n if (await isOfficialTemplate(template, scope.templateBranch)) {\n await retry(\n () =>\n downloadGithubRepo(rootPath, {\n owner: 'strapi',\n repo: 'strapi',\n branch: scope.templateBranch,\n subPath: `templates/${template}`,\n }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n return;\n }\n\n if (isLocalTemplate(template)) {\n const filePath = template.startsWith('file://') ? url.fileURLToPath(template) : template;\n\n await fse.copy(filePath, rootPath);\n }\n\n if (isGithubShorthand(template)) {\n const [owner, repo, ...pathSegments] = template.split('/');\n const subPath = pathSegments.length ? pathSegments.join('/') : scope.templatePath;\n\n await retry(\n () => downloadGithubRepo(rootPath, { owner, repo, branch: scope.templateBranch, subPath }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n return;\n }\n\n if (isGithubRepo(template)) {\n const url = new URL(template);\n\n const [owner, repo, t, branch, ...pathSegments] = stripTrailingSlash(\n url.pathname.slice(1)\n ).split('/');\n\n if (t !== undefined && t !== 'tree') {\n throw new Error(`Invalid GitHub template URL: ${template}`);\n }\n\n if (scope.templateBranch) {\n await retry(\n () =>\n downloadGithubRepo(rootPath, {\n owner,\n repo,\n branch: scope.templateBranch,\n subPath: scope.templatePath,\n }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n return;\n }\n\n await retry(\n () =>\n downloadGithubRepo(rootPath, {\n owner,\n repo,\n branch: decodeURIComponent(branch) ?? scope.templateBranch,\n subPath: pathSegments.length\n ? decodeURIComponent(pathSegments.join('/'))\n : scope.templatePath,\n }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n throw new Error(`Invalid GitHub template URL: ${template}`);\n }\n}\n\ntype RepoInfo = {\n owner: string;\n repo: string;\n branch?: string;\n subPath?: string | null;\n};\n\nasync function downloadGithubRepo(rootPath: string, { owner, repo, branch, subPath }: RepoInfo) {\n const filePath = subPath ? subPath.split('/').join(path.posix.sep) : null;\n\n let checkContentUrl = `https://api.github.com/repos/${owner}/${repo}/contents`;\n if (filePath) {\n checkContentUrl = `${checkContentUrl}/${filePath}`;\n }\n\n if (branch) {\n checkContentUrl = `${checkContentUrl}?ref=${branch}`;\n }\n\n const checkRes = await fetch(checkContentUrl, {\n method: 'HEAD',\n });\n\n if (checkRes.status !== 200) {\n throw new Error(\n `Could not find a template at https://github.com/${owner}/${repo}${branch ? ` on branch ${branch}` : ''}${filePath ? ` at path ${filePath}` : ''}`\n );\n }\n\n let url = `https://api.github.com/repos/${owner}/${repo}/tarball`;\n\n if (branch) {\n url = `${url}/${branch}`;\n }\n\n const res = await fetch(url);\n\n if (!res.body) {\n throw new Error(`Failed to download ${url}`);\n }\n\n await pipeline(\n // @ts-expect-error - Readable is not a valid source\n Readable.fromWeb(res.body),\n tar.x({\n cwd: rootPath,\n strip: filePath ? filePath.split('/').length + 1 : 1,\n filter(path) {\n if (filePath) {\n return path.split('/').slice(1).join('/').startsWith(filePath);\n }\n\n return true;\n },\n })\n );\n}\n\nfunction isLocalTemplate(template: string) {\n return (\n template.startsWith('file://') ||\n fse.existsSync(path.isAbsolute(template) ? template : path.resolve(process.cwd(), template))\n );\n}\n\nfunction isGithubShorthand(value: string) {\n if (isValidUrl(value)) {\n return false;\n }\n\n return /^[\\w-]+\\/[\\w-.]+(\\/[\\w-.]+)*$/.test(value);\n}\n\nfunction isGithubRepo(value: string) {\n try {\n const url = new URL(value);\n\n return url.origin === 'https://github.com';\n } catch {\n return false;\n }\n}\n\nfunction isValidUrl(value: string) {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch {\n return false;\n }\n}\n\nconst OFFICIAL_NAME_REGEX = /^[a-zA-Z]*$/;\n\nasync function isOfficialTemplate(template: string, branch: string | undefined) {\n if (isValidUrl(template) || !OFFICIAL_NAME_REGEX.test(template)) {\n return false;\n }\n\n const res = await fetch(\n `https://api.github.com/repos/strapi/strapi/contents/templates/${template}?${branch ? `ref=${branch}` : ''}`,\n { method: 'HEAD' }\n );\n\n return res.status === 200;\n}\n"],"names":["stripTrailingSlash","str","endsWith","slice","copyTemplate","scope","rootPath","template","Error","isOfficialTemplate","templateBranch","retry","downloadGithubRepo","owner","repo","branch","subPath","retries","onRetry","err","attempt","console","log","isLocalTemplate","filePath","startsWith","url","fileURLToPath","fse","copy","isGithubShorthand","pathSegments","split","length","join","templatePath","isGithubRepo","URL","t","pathname","undefined","decodeURIComponent","path","posix","sep","checkContentUrl","checkRes","fetch","method","status","res","body","pipeline","Readable","fromWeb","tar","x","cwd","strip","filter","existsSync","isAbsolute","resolve","process","value","isValidUrl","test","origin","OFFICIAL_NAME_REGEX"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"template.mjs","sources":["../../src/utils/template.ts"],"sourcesContent":["import path from 'node:path';\nimport url from 'node:url';\nimport { Readable } from 'node:stream';\nimport { pipeline } from 'node:stream/promises';\nimport * as tar from 'tar';\nimport retry from 'async-retry';\n\nimport fse from 'fs-extra';\nimport type { Scope } from '../types';\n\nconst stripTrailingSlash = (str: string) => {\n return str.endsWith('/') ? str.slice(0, -1) : str;\n};\n\n// Merge template with new project being created\nexport async function copyTemplate(scope: Scope, rootPath: string) {\n const { template } = scope;\n\n if (!template) {\n throw new Error('Missing template or example app option');\n }\n\n if (await isOfficialTemplate(template, scope.templateBranch)) {\n await retry(\n () =>\n downloadGithubRepo(rootPath, {\n owner: 'strapi',\n repo: 'strapi',\n branch: scope.templateBranch,\n subPath: `templates/${template}`,\n }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n return;\n }\n\n if (isLocalTemplate(template)) {\n const filePath = template.startsWith('file://') ? url.fileURLToPath(template) : template;\n\n await fse.copy(filePath, rootPath);\n }\n\n if (isGithubShorthand(template)) {\n const [owner, repo, ...pathSegments] = template.split('/');\n const subPath = pathSegments.length ? pathSegments.join('/') : scope.templatePath;\n\n await retry(\n () => downloadGithubRepo(rootPath, { owner, repo, branch: scope.templateBranch, subPath }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n return;\n }\n\n if (isGithubRepo(template)) {\n const url = new URL(template);\n\n const [owner, repo, t, branch, ...pathSegments] = stripTrailingSlash(\n url.pathname.slice(1)\n ).split('/');\n\n if (t !== undefined && t !== 'tree') {\n throw new Error(`Invalid GitHub template URL: ${template}`);\n }\n\n if (scope.templateBranch) {\n await retry(\n () =>\n downloadGithubRepo(rootPath, {\n owner,\n repo,\n branch: scope.templateBranch,\n subPath: scope.templatePath,\n }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n return;\n }\n\n await retry(\n () =>\n downloadGithubRepo(rootPath, {\n owner,\n repo,\n branch: decodeURIComponent(branch) ?? scope.templateBranch,\n subPath: pathSegments.length\n ? decodeURIComponent(pathSegments.join('/'))\n : scope.templatePath,\n }),\n {\n retries: 3,\n onRetry(err, attempt) {\n console.log(`Retrying to download the template. Attempt ${attempt}. Error: ${err}`);\n },\n }\n );\n\n throw new Error(`Invalid GitHub template URL: ${template}`);\n }\n}\n\ntype RepoInfo = {\n owner: string;\n repo: string;\n branch?: string;\n subPath?: string | null;\n};\n\nasync function downloadGithubRepo(rootPath: string, { owner, repo, branch, subPath }: RepoInfo) {\n const filePath = subPath ? subPath.split('/').join(path.posix.sep) : null;\n\n let checkContentUrl = `https://api.github.com/repos/${owner}/${repo}/contents`;\n if (filePath) {\n checkContentUrl = `${checkContentUrl}/${filePath}`;\n }\n\n if (branch) {\n checkContentUrl = `${checkContentUrl}?ref=${branch}`;\n }\n\n const checkRes = await fetch(checkContentUrl, {\n method: 'HEAD',\n });\n\n if (checkRes.status !== 200) {\n throw new Error(\n `Could not find a template at https://github.com/${owner}/${repo}${branch ? ` on branch ${branch}` : ''}${filePath ? ` at path ${filePath}` : ''}`\n );\n }\n\n let url = `https://api.github.com/repos/${owner}/${repo}/tarball`;\n\n if (branch) {\n url = `${url}/${branch}`;\n }\n\n const res = await fetch(url);\n\n if (!res.body) {\n throw new Error(`Failed to download ${url}`);\n }\n\n await pipeline(\n // @ts-expect-error - Readable is not a valid source\n Readable.fromWeb(res.body),\n tar.x({\n cwd: rootPath,\n strip: filePath ? filePath.split('/').length + 1 : 1,\n filter(path) {\n if (filePath) {\n return path.split('/').slice(1).join('/').startsWith(filePath);\n }\n\n return true;\n },\n })\n );\n}\n\nfunction isLocalTemplate(template: string) {\n return (\n template.startsWith('file://') ||\n fse.existsSync(path.isAbsolute(template) ? template : path.resolve(process.cwd(), template))\n );\n}\n\nfunction isGithubShorthand(value: string) {\n if (isValidUrl(value)) {\n return false;\n }\n\n return /^[\\w-]+\\/[\\w-.]+(\\/[\\w-.]+)*$/.test(value);\n}\n\nfunction isGithubRepo(value: string) {\n try {\n const url = new URL(value);\n\n return url.origin === 'https://github.com';\n } catch {\n return false;\n }\n}\n\nfunction isValidUrl(value: string) {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch {\n return false;\n }\n}\n\nconst OFFICIAL_NAME_REGEX = /^[a-zA-Z]*$/;\n\nasync function isOfficialTemplate(template: string, branch: string | undefined) {\n if (isValidUrl(template) || !OFFICIAL_NAME_REGEX.test(template)) {\n return false;\n }\n\n const res = await fetch(\n `https://api.github.com/repos/strapi/strapi/contents/templates/${template}?${branch ? `ref=${branch}` : ''}`,\n { method: 'HEAD' }\n );\n\n return res.status === 200;\n}\n"],"names":["stripTrailingSlash","str","endsWith","slice","copyTemplate","scope","rootPath","template","Error","isOfficialTemplate","templateBranch","retry","downloadGithubRepo","owner","repo","branch","subPath","retries","onRetry","err","attempt","console","log","isLocalTemplate","filePath","startsWith","url","fileURLToPath","fse","copy","isGithubShorthand","pathSegments","split","length","join","templatePath","isGithubRepo","URL","t","pathname","undefined","decodeURIComponent","path","posix","sep","checkContentUrl","checkRes","fetch","method","status","res","body","pipeline","Readable","fromWeb","tar","x","cwd","strip","filter","existsSync","isAbsolute","resolve","process","value","isValidUrl","test","origin","OFFICIAL_NAME_REGEX"],"mappings":"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"}
|
package/dist/utils/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","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 const analyticsUrl = process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io';\n\n try {\n return fetch(`${analyticsUrl}/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.installId,\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.installId,\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","analyticsUrl","STRAPI_ANALYTICS_URL","fetch","method","body","JSON","stringify","signal","AbortSignal","timeout","headers","catch","err","Promise","resolve","trackError","properties","deviceId","installId","trackUsage"],"mappings":";;;;;AAOA;AACA,SAASA,4BAAAA,CAA6BC,QAAiC,EAAEC,KAAY,EAAA;AACnF,IAAA,MAAM,EAAEC,iBAAAA,GAAoB,EAAE,EAAE,GAAGD,KAAAA;IAEnC,OAAOE,CAAAA,CAAEC,QAAQ,CAACJ,
|
|
1
|
+
{"version":3,"file":"usage.js","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 const analyticsUrl = process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io';\n\n try {\n return fetch(`${analyticsUrl}/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.installId,\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.installId,\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","analyticsUrl","STRAPI_ANALYTICS_URL","fetch","method","body","JSON","stringify","signal","AbortSignal","timeout","headers","catch","err","Promise","resolve","trackError","properties","deviceId","installId","trackUsage"],"mappings":"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"}
|
package/dist/utils/usage.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"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 const analyticsUrl = process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io';\n\n try {\n return fetch(`${analyticsUrl}/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.installId,\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.installId,\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","analyticsUrl","STRAPI_ANALYTICS_URL","fetch","method","body","JSON","stringify","signal","AbortSignal","timeout","headers","catch","err","Promise","resolve","trackError","properties","deviceId","installId","trackUsage"],"mappings":";;;AAOA;AACA,SAASA,4BAAAA,CAA6BC,QAAiC,EAAEC,KAAY,EAAA;AACnF,IAAA,MAAM,EAAEC,iBAAAA,GAAoB,EAAE,EAAE,GAAGD,KAAAA;IAEnC,OAAOE,CAAAA,CAAEC,QAAQ,CAACJ,
|
|
1
|
+
{"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 const analyticsUrl = process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io';\n\n try {\n return fetch(`${analyticsUrl}/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.installId,\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.installId,\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","analyticsUrl","STRAPI_ANALYTICS_URL","fetch","method","body","JSON","stringify","signal","AbortSignal","timeout","headers","catch","err","Promise","resolve","trackError","properties","deviceId","installId","trackUsage"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-strapi-app",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.38.0",
|
|
4
4
|
"description": "Generate a new Strapi application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"create-strapi-app",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"watch": "run -T rollup -c -w"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@strapi/cloud-cli": "5.
|
|
53
|
+
"@strapi/cloud-cli": "5.38.0",
|
|
54
54
|
"async-retry": "1.3.3",
|
|
55
55
|
"chalk": "4.1.2",
|
|
56
56
|
"commander": "8.3.0",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"lodash": "4.17.23",
|
|
61
61
|
"node-machine-id": "^1.1.10",
|
|
62
62
|
"ora": "^5.4.1",
|
|
63
|
-
"rollup": "4.
|
|
63
|
+
"rollup": "4.59.0",
|
|
64
64
|
"semver": "7.5.4",
|
|
65
65
|
"sort-package-json": "2.10.0",
|
|
66
66
|
"tar": "7.5.9"
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
"@types/async-retry": "^1",
|
|
70
70
|
"@types/fs-extra": "11.0.4",
|
|
71
71
|
"@types/inquirer": "8.2.5",
|
|
72
|
-
"eslint-config-custom": "5.
|
|
73
|
-
"tsconfig": "5.
|
|
72
|
+
"eslint-config-custom": "5.38.0",
|
|
73
|
+
"tsconfig": "5.38.0"
|
|
74
74
|
},
|
|
75
75
|
"engines": {
|
|
76
76
|
"node": ">=20.0.0 <=24.x.x",
|