create-strapi-app 5.51.1 → 5.52.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 +1 -1
- package/dist/cloud.js.map +1 -1
- package/dist/cloud.mjs +1 -1
- package/dist/cloud.mjs.map +1 -1
- package/dist/create-strapi.js +2 -2
- package/dist/create-strapi.js.map +1 -1
- package/dist/create-strapi.mjs +2 -2
- package/dist/create-strapi.mjs.map +1 -1
- package/dist/utils/dot-env.js +3 -1
- package/dist/utils/dot-env.js.map +1 -1
- package/dist/utils/dot-env.mjs +3 -1
- package/dist/utils/dot-env.mjs.map +1 -1
- package/dist/utils/git.js +2 -2
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/git.mjs +2 -2
- package/dist/utils/git.mjs.map +1 -1
- package/dist/utils/package-json.js +2 -2
- package/dist/utils/package-json.js.map +1 -1
- package/dist/utils/package-json.mjs +2 -2
- package/dist/utils/package-json.mjs.map +1 -1
- package/dist/utils/usage.js +3 -3
- package/dist/utils/usage.js.map +1 -1
- package/dist/utils/usage.mjs +3 -3
- package/dist/utils/usage.mjs.map +1 -1
- package/package.json +7 -7
package/dist/cloud.js
CHANGED
package/dist/cloud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sources":["../src/cloud.ts"],"sourcesContent":["import { cli as cloudCli, services as cloudServices } from '@strapi/cloud-cli';\nimport parseToChalk from './utils/parse-to-chalk';\n\ninterface CloudError {\n response: {\n status: number;\n data: string | object;\n };\n}\n\nfunction assertCloudError(e: unknown): asserts e is CloudError {\n if ((e as CloudError).response === undefined) {\n throw Error('Expected CloudError');\n }\n}\n\nexport async function handleCloudLogin(): Promise<boolean> {\n const logger = cloudServices.createLogger({\n silent: false,\n debug: process.argv.includes('--debug'),\n timestamp: false,\n });\n const cloudApiService = await cloudServices.cloudApiFactory({ logger });\n const defaultErrorMessage =\n 'An error occurred while trying to interact with Strapi servers. Use strapi deploy command once the project is generated.';\n\n let cloudApiConfig;\n try {\n const { data: config } = await cloudApiService.config();\n cloudApiConfig = config;\n\n if (!config?.featureFlags?.cloudLoginPromptEnabled) {\n return false;\n }\n\n logger.log(parseToChalk(config.projectCreation.introText));\n } catch (e: unknown) {\n logger.debug(e);\n logger.error(defaultErrorMessage);\n return false;\n }\n const { default: inquirer } = await import('inquirer');\n const { userChoice } = await inquirer.prompt<{ userChoice: string }>(\n cloudApiConfig.projectCreation?.userChoice || [\n {\n type: 'list',\n name: 'userChoice',\n message: `Please log in or sign up.`,\n choices: ['Login/Sign up', 'Skip'],\n },\n ]\n );\n\n if (!userChoice.toLowerCase().includes('skip')) {\n const cliContext = {\n user: { id: '' }, // This will be set later when the user logs in\n logger,\n cwd: process.cwd(),\n ...(cloudApiConfig.projectCreation?.reference && {\n promptExperiment: cloudApiConfig.projectCreation?.reference,\n }),\n };\n\n try {\n await cloudCli.login.action(cliContext, { showDashboardLink: false });\n } catch (e: Error | CloudError | unknown) {\n logger.debug(e);\n try {\n assertCloudError(e);\n if (e.response.status === 403) {\n const message =\n typeof e.response.data === 'string'\n ? e.response.data\n : 'We are sorry, but we are not able to log you into Strapi servers at the moment.';\n logger.warn(message);\n return false;\n }\n } catch
|
|
1
|
+
{"version":3,"file":"cloud.js","sources":["../src/cloud.ts"],"sourcesContent":["import { cli as cloudCli, services as cloudServices } from '@strapi/cloud-cli';\nimport parseToChalk from './utils/parse-to-chalk';\n\ninterface CloudError {\n response: {\n status: number;\n data: string | object;\n };\n}\n\nfunction assertCloudError(e: unknown): asserts e is CloudError {\n if ((e as CloudError).response === undefined) {\n throw Error('Expected CloudError');\n }\n}\n\nexport async function handleCloudLogin(): Promise<boolean> {\n const logger = cloudServices.createLogger({\n silent: false,\n debug: process.argv.includes('--debug'),\n timestamp: false,\n });\n const cloudApiService = await cloudServices.cloudApiFactory({ logger });\n const defaultErrorMessage =\n 'An error occurred while trying to interact with Strapi servers. Use strapi deploy command once the project is generated.';\n\n let cloudApiConfig;\n try {\n const { data: config } = await cloudApiService.config();\n cloudApiConfig = config;\n\n if (!config?.featureFlags?.cloudLoginPromptEnabled) {\n return false;\n }\n\n logger.log(parseToChalk(config.projectCreation.introText));\n } catch (e: unknown) {\n logger.debug(e);\n logger.error(defaultErrorMessage);\n return false;\n }\n const { default: inquirer } = await import('inquirer');\n const { userChoice } = await inquirer.prompt<{ userChoice: string }>(\n cloudApiConfig.projectCreation?.userChoice || [\n {\n type: 'list',\n name: 'userChoice',\n message: `Please log in or sign up.`,\n choices: ['Login/Sign up', 'Skip'],\n },\n ]\n );\n\n if (!userChoice.toLowerCase().includes('skip')) {\n const cliContext = {\n user: { id: '' }, // This will be set later when the user logs in\n logger,\n cwd: process.cwd(),\n ...(cloudApiConfig.projectCreation?.reference && {\n promptExperiment: cloudApiConfig.projectCreation?.reference,\n }),\n };\n\n try {\n await cloudCli.login.action(cliContext, { showDashboardLink: false });\n } catch (e: Error | CloudError | unknown) {\n logger.debug(e);\n try {\n assertCloudError(e);\n if (e.response.status === 403) {\n const message =\n typeof e.response.data === 'string'\n ? e.response.data\n : 'We are sorry, but we are not able to log you into Strapi servers at the moment.';\n logger.warn(message);\n return false;\n }\n } catch {\n /* empty */\n }\n logger.error(defaultErrorMessage);\n return false;\n }\n\n return true;\n }\n\n return false;\n}\n"],"names":["assertCloudError","e","response","undefined","Error","handleCloudLogin","logger","cloudServices","createLogger","silent","debug","process","argv","includes","timestamp","cloudApiService","cloudApiFactory","defaultErrorMessage","cloudApiConfig","data","config","featureFlags","cloudLoginPromptEnabled","log","parseToChalk","projectCreation","introText","error","default","inquirer","userChoice","prompt","type","name","message","choices","toLowerCase","cliContext","user","id","cwd","reference","promptExperiment","cloudCli","login","action","showDashboardLink","status","warn"],"mappings":"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"}
|
package/dist/cloud.mjs
CHANGED
package/dist/cloud.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.mjs","sources":["../src/cloud.ts"],"sourcesContent":["import { cli as cloudCli, services as cloudServices } from '@strapi/cloud-cli';\nimport parseToChalk from './utils/parse-to-chalk';\n\ninterface CloudError {\n response: {\n status: number;\n data: string | object;\n };\n}\n\nfunction assertCloudError(e: unknown): asserts e is CloudError {\n if ((e as CloudError).response === undefined) {\n throw Error('Expected CloudError');\n }\n}\n\nexport async function handleCloudLogin(): Promise<boolean> {\n const logger = cloudServices.createLogger({\n silent: false,\n debug: process.argv.includes('--debug'),\n timestamp: false,\n });\n const cloudApiService = await cloudServices.cloudApiFactory({ logger });\n const defaultErrorMessage =\n 'An error occurred while trying to interact with Strapi servers. Use strapi deploy command once the project is generated.';\n\n let cloudApiConfig;\n try {\n const { data: config } = await cloudApiService.config();\n cloudApiConfig = config;\n\n if (!config?.featureFlags?.cloudLoginPromptEnabled) {\n return false;\n }\n\n logger.log(parseToChalk(config.projectCreation.introText));\n } catch (e: unknown) {\n logger.debug(e);\n logger.error(defaultErrorMessage);\n return false;\n }\n const { default: inquirer } = await import('inquirer');\n const { userChoice } = await inquirer.prompt<{ userChoice: string }>(\n cloudApiConfig.projectCreation?.userChoice || [\n {\n type: 'list',\n name: 'userChoice',\n message: `Please log in or sign up.`,\n choices: ['Login/Sign up', 'Skip'],\n },\n ]\n );\n\n if (!userChoice.toLowerCase().includes('skip')) {\n const cliContext = {\n user: { id: '' }, // This will be set later when the user logs in\n logger,\n cwd: process.cwd(),\n ...(cloudApiConfig.projectCreation?.reference && {\n promptExperiment: cloudApiConfig.projectCreation?.reference,\n }),\n };\n\n try {\n await cloudCli.login.action(cliContext, { showDashboardLink: false });\n } catch (e: Error | CloudError | unknown) {\n logger.debug(e);\n try {\n assertCloudError(e);\n if (e.response.status === 403) {\n const message =\n typeof e.response.data === 'string'\n ? e.response.data\n : 'We are sorry, but we are not able to log you into Strapi servers at the moment.';\n logger.warn(message);\n return false;\n }\n } catch
|
|
1
|
+
{"version":3,"file":"cloud.mjs","sources":["../src/cloud.ts"],"sourcesContent":["import { cli as cloudCli, services as cloudServices } from '@strapi/cloud-cli';\nimport parseToChalk from './utils/parse-to-chalk';\n\ninterface CloudError {\n response: {\n status: number;\n data: string | object;\n };\n}\n\nfunction assertCloudError(e: unknown): asserts e is CloudError {\n if ((e as CloudError).response === undefined) {\n throw Error('Expected CloudError');\n }\n}\n\nexport async function handleCloudLogin(): Promise<boolean> {\n const logger = cloudServices.createLogger({\n silent: false,\n debug: process.argv.includes('--debug'),\n timestamp: false,\n });\n const cloudApiService = await cloudServices.cloudApiFactory({ logger });\n const defaultErrorMessage =\n 'An error occurred while trying to interact with Strapi servers. Use strapi deploy command once the project is generated.';\n\n let cloudApiConfig;\n try {\n const { data: config } = await cloudApiService.config();\n cloudApiConfig = config;\n\n if (!config?.featureFlags?.cloudLoginPromptEnabled) {\n return false;\n }\n\n logger.log(parseToChalk(config.projectCreation.introText));\n } catch (e: unknown) {\n logger.debug(e);\n logger.error(defaultErrorMessage);\n return false;\n }\n const { default: inquirer } = await import('inquirer');\n const { userChoice } = await inquirer.prompt<{ userChoice: string }>(\n cloudApiConfig.projectCreation?.userChoice || [\n {\n type: 'list',\n name: 'userChoice',\n message: `Please log in or sign up.`,\n choices: ['Login/Sign up', 'Skip'],\n },\n ]\n );\n\n if (!userChoice.toLowerCase().includes('skip')) {\n const cliContext = {\n user: { id: '' }, // This will be set later when the user logs in\n logger,\n cwd: process.cwd(),\n ...(cloudApiConfig.projectCreation?.reference && {\n promptExperiment: cloudApiConfig.projectCreation?.reference,\n }),\n };\n\n try {\n await cloudCli.login.action(cliContext, { showDashboardLink: false });\n } catch (e: Error | CloudError | unknown) {\n logger.debug(e);\n try {\n assertCloudError(e);\n if (e.response.status === 403) {\n const message =\n typeof e.response.data === 'string'\n ? e.response.data\n : 'We are sorry, but we are not able to log you into Strapi servers at the moment.';\n logger.warn(message);\n return false;\n }\n } catch {\n /* empty */\n }\n logger.error(defaultErrorMessage);\n return false;\n }\n\n return true;\n }\n\n return false;\n}\n"],"names":["assertCloudError","e","response","undefined","Error","handleCloudLogin","logger","cloudServices","createLogger","silent","debug","process","argv","includes","timestamp","cloudApiService","cloudApiFactory","defaultErrorMessage","cloudApiConfig","data","config","featureFlags","cloudLoginPromptEnabled","log","parseToChalk","projectCreation","introText","error","default","inquirer","userChoice","prompt","type","name","message","choices","toLowerCase","cliContext","user","id","cwd","reference","promptExperiment","cloudCli","login","action","showDashboardLink","status","warn"],"mappings":";;;AAUA,SAASA,iBAAiBC,CAAU,EAAA;AAClC,IAAA,IAAI,CAACA,CAAiBC,QAAQ,KAAKC,SAAAA,EAAW;AAC5C,QAAA,MAAMC,KAAAA,CAAM,qBAAA,CAAA;AACd,IAAA;AACF;AAEO,eAAeC,gBAAAA,GAAAA;IACpB,MAAMC,MAAAA,GAASC,QAAAA,CAAcC,YAAY,CAAC;QACxCC,MAAAA,EAAQ,KAAA;AACRC,QAAAA,KAAAA,EAAOC,OAAAA,CAAQC,IAAI,CAACC,QAAQ,CAAC,SAAA,CAAA;QAC7BC,SAAAA,EAAW;AACb,KAAA,CAAA;AACA,IAAA,MAAMC,eAAAA,GAAkB,MAAMR,QAAAA,CAAcS,eAAe,CAAC;AAAEV,QAAAA;AAAO,KAAA,CAAA;AACrE,IAAA,MAAMW,mBAAAA,GACJ,0HAAA;IAEF,IAAIC,cAAAA;IACJ,IAAI;AACF,QAAA,MAAM,EAAEC,IAAAA,EAAMC,MAAM,EAAE,GAAG,MAAML,gBAAgBK,MAAM,EAAA;QACrDF,cAAAA,GAAiBE,MAAAA;QAEjB,IAAI,CAACA,MAAAA,EAAQC,YAAAA,EAAcC,uBAAAA,EAAyB;YAClD,OAAO,KAAA;AACT,QAAA;AAEAhB,QAAAA,MAAAA,CAAOiB,GAAG,CAACC,YAAAA,CAAaJ,MAAAA,CAAOK,eAAe,CAACC,SAAS,CAAA,CAAA;AAC1D,IAAA,CAAA,CAAE,OAAOzB,CAAAA,EAAY;AACnBK,QAAAA,MAAAA,CAAOI,KAAK,CAACT,CAAAA,CAAAA;AACbK,QAAAA,MAAAA,CAAOqB,KAAK,CAACV,mBAAAA,CAAAA;QACb,OAAO,KAAA;AACT,IAAA;AACA,IAAA,MAAM,EAAEW,OAAAA,EAASC,QAAQ,EAAE,GAAG,MAAM,OAAO,UAAA,CAAA;IAC3C,MAAM,EAAEC,UAAU,EAAE,GAAG,MAAMD,QAAAA,CAASE,MAAM,CAC1Cb,cAAAA,CAAeO,eAAe,EAAEK,UAAAA,IAAc;AAC5C,QAAA;YACEE,IAAAA,EAAM,MAAA;YACNC,IAAAA,EAAM,YAAA;YACNC,OAAAA,EAAS,CAAC,yBAAyB,CAAC;YACpCC,OAAAA,EAAS;AAAC,gBAAA,eAAA;AAAiB,gBAAA;AAAO;AACpC;AACD,KAAA,CAAA;AAGH,IAAA,IAAI,CAACL,UAAAA,CAAWM,WAAW,EAAA,CAAGvB,QAAQ,CAAC,MAAA,CAAA,EAAS;AAC9C,QAAA,MAAMwB,UAAAA,GAAa;YACjBC,IAAAA,EAAM;gBAAEC,EAAAA,EAAI;AAAG,aAAA;AACfjC,YAAAA,MAAAA;AACAkC,YAAAA,GAAAA,EAAK7B,QAAQ6B,GAAG,EAAA;YAChB,GAAItB,cAAAA,CAAeO,eAAe,EAAEgB,SAAAA,IAAa;gBAC/CC,gBAAAA,EAAkBxB,cAAAA,CAAeO,eAAe,EAAEgB;;AAEtD,SAAA;QAEA,IAAI;AACF,YAAA,MAAME,GAAAA,CAASC,KAAK,CAACC,MAAM,CAACR,UAAAA,EAAY;gBAAES,iBAAAA,EAAmB;AAAM,aAAA,CAAA;AACrE,QAAA,CAAA,CAAE,OAAO7C,CAAAA,EAAiC;AACxCK,YAAAA,MAAAA,CAAOI,KAAK,CAACT,CAAAA,CAAAA;YACb,IAAI;gBACFD,gBAAAA,CAAiBC,CAAAA,CAAAA;AACjB,gBAAA,IAAIA,CAAAA,CAAEC,QAAQ,CAAC6C,MAAM,KAAK,GAAA,EAAK;AAC7B,oBAAA,MAAMb,OAAAA,GACJ,OAAOjC,CAAAA,CAAEC,QAAQ,CAACiB,IAAI,KAAK,QAAA,GACvBlB,CAAAA,CAAEC,QAAQ,CAACiB,IAAI,GACf,iFAAA;AACNb,oBAAAA,MAAAA,CAAO0C,IAAI,CAACd,OAAAA,CAAAA;oBACZ,OAAO,KAAA;AACT,gBAAA;AACF,YAAA,CAAA,CAAE,OAAM;AACN,wBACF;AACA5B,YAAAA,MAAAA,CAAOqB,KAAK,CAACV,mBAAAA,CAAAA;YACb,OAAO,KAAA;AACT,QAAA;QAEA,OAAO,IAAA;AACT,IAAA;IAEA,OAAO,KAAA;AACT;;;;"}
|
package/dist/create-strapi.js
CHANGED
|
@@ -158,7 +158,7 @@ async function createApp(scope) {
|
|
|
158
158
|
fse__default.default.writeFile(path.join(rootPath, 'license.txt'), data.license);
|
|
159
159
|
logger.logger.log('Your 30 days trial will be applied automatically to your project. Enjoy!');
|
|
160
160
|
}
|
|
161
|
-
} catch
|
|
161
|
+
} catch {
|
|
162
162
|
logger.logger.error('Error while trying to create your trial. Please try again later.');
|
|
163
163
|
}
|
|
164
164
|
}
|
|
@@ -219,7 +219,7 @@ async function createApp(scope) {
|
|
|
219
219
|
cwd: rootPath
|
|
220
220
|
});
|
|
221
221
|
logger.logger.success('Sample data added to your database');
|
|
222
|
-
} catch
|
|
222
|
+
} catch {
|
|
223
223
|
logger.logger.error('Failed to seed your database. Skipping');
|
|
224
224
|
}
|
|
225
225
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-strapi.js","sources":["../src/create-strapi.ts"],"sourcesContent":["import { join } from 'node:path';\n\nimport chalk from 'chalk';\nimport execa from 'execa';\nimport fse from 'fs-extra';\nimport semver from 'semver';\n\nimport { createGrowthSsoTrial } from '@strapi/cloud-cli';\n\nimport { copyTemplate } from './utils/template';\nimport { tryGitInit } from './utils/git';\nimport { trackUsage } from './utils/usage';\nimport { createPackageJSON } from './utils/package-json';\nimport { writePnpmWorkspaceConfig } from './utils/pnpm-config';\nimport { generateDotEnv } from './utils/dot-env';\nimport { isStderrError } from './types';\n\nimport type { Scope } from './types';\nimport { logger } from './utils/logger';\nimport { gitIgnore } from './utils/gitignore';\nimport { getInstallArgs, getPackageManagerVersion } from './utils/get-package-manager-args';\n\nconst yarnNodeModulesConfig = 'nodeLinker: node-modules\\n';\n\nconst getUserAgentPackageManagerVersion = (packageManager: Scope['packageManager']) => {\n const userAgent = process.env.npm_config_user_agent ?? '';\n const [agent] = userAgent.split(' ');\n const [name, version] = agent.split('/');\n\n if (name !== packageManager || version === undefined) {\n return null;\n }\n\n return semver.coerce(version)?.version ?? null;\n};\n\nconst shouldWriteYarnNodeModulesConfig = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'yarn') {\n return false;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return semver.gte(userAgentVersion, '3.0.0');\n }\n\n try {\n const packageManagerVersion = await getPackageManagerVersion(packageManager);\n const normalizedVersion = semver.coerce(packageManagerVersion)?.version;\n\n return normalizedVersion ? semver.gte(normalizedVersion, '3.0.0') : false;\n } catch {\n return false;\n }\n};\n\nconst resolvePnpmVersion = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'pnpm') {\n return null;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return userAgentVersion;\n }\n\n try {\n return await getPackageManagerVersion(packageManager);\n } catch {\n return null;\n }\n};\n\nasync function createStrapi(scope: Scope) {\n const { rootPath } = scope;\n try {\n await fse.ensureDir(rootPath);\n await createApp(scope);\n } catch (error) {\n await fse.remove(rootPath);\n\n throw error;\n }\n}\n\nasync function createApp(scope: Scope) {\n const {\n rootPath,\n useTypescript,\n useExample,\n installDependencies,\n isQuickstart,\n template,\n packageManager,\n gitInit,\n runApp,\n } = scope;\n\n const shouldRunSeed = useExample && installDependencies;\n\n await trackUsage({ event: 'willCreateProject', scope });\n\n logger.title('Strapi', `Creating a new application at ${chalk.green(rootPath)}`);\n\n if (!isQuickstart) {\n await trackUsage({ event: 'didChooseCustomDatabase', scope });\n } else {\n await trackUsage({ event: 'didChooseQuickstart', scope });\n }\n\n if (!template) {\n let templateName = useExample ? 'example' : 'vanilla';\n\n if (!useTypescript) {\n templateName = `${templateName}-js`;\n }\n\n const internalTemplatePath = join(__dirname, '../templates', templateName);\n if (await fse.exists(internalTemplatePath)) {\n await fse.copy(internalTemplatePath, rootPath);\n }\n } else {\n try {\n logger.info(`${chalk.cyan('Installing template')} ${template}`);\n\n await copyTemplate(scope, rootPath);\n\n logger.success('Template copied successfully.');\n } catch (error) {\n if (error instanceof Error) {\n logger.fatal(`Template installation failed: ${error.message}`);\n }\n\n throw error;\n }\n\n if (!fse.existsSync(join(rootPath, 'package.json'))) {\n logger.fatal(`Missing ${chalk.bold('package.json')} in template`);\n }\n }\n\n await trackUsage({ event: 'didCopyProjectFiles', scope });\n\n const pnpmVersion = await resolvePnpmVersion(packageManager);\n const scopeWithPnpmVersion = { ...scope, pnpmVersion };\n\n try {\n await createPackageJSON(scopeWithPnpmVersion);\n\n await trackUsage({ event: 'didWritePackageJSON', scope });\n\n // ensure node_modules is created\n await fse.ensureDir(join(rootPath, 'node_modules'));\n\n // create config/database\n await fse.writeFile(join(rootPath, '.env'), generateDotEnv(scope));\n\n if (\n (await shouldWriteYarnNodeModulesConfig(packageManager)) &&\n !(await fse.pathExists(join(rootPath, '.yarnrc.yml')))\n ) {\n await fse.writeFile(join(rootPath, '.yarnrc.yml'), yarnNodeModulesConfig);\n }\n\n await writePnpmWorkspaceConfig(scopeWithPnpmVersion, pnpmVersion);\n\n await trackUsage({ event: 'didCopyConfigurationFiles', scope });\n } catch (err) {\n await fse.remove(rootPath);\n throw err;\n }\n\n // Create and save a growth sso trial license\n if (scope.shouldCreateGrowthSsoTrial) {\n try {\n const data = await createGrowthSsoTrial({ strapiVersion: scope.strapiVersion });\n\n if (data?.license) {\n fse.writeFile(join(rootPath, 'license.txt'), data.license);\n logger.log('Your 30 days trial will be applied automatically to your project. Enjoy!');\n }\n } catch (error) {\n logger.error('Error while trying to create your trial. Please try again later.');\n }\n }\n\n if (installDependencies) {\n try {\n logger.title('deps', `Installing dependencies with ${chalk.cyan(packageManager)}`);\n\n await trackUsage({ event: 'willInstallProjectDependencies', scope });\n\n await runInstall(scope);\n\n await trackUsage({ event: 'didInstallProjectDependencies', scope });\n\n logger.success(`Dependencies installed`);\n } catch (error) {\n const stderr = isStderrError(error) ? error.stderr : '';\n\n await trackUsage({\n event: 'didNotInstallProjectDependencies',\n scope,\n error: stderr.slice(-1024),\n });\n\n logger.fatal([\n chalk.bold(\n 'Oh, it seems that you encountered an error while installing dependencies in your project'\n ),\n '',\n `Don't give up, your project was created correctly`,\n '',\n `Fix the issues mentioned in the installation errors and try to run the following command:`,\n '',\n `cd ${chalk.green(rootPath)} && ${chalk.cyan(packageManager)} install`,\n ]);\n }\n }\n\n await trackUsage({ event: 'didCreateProject', scope });\n\n // make sure a gitignore file is created regardless of the user using git or not\n if (!(await fse.exists(join(rootPath, '.gitignore')))) {\n await fse.writeFile(join(rootPath, '.gitignore'), gitIgnore);\n }\n\n // Init git\n if (gitInit) {\n logger.title('git', 'Initializing git repository.');\n\n await tryGitInit(rootPath);\n\n logger.success('Initialized a git repository.');\n }\n\n if (shouldRunSeed) {\n if (await fse.exists(join(rootPath, 'scripts/seed.js'))) {\n logger.title('Seed', 'Seeding your database with sample data');\n\n try {\n await execa(packageManager, ['run', 'seed:example'], {\n stdio: 'inherit',\n cwd: rootPath,\n });\n logger.success('Sample data added to your database');\n } catch (error) {\n logger.error('Failed to seed your database. Skipping');\n }\n }\n }\n\n const cmd = chalk.cyan(`${packageManager} run`);\n\n logger.title('Strapi', `Your application was created!`);\n\n logger.log([\n 'Available commands in your project:',\n '',\n 'Start Strapi in watch mode. (Changes in Strapi project files will trigger a server restart)',\n `${cmd} develop`,\n '',\n 'Start Strapi without watch mode.',\n `${cmd} start`,\n '',\n 'Build Strapi admin panel.',\n `${cmd} build`,\n '',\n 'Deploy Strapi project.',\n `${cmd} deploy`,\n '',\n ]);\n\n if (useExample) {\n logger.log(['Seed your database with sample data.', `${cmd} seed:example`, '']);\n }\n\n logger.log(['Display all available commands.', `${cmd} strapi\\n`]);\n\n if (installDependencies) {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n } else {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n `${chalk.cyan(packageManager)} install`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n }\n\n if (runApp && installDependencies) {\n logger.title('Run', 'Running your Strapi application');\n\n try {\n await trackUsage({ event: 'willStartServer', scope });\n\n await execa(packageManager, ['run', 'develop'], {\n stdio: 'inherit',\n cwd: rootPath,\n env: {\n FORCE_COLOR: '1',\n },\n });\n } catch (error) {\n if (typeof error === 'string' || error instanceof Error) {\n await trackUsage({\n event: 'didNotStartServer',\n scope,\n error,\n });\n }\n\n logger.fatal('Failed to start your Strapi application');\n }\n }\n}\n\nasync function runInstall({ rootPath, packageManager }: Scope) {\n // include same cwd and env to ensure version check returns same version we use below\n const { envArgs, cmdArgs } = await getInstallArgs(packageManager, {\n cwd: rootPath,\n env: {\n ...process.env,\n NODE_ENV: 'development',\n },\n });\n\n const options: execa.Options = {\n cwd: rootPath,\n stdio: 'inherit',\n env: {\n ...process.env,\n ...envArgs,\n NODE_ENV: 'development',\n },\n };\n\n const proc = execa(packageManager, cmdArgs, options);\n\n return proc;\n}\n\nexport { createStrapi };\n"],"names":["yarnNodeModulesConfig","getUserAgentPackageManagerVersion","packageManager","userAgent","process","env","npm_config_user_agent","agent","split","name","version","undefined","semver","coerce","shouldWriteYarnNodeModulesConfig","userAgentVersion","gte","packageManagerVersion","getPackageManagerVersion","normalizedVersion","resolvePnpmVersion","createStrapi","scope","rootPath","fse","ensureDir","createApp","error","remove","useTypescript","useExample","installDependencies","isQuickstart","template","gitInit","runApp","shouldRunSeed","trackUsage","event","logger","title","chalk","green","templateName","internalTemplatePath","join","__dirname","exists","copy","info","cyan","copyTemplate","success","Error","fatal","message","existsSync","bold","pnpmVersion","scopeWithPnpmVersion","createPackageJSON","writeFile","generateDotEnv","pathExists","writePnpmWorkspaceConfig","err","shouldCreateGrowthSsoTrial","data","createGrowthSsoTrial","strapiVersion","license","log","runInstall","stderr","isStderrError","slice","gitIgnore","tryGitInit","execa","stdio","cwd","cmd","FORCE_COLOR","envArgs","cmdArgs","getInstallArgs","NODE_ENV","options","proc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-strapi.js","sources":["../src/create-strapi.ts"],"sourcesContent":["import { join } from 'node:path';\n\nimport chalk from 'chalk';\nimport execa from 'execa';\nimport fse from 'fs-extra';\nimport semver from 'semver';\n\nimport { createGrowthSsoTrial } from '@strapi/cloud-cli';\n\nimport { copyTemplate } from './utils/template';\nimport { tryGitInit } from './utils/git';\nimport { trackUsage } from './utils/usage';\nimport { createPackageJSON } from './utils/package-json';\nimport { writePnpmWorkspaceConfig } from './utils/pnpm-config';\nimport { generateDotEnv } from './utils/dot-env';\nimport { isStderrError } from './types';\n\nimport type { Scope } from './types';\nimport { logger } from './utils/logger';\nimport { gitIgnore } from './utils/gitignore';\nimport { getInstallArgs, getPackageManagerVersion } from './utils/get-package-manager-args';\n\nconst yarnNodeModulesConfig = 'nodeLinker: node-modules\\n';\n\nconst getUserAgentPackageManagerVersion = (packageManager: Scope['packageManager']) => {\n const userAgent = process.env.npm_config_user_agent ?? '';\n const [agent] = userAgent.split(' ');\n const [name, version] = agent.split('/');\n\n if (name !== packageManager || version === undefined) {\n return null;\n }\n\n return semver.coerce(version)?.version ?? null;\n};\n\nconst shouldWriteYarnNodeModulesConfig = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'yarn') {\n return false;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return semver.gte(userAgentVersion, '3.0.0');\n }\n\n try {\n const packageManagerVersion = await getPackageManagerVersion(packageManager);\n const normalizedVersion = semver.coerce(packageManagerVersion)?.version;\n\n return normalizedVersion ? semver.gte(normalizedVersion, '3.0.0') : false;\n } catch {\n return false;\n }\n};\n\nconst resolvePnpmVersion = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'pnpm') {\n return null;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return userAgentVersion;\n }\n\n try {\n return await getPackageManagerVersion(packageManager);\n } catch {\n return null;\n }\n};\n\nasync function createStrapi(scope: Scope) {\n const { rootPath } = scope;\n try {\n await fse.ensureDir(rootPath);\n await createApp(scope);\n } catch (error) {\n await fse.remove(rootPath);\n\n throw error;\n }\n}\n\nasync function createApp(scope: Scope) {\n const {\n rootPath,\n useTypescript,\n useExample,\n installDependencies,\n isQuickstart,\n template,\n packageManager,\n gitInit,\n runApp,\n } = scope;\n\n const shouldRunSeed = useExample && installDependencies;\n\n await trackUsage({ event: 'willCreateProject', scope });\n\n logger.title('Strapi', `Creating a new application at ${chalk.green(rootPath)}`);\n\n if (!isQuickstart) {\n await trackUsage({ event: 'didChooseCustomDatabase', scope });\n } else {\n await trackUsage({ event: 'didChooseQuickstart', scope });\n }\n\n if (!template) {\n let templateName = useExample ? 'example' : 'vanilla';\n\n if (!useTypescript) {\n templateName = `${templateName}-js`;\n }\n\n const internalTemplatePath = join(__dirname, '../templates', templateName);\n if (await fse.exists(internalTemplatePath)) {\n await fse.copy(internalTemplatePath, rootPath);\n }\n } else {\n try {\n logger.info(`${chalk.cyan('Installing template')} ${template}`);\n\n await copyTemplate(scope, rootPath);\n\n logger.success('Template copied successfully.');\n } catch (error) {\n if (error instanceof Error) {\n logger.fatal(`Template installation failed: ${error.message}`);\n }\n\n throw error;\n }\n\n if (!fse.existsSync(join(rootPath, 'package.json'))) {\n logger.fatal(`Missing ${chalk.bold('package.json')} in template`);\n }\n }\n\n await trackUsage({ event: 'didCopyProjectFiles', scope });\n\n const pnpmVersion = await resolvePnpmVersion(packageManager);\n const scopeWithPnpmVersion = { ...scope, pnpmVersion };\n\n try {\n await createPackageJSON(scopeWithPnpmVersion);\n\n await trackUsage({ event: 'didWritePackageJSON', scope });\n\n // ensure node_modules is created\n await fse.ensureDir(join(rootPath, 'node_modules'));\n\n // create config/database\n await fse.writeFile(join(rootPath, '.env'), generateDotEnv(scope));\n\n if (\n (await shouldWriteYarnNodeModulesConfig(packageManager)) &&\n !(await fse.pathExists(join(rootPath, '.yarnrc.yml')))\n ) {\n await fse.writeFile(join(rootPath, '.yarnrc.yml'), yarnNodeModulesConfig);\n }\n\n await writePnpmWorkspaceConfig(scopeWithPnpmVersion, pnpmVersion);\n\n await trackUsage({ event: 'didCopyConfigurationFiles', scope });\n } catch (err) {\n await fse.remove(rootPath);\n throw err;\n }\n\n // Create and save a growth sso trial license\n if (scope.shouldCreateGrowthSsoTrial) {\n try {\n const data = await createGrowthSsoTrial({ strapiVersion: scope.strapiVersion });\n\n if (data?.license) {\n fse.writeFile(join(rootPath, 'license.txt'), data.license);\n logger.log('Your 30 days trial will be applied automatically to your project. Enjoy!');\n }\n } catch {\n logger.error('Error while trying to create your trial. Please try again later.');\n }\n }\n\n if (installDependencies) {\n try {\n logger.title('deps', `Installing dependencies with ${chalk.cyan(packageManager)}`);\n\n await trackUsage({ event: 'willInstallProjectDependencies', scope });\n\n await runInstall(scope);\n\n await trackUsage({ event: 'didInstallProjectDependencies', scope });\n\n logger.success(`Dependencies installed`);\n } catch (error) {\n const stderr = isStderrError(error) ? error.stderr : '';\n\n await trackUsage({\n event: 'didNotInstallProjectDependencies',\n scope,\n error: stderr.slice(-1024),\n });\n\n logger.fatal([\n chalk.bold(\n 'Oh, it seems that you encountered an error while installing dependencies in your project'\n ),\n '',\n `Don't give up, your project was created correctly`,\n '',\n `Fix the issues mentioned in the installation errors and try to run the following command:`,\n '',\n `cd ${chalk.green(rootPath)} && ${chalk.cyan(packageManager)} install`,\n ]);\n }\n }\n\n await trackUsage({ event: 'didCreateProject', scope });\n\n // make sure a gitignore file is created regardless of the user using git or not\n if (!(await fse.exists(join(rootPath, '.gitignore')))) {\n await fse.writeFile(join(rootPath, '.gitignore'), gitIgnore);\n }\n\n // Init git\n if (gitInit) {\n logger.title('git', 'Initializing git repository.');\n\n await tryGitInit(rootPath);\n\n logger.success('Initialized a git repository.');\n }\n\n if (shouldRunSeed) {\n if (await fse.exists(join(rootPath, 'scripts/seed.js'))) {\n logger.title('Seed', 'Seeding your database with sample data');\n\n try {\n await execa(packageManager, ['run', 'seed:example'], {\n stdio: 'inherit',\n cwd: rootPath,\n });\n logger.success('Sample data added to your database');\n } catch {\n logger.error('Failed to seed your database. Skipping');\n }\n }\n }\n\n const cmd = chalk.cyan(`${packageManager} run`);\n\n logger.title('Strapi', `Your application was created!`);\n\n logger.log([\n 'Available commands in your project:',\n '',\n 'Start Strapi in watch mode. (Changes in Strapi project files will trigger a server restart)',\n `${cmd} develop`,\n '',\n 'Start Strapi without watch mode.',\n `${cmd} start`,\n '',\n 'Build Strapi admin panel.',\n `${cmd} build`,\n '',\n 'Deploy Strapi project.',\n `${cmd} deploy`,\n '',\n ]);\n\n if (useExample) {\n logger.log(['Seed your database with sample data.', `${cmd} seed:example`, '']);\n }\n\n logger.log(['Display all available commands.', `${cmd} strapi\\n`]);\n\n if (installDependencies) {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n } else {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n `${chalk.cyan(packageManager)} install`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n }\n\n if (runApp && installDependencies) {\n logger.title('Run', 'Running your Strapi application');\n\n try {\n await trackUsage({ event: 'willStartServer', scope });\n\n await execa(packageManager, ['run', 'develop'], {\n stdio: 'inherit',\n cwd: rootPath,\n env: {\n FORCE_COLOR: '1',\n },\n });\n } catch (error) {\n if (typeof error === 'string' || error instanceof Error) {\n await trackUsage({\n event: 'didNotStartServer',\n scope,\n error,\n });\n }\n\n logger.fatal('Failed to start your Strapi application');\n }\n }\n}\n\nasync function runInstall({ rootPath, packageManager }: Scope) {\n // include same cwd and env to ensure version check returns same version we use below\n const { envArgs, cmdArgs } = await getInstallArgs(packageManager, {\n cwd: rootPath,\n env: {\n ...process.env,\n NODE_ENV: 'development',\n },\n });\n\n const options: execa.Options = {\n cwd: rootPath,\n stdio: 'inherit',\n env: {\n ...process.env,\n ...envArgs,\n NODE_ENV: 'development',\n },\n };\n\n const proc = execa(packageManager, cmdArgs, options);\n\n return proc;\n}\n\nexport { createStrapi };\n"],"names":["yarnNodeModulesConfig","getUserAgentPackageManagerVersion","packageManager","userAgent","process","env","npm_config_user_agent","agent","split","name","version","undefined","semver","coerce","shouldWriteYarnNodeModulesConfig","userAgentVersion","gte","packageManagerVersion","getPackageManagerVersion","normalizedVersion","resolvePnpmVersion","createStrapi","scope","rootPath","fse","ensureDir","createApp","error","remove","useTypescript","useExample","installDependencies","isQuickstart","template","gitInit","runApp","shouldRunSeed","trackUsage","event","logger","title","chalk","green","templateName","internalTemplatePath","join","__dirname","exists","copy","info","cyan","copyTemplate","success","Error","fatal","message","existsSync","bold","pnpmVersion","scopeWithPnpmVersion","createPackageJSON","writeFile","generateDotEnv","pathExists","writePnpmWorkspaceConfig","err","shouldCreateGrowthSsoTrial","data","createGrowthSsoTrial","strapiVersion","license","log","runInstall","stderr","isStderrError","slice","gitIgnore","tryGitInit","execa","stdio","cwd","cmd","FORCE_COLOR","envArgs","cmdArgs","getInstallArgs","NODE_ENV","options","proc"],"mappings":"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"}
|
package/dist/create-strapi.mjs
CHANGED
|
@@ -149,7 +149,7 @@ async function createApp(scope) {
|
|
|
149
149
|
fse.writeFile(join(rootPath, 'license.txt'), data.license);
|
|
150
150
|
logger.log('Your 30 days trial will be applied automatically to your project. Enjoy!');
|
|
151
151
|
}
|
|
152
|
-
} catch
|
|
152
|
+
} catch {
|
|
153
153
|
logger.error('Error while trying to create your trial. Please try again later.');
|
|
154
154
|
}
|
|
155
155
|
}
|
|
@@ -210,7 +210,7 @@ async function createApp(scope) {
|
|
|
210
210
|
cwd: rootPath
|
|
211
211
|
});
|
|
212
212
|
logger.success('Sample data added to your database');
|
|
213
|
-
} catch
|
|
213
|
+
} catch {
|
|
214
214
|
logger.error('Failed to seed your database. Skipping');
|
|
215
215
|
}
|
|
216
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-strapi.mjs","sources":["../src/create-strapi.ts"],"sourcesContent":["import { join } from 'node:path';\n\nimport chalk from 'chalk';\nimport execa from 'execa';\nimport fse from 'fs-extra';\nimport semver from 'semver';\n\nimport { createGrowthSsoTrial } from '@strapi/cloud-cli';\n\nimport { copyTemplate } from './utils/template';\nimport { tryGitInit } from './utils/git';\nimport { trackUsage } from './utils/usage';\nimport { createPackageJSON } from './utils/package-json';\nimport { writePnpmWorkspaceConfig } from './utils/pnpm-config';\nimport { generateDotEnv } from './utils/dot-env';\nimport { isStderrError } from './types';\n\nimport type { Scope } from './types';\nimport { logger } from './utils/logger';\nimport { gitIgnore } from './utils/gitignore';\nimport { getInstallArgs, getPackageManagerVersion } from './utils/get-package-manager-args';\n\nconst yarnNodeModulesConfig = 'nodeLinker: node-modules\\n';\n\nconst getUserAgentPackageManagerVersion = (packageManager: Scope['packageManager']) => {\n const userAgent = process.env.npm_config_user_agent ?? '';\n const [agent] = userAgent.split(' ');\n const [name, version] = agent.split('/');\n\n if (name !== packageManager || version === undefined) {\n return null;\n }\n\n return semver.coerce(version)?.version ?? null;\n};\n\nconst shouldWriteYarnNodeModulesConfig = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'yarn') {\n return false;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return semver.gte(userAgentVersion, '3.0.0');\n }\n\n try {\n const packageManagerVersion = await getPackageManagerVersion(packageManager);\n const normalizedVersion = semver.coerce(packageManagerVersion)?.version;\n\n return normalizedVersion ? semver.gte(normalizedVersion, '3.0.0') : false;\n } catch {\n return false;\n }\n};\n\nconst resolvePnpmVersion = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'pnpm') {\n return null;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return userAgentVersion;\n }\n\n try {\n return await getPackageManagerVersion(packageManager);\n } catch {\n return null;\n }\n};\n\nasync function createStrapi(scope: Scope) {\n const { rootPath } = scope;\n try {\n await fse.ensureDir(rootPath);\n await createApp(scope);\n } catch (error) {\n await fse.remove(rootPath);\n\n throw error;\n }\n}\n\nasync function createApp(scope: Scope) {\n const {\n rootPath,\n useTypescript,\n useExample,\n installDependencies,\n isQuickstart,\n template,\n packageManager,\n gitInit,\n runApp,\n } = scope;\n\n const shouldRunSeed = useExample && installDependencies;\n\n await trackUsage({ event: 'willCreateProject', scope });\n\n logger.title('Strapi', `Creating a new application at ${chalk.green(rootPath)}`);\n\n if (!isQuickstart) {\n await trackUsage({ event: 'didChooseCustomDatabase', scope });\n } else {\n await trackUsage({ event: 'didChooseQuickstart', scope });\n }\n\n if (!template) {\n let templateName = useExample ? 'example' : 'vanilla';\n\n if (!useTypescript) {\n templateName = `${templateName}-js`;\n }\n\n const internalTemplatePath = join(__dirname, '../templates', templateName);\n if (await fse.exists(internalTemplatePath)) {\n await fse.copy(internalTemplatePath, rootPath);\n }\n } else {\n try {\n logger.info(`${chalk.cyan('Installing template')} ${template}`);\n\n await copyTemplate(scope, rootPath);\n\n logger.success('Template copied successfully.');\n } catch (error) {\n if (error instanceof Error) {\n logger.fatal(`Template installation failed: ${error.message}`);\n }\n\n throw error;\n }\n\n if (!fse.existsSync(join(rootPath, 'package.json'))) {\n logger.fatal(`Missing ${chalk.bold('package.json')} in template`);\n }\n }\n\n await trackUsage({ event: 'didCopyProjectFiles', scope });\n\n const pnpmVersion = await resolvePnpmVersion(packageManager);\n const scopeWithPnpmVersion = { ...scope, pnpmVersion };\n\n try {\n await createPackageJSON(scopeWithPnpmVersion);\n\n await trackUsage({ event: 'didWritePackageJSON', scope });\n\n // ensure node_modules is created\n await fse.ensureDir(join(rootPath, 'node_modules'));\n\n // create config/database\n await fse.writeFile(join(rootPath, '.env'), generateDotEnv(scope));\n\n if (\n (await shouldWriteYarnNodeModulesConfig(packageManager)) &&\n !(await fse.pathExists(join(rootPath, '.yarnrc.yml')))\n ) {\n await fse.writeFile(join(rootPath, '.yarnrc.yml'), yarnNodeModulesConfig);\n }\n\n await writePnpmWorkspaceConfig(scopeWithPnpmVersion, pnpmVersion);\n\n await trackUsage({ event: 'didCopyConfigurationFiles', scope });\n } catch (err) {\n await fse.remove(rootPath);\n throw err;\n }\n\n // Create and save a growth sso trial license\n if (scope.shouldCreateGrowthSsoTrial) {\n try {\n const data = await createGrowthSsoTrial({ strapiVersion: scope.strapiVersion });\n\n if (data?.license) {\n fse.writeFile(join(rootPath, 'license.txt'), data.license);\n logger.log('Your 30 days trial will be applied automatically to your project. Enjoy!');\n }\n } catch (error) {\n logger.error('Error while trying to create your trial. Please try again later.');\n }\n }\n\n if (installDependencies) {\n try {\n logger.title('deps', `Installing dependencies with ${chalk.cyan(packageManager)}`);\n\n await trackUsage({ event: 'willInstallProjectDependencies', scope });\n\n await runInstall(scope);\n\n await trackUsage({ event: 'didInstallProjectDependencies', scope });\n\n logger.success(`Dependencies installed`);\n } catch (error) {\n const stderr = isStderrError(error) ? error.stderr : '';\n\n await trackUsage({\n event: 'didNotInstallProjectDependencies',\n scope,\n error: stderr.slice(-1024),\n });\n\n logger.fatal([\n chalk.bold(\n 'Oh, it seems that you encountered an error while installing dependencies in your project'\n ),\n '',\n `Don't give up, your project was created correctly`,\n '',\n `Fix the issues mentioned in the installation errors and try to run the following command:`,\n '',\n `cd ${chalk.green(rootPath)} && ${chalk.cyan(packageManager)} install`,\n ]);\n }\n }\n\n await trackUsage({ event: 'didCreateProject', scope });\n\n // make sure a gitignore file is created regardless of the user using git or not\n if (!(await fse.exists(join(rootPath, '.gitignore')))) {\n await fse.writeFile(join(rootPath, '.gitignore'), gitIgnore);\n }\n\n // Init git\n if (gitInit) {\n logger.title('git', 'Initializing git repository.');\n\n await tryGitInit(rootPath);\n\n logger.success('Initialized a git repository.');\n }\n\n if (shouldRunSeed) {\n if (await fse.exists(join(rootPath, 'scripts/seed.js'))) {\n logger.title('Seed', 'Seeding your database with sample data');\n\n try {\n await execa(packageManager, ['run', 'seed:example'], {\n stdio: 'inherit',\n cwd: rootPath,\n });\n logger.success('Sample data added to your database');\n } catch (error) {\n logger.error('Failed to seed your database. Skipping');\n }\n }\n }\n\n const cmd = chalk.cyan(`${packageManager} run`);\n\n logger.title('Strapi', `Your application was created!`);\n\n logger.log([\n 'Available commands in your project:',\n '',\n 'Start Strapi in watch mode. (Changes in Strapi project files will trigger a server restart)',\n `${cmd} develop`,\n '',\n 'Start Strapi without watch mode.',\n `${cmd} start`,\n '',\n 'Build Strapi admin panel.',\n `${cmd} build`,\n '',\n 'Deploy Strapi project.',\n `${cmd} deploy`,\n '',\n ]);\n\n if (useExample) {\n logger.log(['Seed your database with sample data.', `${cmd} seed:example`, '']);\n }\n\n logger.log(['Display all available commands.', `${cmd} strapi\\n`]);\n\n if (installDependencies) {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n } else {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n `${chalk.cyan(packageManager)} install`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n }\n\n if (runApp && installDependencies) {\n logger.title('Run', 'Running your Strapi application');\n\n try {\n await trackUsage({ event: 'willStartServer', scope });\n\n await execa(packageManager, ['run', 'develop'], {\n stdio: 'inherit',\n cwd: rootPath,\n env: {\n FORCE_COLOR: '1',\n },\n });\n } catch (error) {\n if (typeof error === 'string' || error instanceof Error) {\n await trackUsage({\n event: 'didNotStartServer',\n scope,\n error,\n });\n }\n\n logger.fatal('Failed to start your Strapi application');\n }\n }\n}\n\nasync function runInstall({ rootPath, packageManager }: Scope) {\n // include same cwd and env to ensure version check returns same version we use below\n const { envArgs, cmdArgs } = await getInstallArgs(packageManager, {\n cwd: rootPath,\n env: {\n ...process.env,\n NODE_ENV: 'development',\n },\n });\n\n const options: execa.Options = {\n cwd: rootPath,\n stdio: 'inherit',\n env: {\n ...process.env,\n ...envArgs,\n NODE_ENV: 'development',\n },\n };\n\n const proc = execa(packageManager, cmdArgs, options);\n\n return proc;\n}\n\nexport { createStrapi };\n"],"names":["yarnNodeModulesConfig","getUserAgentPackageManagerVersion","packageManager","userAgent","process","env","npm_config_user_agent","agent","split","name","version","undefined","semver","coerce","shouldWriteYarnNodeModulesConfig","userAgentVersion","gte","packageManagerVersion","getPackageManagerVersion","normalizedVersion","resolvePnpmVersion","createStrapi","scope","rootPath","fse","ensureDir","createApp","error","remove","useTypescript","useExample","installDependencies","isQuickstart","template","gitInit","runApp","shouldRunSeed","trackUsage","event","logger","title","chalk","green","templateName","internalTemplatePath","join","__dirname","exists","copy","info","cyan","copyTemplate","success","Error","fatal","message","existsSync","bold","pnpmVersion","scopeWithPnpmVersion","createPackageJSON","writeFile","generateDotEnv","pathExists","writePnpmWorkspaceConfig","err","shouldCreateGrowthSsoTrial","data","createGrowthSsoTrial","strapiVersion","license","log","runInstall","stderr","isStderrError","slice","gitIgnore","tryGitInit","execa","stdio","cwd","cmd","FORCE_COLOR","envArgs","cmdArgs","getInstallArgs","NODE_ENV","options","proc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-strapi.mjs","sources":["../src/create-strapi.ts"],"sourcesContent":["import { join } from 'node:path';\n\nimport chalk from 'chalk';\nimport execa from 'execa';\nimport fse from 'fs-extra';\nimport semver from 'semver';\n\nimport { createGrowthSsoTrial } from '@strapi/cloud-cli';\n\nimport { copyTemplate } from './utils/template';\nimport { tryGitInit } from './utils/git';\nimport { trackUsage } from './utils/usage';\nimport { createPackageJSON } from './utils/package-json';\nimport { writePnpmWorkspaceConfig } from './utils/pnpm-config';\nimport { generateDotEnv } from './utils/dot-env';\nimport { isStderrError } from './types';\n\nimport type { Scope } from './types';\nimport { logger } from './utils/logger';\nimport { gitIgnore } from './utils/gitignore';\nimport { getInstallArgs, getPackageManagerVersion } from './utils/get-package-manager-args';\n\nconst yarnNodeModulesConfig = 'nodeLinker: node-modules\\n';\n\nconst getUserAgentPackageManagerVersion = (packageManager: Scope['packageManager']) => {\n const userAgent = process.env.npm_config_user_agent ?? '';\n const [agent] = userAgent.split(' ');\n const [name, version] = agent.split('/');\n\n if (name !== packageManager || version === undefined) {\n return null;\n }\n\n return semver.coerce(version)?.version ?? null;\n};\n\nconst shouldWriteYarnNodeModulesConfig = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'yarn') {\n return false;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return semver.gte(userAgentVersion, '3.0.0');\n }\n\n try {\n const packageManagerVersion = await getPackageManagerVersion(packageManager);\n const normalizedVersion = semver.coerce(packageManagerVersion)?.version;\n\n return normalizedVersion ? semver.gte(normalizedVersion, '3.0.0') : false;\n } catch {\n return false;\n }\n};\n\nconst resolvePnpmVersion = async (packageManager: Scope['packageManager']) => {\n if (packageManager !== 'pnpm') {\n return null;\n }\n\n const userAgentVersion = getUserAgentPackageManagerVersion(packageManager);\n\n if (userAgentVersion) {\n return userAgentVersion;\n }\n\n try {\n return await getPackageManagerVersion(packageManager);\n } catch {\n return null;\n }\n};\n\nasync function createStrapi(scope: Scope) {\n const { rootPath } = scope;\n try {\n await fse.ensureDir(rootPath);\n await createApp(scope);\n } catch (error) {\n await fse.remove(rootPath);\n\n throw error;\n }\n}\n\nasync function createApp(scope: Scope) {\n const {\n rootPath,\n useTypescript,\n useExample,\n installDependencies,\n isQuickstart,\n template,\n packageManager,\n gitInit,\n runApp,\n } = scope;\n\n const shouldRunSeed = useExample && installDependencies;\n\n await trackUsage({ event: 'willCreateProject', scope });\n\n logger.title('Strapi', `Creating a new application at ${chalk.green(rootPath)}`);\n\n if (!isQuickstart) {\n await trackUsage({ event: 'didChooseCustomDatabase', scope });\n } else {\n await trackUsage({ event: 'didChooseQuickstart', scope });\n }\n\n if (!template) {\n let templateName = useExample ? 'example' : 'vanilla';\n\n if (!useTypescript) {\n templateName = `${templateName}-js`;\n }\n\n const internalTemplatePath = join(__dirname, '../templates', templateName);\n if (await fse.exists(internalTemplatePath)) {\n await fse.copy(internalTemplatePath, rootPath);\n }\n } else {\n try {\n logger.info(`${chalk.cyan('Installing template')} ${template}`);\n\n await copyTemplate(scope, rootPath);\n\n logger.success('Template copied successfully.');\n } catch (error) {\n if (error instanceof Error) {\n logger.fatal(`Template installation failed: ${error.message}`);\n }\n\n throw error;\n }\n\n if (!fse.existsSync(join(rootPath, 'package.json'))) {\n logger.fatal(`Missing ${chalk.bold('package.json')} in template`);\n }\n }\n\n await trackUsage({ event: 'didCopyProjectFiles', scope });\n\n const pnpmVersion = await resolvePnpmVersion(packageManager);\n const scopeWithPnpmVersion = { ...scope, pnpmVersion };\n\n try {\n await createPackageJSON(scopeWithPnpmVersion);\n\n await trackUsage({ event: 'didWritePackageJSON', scope });\n\n // ensure node_modules is created\n await fse.ensureDir(join(rootPath, 'node_modules'));\n\n // create config/database\n await fse.writeFile(join(rootPath, '.env'), generateDotEnv(scope));\n\n if (\n (await shouldWriteYarnNodeModulesConfig(packageManager)) &&\n !(await fse.pathExists(join(rootPath, '.yarnrc.yml')))\n ) {\n await fse.writeFile(join(rootPath, '.yarnrc.yml'), yarnNodeModulesConfig);\n }\n\n await writePnpmWorkspaceConfig(scopeWithPnpmVersion, pnpmVersion);\n\n await trackUsage({ event: 'didCopyConfigurationFiles', scope });\n } catch (err) {\n await fse.remove(rootPath);\n throw err;\n }\n\n // Create and save a growth sso trial license\n if (scope.shouldCreateGrowthSsoTrial) {\n try {\n const data = await createGrowthSsoTrial({ strapiVersion: scope.strapiVersion });\n\n if (data?.license) {\n fse.writeFile(join(rootPath, 'license.txt'), data.license);\n logger.log('Your 30 days trial will be applied automatically to your project. Enjoy!');\n }\n } catch {\n logger.error('Error while trying to create your trial. Please try again later.');\n }\n }\n\n if (installDependencies) {\n try {\n logger.title('deps', `Installing dependencies with ${chalk.cyan(packageManager)}`);\n\n await trackUsage({ event: 'willInstallProjectDependencies', scope });\n\n await runInstall(scope);\n\n await trackUsage({ event: 'didInstallProjectDependencies', scope });\n\n logger.success(`Dependencies installed`);\n } catch (error) {\n const stderr = isStderrError(error) ? error.stderr : '';\n\n await trackUsage({\n event: 'didNotInstallProjectDependencies',\n scope,\n error: stderr.slice(-1024),\n });\n\n logger.fatal([\n chalk.bold(\n 'Oh, it seems that you encountered an error while installing dependencies in your project'\n ),\n '',\n `Don't give up, your project was created correctly`,\n '',\n `Fix the issues mentioned in the installation errors and try to run the following command:`,\n '',\n `cd ${chalk.green(rootPath)} && ${chalk.cyan(packageManager)} install`,\n ]);\n }\n }\n\n await trackUsage({ event: 'didCreateProject', scope });\n\n // make sure a gitignore file is created regardless of the user using git or not\n if (!(await fse.exists(join(rootPath, '.gitignore')))) {\n await fse.writeFile(join(rootPath, '.gitignore'), gitIgnore);\n }\n\n // Init git\n if (gitInit) {\n logger.title('git', 'Initializing git repository.');\n\n await tryGitInit(rootPath);\n\n logger.success('Initialized a git repository.');\n }\n\n if (shouldRunSeed) {\n if (await fse.exists(join(rootPath, 'scripts/seed.js'))) {\n logger.title('Seed', 'Seeding your database with sample data');\n\n try {\n await execa(packageManager, ['run', 'seed:example'], {\n stdio: 'inherit',\n cwd: rootPath,\n });\n logger.success('Sample data added to your database');\n } catch {\n logger.error('Failed to seed your database. Skipping');\n }\n }\n }\n\n const cmd = chalk.cyan(`${packageManager} run`);\n\n logger.title('Strapi', `Your application was created!`);\n\n logger.log([\n 'Available commands in your project:',\n '',\n 'Start Strapi in watch mode. (Changes in Strapi project files will trigger a server restart)',\n `${cmd} develop`,\n '',\n 'Start Strapi without watch mode.',\n `${cmd} start`,\n '',\n 'Build Strapi admin panel.',\n `${cmd} build`,\n '',\n 'Deploy Strapi project.',\n `${cmd} deploy`,\n '',\n ]);\n\n if (useExample) {\n logger.log(['Seed your database with sample data.', `${cmd} seed:example`, '']);\n }\n\n logger.log(['Display all available commands.', `${cmd} strapi\\n`]);\n\n if (installDependencies) {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n } else {\n logger.log([\n 'To get started run',\n '',\n `${chalk.cyan('cd')} ${rootPath}`,\n `${chalk.cyan(packageManager)} install`,\n !shouldRunSeed && useExample ? `${cmd} seed:example && ${cmd} develop` : `${cmd} develop`,\n ]);\n }\n\n if (runApp && installDependencies) {\n logger.title('Run', 'Running your Strapi application');\n\n try {\n await trackUsage({ event: 'willStartServer', scope });\n\n await execa(packageManager, ['run', 'develop'], {\n stdio: 'inherit',\n cwd: rootPath,\n env: {\n FORCE_COLOR: '1',\n },\n });\n } catch (error) {\n if (typeof error === 'string' || error instanceof Error) {\n await trackUsage({\n event: 'didNotStartServer',\n scope,\n error,\n });\n }\n\n logger.fatal('Failed to start your Strapi application');\n }\n }\n}\n\nasync function runInstall({ rootPath, packageManager }: Scope) {\n // include same cwd and env to ensure version check returns same version we use below\n const { envArgs, cmdArgs } = await getInstallArgs(packageManager, {\n cwd: rootPath,\n env: {\n ...process.env,\n NODE_ENV: 'development',\n },\n });\n\n const options: execa.Options = {\n cwd: rootPath,\n stdio: 'inherit',\n env: {\n ...process.env,\n ...envArgs,\n NODE_ENV: 'development',\n },\n };\n\n const proc = execa(packageManager, cmdArgs, options);\n\n return proc;\n}\n\nexport { createStrapi };\n"],"names":["yarnNodeModulesConfig","getUserAgentPackageManagerVersion","packageManager","userAgent","process","env","npm_config_user_agent","agent","split","name","version","undefined","semver","coerce","shouldWriteYarnNodeModulesConfig","userAgentVersion","gte","packageManagerVersion","getPackageManagerVersion","normalizedVersion","resolvePnpmVersion","createStrapi","scope","rootPath","fse","ensureDir","createApp","error","remove","useTypescript","useExample","installDependencies","isQuickstart","template","gitInit","runApp","shouldRunSeed","trackUsage","event","logger","title","chalk","green","templateName","internalTemplatePath","join","__dirname","exists","copy","info","cyan","copyTemplate","success","Error","fatal","message","existsSync","bold","pnpmVersion","scopeWithPnpmVersion","createPackageJSON","writeFile","generateDotEnv","pathExists","writePnpmWorkspaceConfig","err","shouldCreateGrowthSsoTrial","data","createGrowthSsoTrial","strapiVersion","license","log","runInstall","stderr","isStderrError","slice","gitIgnore","tryGitInit","execa","stdio","cwd","cmd","FORCE_COLOR","envArgs","cmdArgs","getInstallArgs","NODE_ENV","options","proc"],"mappings":"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"}
|
package/dist/utils/dot-env.js
CHANGED
|
@@ -35,7 +35,9 @@ DATABASE_FILENAME=<%= database.connection.filename %>
|
|
|
35
35
|
function generateDotEnv(scope) {
|
|
36
36
|
const compile = ___default.default.template(envTmpl);
|
|
37
37
|
return compile({
|
|
38
|
-
appKeys:
|
|
38
|
+
appKeys: Array.from({
|
|
39
|
+
length: 4
|
|
40
|
+
}, ()=>generateASecret()).join(','),
|
|
39
41
|
apiTokenSalt: generateASecret(),
|
|
40
42
|
transferTokenSalt: generateASecret(),
|
|
41
43
|
adminJwtToken: generateASecret(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dot-env.js","sources":["../../src/utils/dot-env.ts"],"sourcesContent":["import crypto from 'crypto';\nimport _ from 'lodash';\n\nimport type { Scope } from '../types';\n\nconst generateASecret = () => crypto.randomBytes(16).toString('base64');\n\nconst envTmpl = `\n# Server\nHOST=0.0.0.0\nPORT=1337\n\n# Secrets\nAPP_KEYS=<%= appKeys %>\nAPI_TOKEN_SALT=<%= apiTokenSalt %>\nADMIN_JWT_SECRET=<%= adminJwtToken %>\nJWT_SECRET=<%= jwtSecret %>\nTRANSFER_TOKEN_SALT=<%= transferTokenSalt %>\nENCRYPTION_KEY=<%= encryptionKey %>\n\n# Database\nDATABASE_CLIENT=<%= database.client %>\nDATABASE_HOST=<%= database.connection.host %>\nDATABASE_PORT=<%= database.connection.port %>\nDATABASE_NAME=<%= database.connection.database %>\nDATABASE_USERNAME=<%= database.connection.username %>\nDATABASE_PASSWORD=<%= database.connection.password %>\nDATABASE_SSL=<%= database.connection.ssl %>\nDATABASE_FILENAME=<%= database.connection.filename %>\n`;\n\nexport function generateDotEnv(scope: Scope) {\n const compile = _.template(envTmpl);\n\n return compile({\n appKeys:
|
|
1
|
+
{"version":3,"file":"dot-env.js","sources":["../../src/utils/dot-env.ts"],"sourcesContent":["import crypto from 'crypto';\nimport _ from 'lodash';\n\nimport type { Scope } from '../types';\n\nconst generateASecret = () => crypto.randomBytes(16).toString('base64');\n\nconst envTmpl = `\n# Server\nHOST=0.0.0.0\nPORT=1337\n\n# Secrets\nAPP_KEYS=<%= appKeys %>\nAPI_TOKEN_SALT=<%= apiTokenSalt %>\nADMIN_JWT_SECRET=<%= adminJwtToken %>\nJWT_SECRET=<%= jwtSecret %>\nTRANSFER_TOKEN_SALT=<%= transferTokenSalt %>\nENCRYPTION_KEY=<%= encryptionKey %>\n\n# Database\nDATABASE_CLIENT=<%= database.client %>\nDATABASE_HOST=<%= database.connection.host %>\nDATABASE_PORT=<%= database.connection.port %>\nDATABASE_NAME=<%= database.connection.database %>\nDATABASE_USERNAME=<%= database.connection.username %>\nDATABASE_PASSWORD=<%= database.connection.password %>\nDATABASE_SSL=<%= database.connection.ssl %>\nDATABASE_FILENAME=<%= database.connection.filename %>\n`;\n\nexport function generateDotEnv(scope: Scope) {\n const compile = _.template(envTmpl);\n\n return compile({\n appKeys: Array.from({ length: 4 }, () => generateASecret()).join(','),\n apiTokenSalt: generateASecret(),\n transferTokenSalt: generateASecret(),\n adminJwtToken: generateASecret(),\n jwtSecret: generateASecret(),\n encryptionKey: generateASecret(),\n database: {\n client: scope.database.client,\n connection: {\n ...scope.database.connection,\n ssl: scope.database.connection?.ssl || false,\n },\n },\n });\n}\n"],"names":["generateASecret","crypto","randomBytes","toString","envTmpl","generateDotEnv","scope","compile","_","template","appKeys","Array","from","length","join","apiTokenSalt","transferTokenSalt","adminJwtToken","jwtSecret","encryptionKey","database","client","connection","ssl"],"mappings":";;;;;;;;;;AAKA,MAAMA,kBAAkB,IAAMC,uBAAAA,CAAOC,WAAW,CAAC,EAAA,CAAA,CAAIC,QAAQ,CAAC,QAAA,CAAA;AAE9D,MAAMC,UAAU;;;;;;;;;;;;;;;;;;;;;;AAsBhB,CAAC;AAEM,SAASC,eAAeC,KAAY,EAAA;IACzC,MAAMC,OAAAA,GAAUC,kBAAAA,CAAEC,QAAQ,CAACL,OAAAA,CAAAA;AAE3B,IAAA,OAAOG,OAAAA,CAAQ;QACbG,OAAAA,EAASC,KAAAA,CAAMC,IAAI,CAAC;YAAEC,MAAAA,EAAQ;SAAE,EAAG,IAAMb,eAAAA,EAAAA,CAAAA,CAAmBc,IAAI,CAAC,GAAA,CAAA;QACjEC,YAAAA,EAAcf,eAAAA,EAAAA;QACdgB,iBAAAA,EAAmBhB,eAAAA,EAAAA;QACnBiB,aAAAA,EAAejB,eAAAA,EAAAA;QACfkB,SAAAA,EAAWlB,eAAAA,EAAAA;QACXmB,aAAAA,EAAenB,eAAAA,EAAAA;QACfoB,QAAAA,EAAU;YACRC,MAAAA,EAAQf,KAAAA,CAAMc,QAAQ,CAACC,MAAM;YAC7BC,UAAAA,EAAY;gBACV,GAAGhB,KAAAA,CAAMc,QAAQ,CAACE,UAAU;AAC5BC,gBAAAA,GAAAA,EAAKjB,KAAAA,CAAMc,QAAQ,CAACE,UAAU,EAAEC,GAAAA,IAAO;AACzC;AACF;AACF,KAAA,CAAA;AACF;;;;"}
|
package/dist/utils/dot-env.mjs
CHANGED
|
@@ -28,7 +28,9 @@ DATABASE_FILENAME=<%= database.connection.filename %>
|
|
|
28
28
|
function generateDotEnv(scope) {
|
|
29
29
|
const compile = _.template(envTmpl);
|
|
30
30
|
return compile({
|
|
31
|
-
appKeys:
|
|
31
|
+
appKeys: Array.from({
|
|
32
|
+
length: 4
|
|
33
|
+
}, ()=>generateASecret()).join(','),
|
|
32
34
|
apiTokenSalt: generateASecret(),
|
|
33
35
|
transferTokenSalt: generateASecret(),
|
|
34
36
|
adminJwtToken: generateASecret(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dot-env.mjs","sources":["../../src/utils/dot-env.ts"],"sourcesContent":["import crypto from 'crypto';\nimport _ from 'lodash';\n\nimport type { Scope } from '../types';\n\nconst generateASecret = () => crypto.randomBytes(16).toString('base64');\n\nconst envTmpl = `\n# Server\nHOST=0.0.0.0\nPORT=1337\n\n# Secrets\nAPP_KEYS=<%= appKeys %>\nAPI_TOKEN_SALT=<%= apiTokenSalt %>\nADMIN_JWT_SECRET=<%= adminJwtToken %>\nJWT_SECRET=<%= jwtSecret %>\nTRANSFER_TOKEN_SALT=<%= transferTokenSalt %>\nENCRYPTION_KEY=<%= encryptionKey %>\n\n# Database\nDATABASE_CLIENT=<%= database.client %>\nDATABASE_HOST=<%= database.connection.host %>\nDATABASE_PORT=<%= database.connection.port %>\nDATABASE_NAME=<%= database.connection.database %>\nDATABASE_USERNAME=<%= database.connection.username %>\nDATABASE_PASSWORD=<%= database.connection.password %>\nDATABASE_SSL=<%= database.connection.ssl %>\nDATABASE_FILENAME=<%= database.connection.filename %>\n`;\n\nexport function generateDotEnv(scope: Scope) {\n const compile = _.template(envTmpl);\n\n return compile({\n appKeys:
|
|
1
|
+
{"version":3,"file":"dot-env.mjs","sources":["../../src/utils/dot-env.ts"],"sourcesContent":["import crypto from 'crypto';\nimport _ from 'lodash';\n\nimport type { Scope } from '../types';\n\nconst generateASecret = () => crypto.randomBytes(16).toString('base64');\n\nconst envTmpl = `\n# Server\nHOST=0.0.0.0\nPORT=1337\n\n# Secrets\nAPP_KEYS=<%= appKeys %>\nAPI_TOKEN_SALT=<%= apiTokenSalt %>\nADMIN_JWT_SECRET=<%= adminJwtToken %>\nJWT_SECRET=<%= jwtSecret %>\nTRANSFER_TOKEN_SALT=<%= transferTokenSalt %>\nENCRYPTION_KEY=<%= encryptionKey %>\n\n# Database\nDATABASE_CLIENT=<%= database.client %>\nDATABASE_HOST=<%= database.connection.host %>\nDATABASE_PORT=<%= database.connection.port %>\nDATABASE_NAME=<%= database.connection.database %>\nDATABASE_USERNAME=<%= database.connection.username %>\nDATABASE_PASSWORD=<%= database.connection.password %>\nDATABASE_SSL=<%= database.connection.ssl %>\nDATABASE_FILENAME=<%= database.connection.filename %>\n`;\n\nexport function generateDotEnv(scope: Scope) {\n const compile = _.template(envTmpl);\n\n return compile({\n appKeys: Array.from({ length: 4 }, () => generateASecret()).join(','),\n apiTokenSalt: generateASecret(),\n transferTokenSalt: generateASecret(),\n adminJwtToken: generateASecret(),\n jwtSecret: generateASecret(),\n encryptionKey: generateASecret(),\n database: {\n client: scope.database.client,\n connection: {\n ...scope.database.connection,\n ssl: scope.database.connection?.ssl || false,\n },\n },\n });\n}\n"],"names":["generateASecret","crypto","randomBytes","toString","envTmpl","generateDotEnv","scope","compile","_","template","appKeys","Array","from","length","join","apiTokenSalt","transferTokenSalt","adminJwtToken","jwtSecret","encryptionKey","database","client","connection","ssl"],"mappings":";;;AAKA,MAAMA,kBAAkB,IAAMC,MAAAA,CAAOC,WAAW,CAAC,EAAA,CAAA,CAAIC,QAAQ,CAAC,QAAA,CAAA;AAE9D,MAAMC,UAAU;;;;;;;;;;;;;;;;;;;;;;AAsBhB,CAAC;AAEM,SAASC,eAAeC,KAAY,EAAA;IACzC,MAAMC,OAAAA,GAAUC,CAAAA,CAAEC,QAAQ,CAACL,OAAAA,CAAAA;AAE3B,IAAA,OAAOG,OAAAA,CAAQ;QACbG,OAAAA,EAASC,KAAAA,CAAMC,IAAI,CAAC;YAAEC,MAAAA,EAAQ;SAAE,EAAG,IAAMb,eAAAA,EAAAA,CAAAA,CAAmBc,IAAI,CAAC,GAAA,CAAA;QACjEC,YAAAA,EAAcf,eAAAA,EAAAA;QACdgB,iBAAAA,EAAmBhB,eAAAA,EAAAA;QACnBiB,aAAAA,EAAejB,eAAAA,EAAAA;QACfkB,SAAAA,EAAWlB,eAAAA,EAAAA;QACXmB,aAAAA,EAAenB,eAAAA,EAAAA;QACfoB,QAAAA,EAAU;YACRC,MAAAA,EAAQf,KAAAA,CAAMc,QAAQ,CAACC,MAAM;YAC7BC,UAAAA,EAAY;gBACV,GAAGhB,KAAAA,CAAMc,QAAQ,CAACE,UAAU;AAC5BC,gBAAAA,GAAAA,EAAKjB,KAAAA,CAAMc,QAAQ,CAACE,UAAU,EAAEC,GAAAA,IAAO;AACzC;AACF;AACF,KAAA,CAAA;AACF;;;;"}
|
package/dist/utils/git.js
CHANGED
|
@@ -16,7 +16,7 @@ async function isInGitRepository(rootDir) {
|
|
|
16
16
|
cwd: rootDir
|
|
17
17
|
});
|
|
18
18
|
return true;
|
|
19
|
-
} catch
|
|
19
|
+
} catch {
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -31,7 +31,7 @@ async function isInMercurialRepository(rootDir) {
|
|
|
31
31
|
cwd: rootDir
|
|
32
32
|
});
|
|
33
33
|
return true;
|
|
34
|
-
} catch
|
|
34
|
+
} catch {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
37
|
}
|
package/dist/utils/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sources":["../../src/utils/git.ts"],"sourcesContent":["import execa from 'execa';\n\nasync function isInGitRepository(rootDir: string) {\n try {\n await execa('git', ['rev-parse', '--is-inside-work-tree'], { stdio: 'ignore', cwd: rootDir });\n return true;\n } catch
|
|
1
|
+
{"version":3,"file":"git.js","sources":["../../src/utils/git.ts"],"sourcesContent":["import execa from 'execa';\n\nasync function isInGitRepository(rootDir: string) {\n try {\n await execa('git', ['rev-parse', '--is-inside-work-tree'], { stdio: 'ignore', cwd: rootDir });\n return true;\n } catch {\n return false;\n }\n}\n\nasync function isInMercurialRepository(rootDir: string) {\n try {\n await execa('hg', ['-cwd', '.', 'root'], { stdio: 'ignore', cwd: rootDir });\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function tryGitInit(rootDir: string) {\n try {\n await execa('git', ['--version'], { stdio: 'ignore' });\n if ((await isInGitRepository(rootDir)) || (await isInMercurialRepository(rootDir))) {\n return false;\n }\n\n await execa('git', ['init'], { stdio: 'ignore', cwd: rootDir });\n\n await execa('git', ['add', '.'], { stdio: 'ignore', cwd: rootDir });\n await execa('git', ['commit', '-m', 'Initial commit from Strapi'], {\n stdio: 'ignore',\n cwd: rootDir,\n });\n\n return true;\n } catch (e) {\n console.error('Error while trying to initialize git:', e);\n return false;\n }\n}\n"],"names":["isInGitRepository","rootDir","execa","stdio","cwd","isInMercurialRepository","tryGitInit","e","console","error"],"mappings":";;;;;;;;AAEA,eAAeA,kBAAkBC,OAAe,EAAA;IAC9C,IAAI;AACF,QAAA,MAAMC,uBAAM,KAAA,EAAO;AAAC,YAAA,WAAA;AAAa,YAAA;SAAwB,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;QAC3F,OAAO,IAAA;AACT,IAAA,CAAA,CAAE,OAAM;QACN,OAAO,KAAA;AACT,IAAA;AACF;AAEA,eAAeI,wBAAwBJ,OAAe,EAAA;IACpD,IAAI;AACF,QAAA,MAAMC,uBAAM,IAAA,EAAM;AAAC,YAAA,MAAA;AAAQ,YAAA,GAAA;AAAK,YAAA;SAAO,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;QACzE,OAAO,IAAA;AACT,IAAA,CAAA,CAAE,OAAM;QACN,OAAO,KAAA;AACT,IAAA;AACF;AAEO,eAAeK,WAAWL,OAAe,EAAA;IAC9C,IAAI;AACF,QAAA,MAAMC,uBAAM,KAAA,EAAO;AAAC,YAAA;SAAY,EAAE;YAAEC,KAAAA,EAAO;AAAS,SAAA,CAAA;AACpD,QAAA,IAAI,MAAOH,iBAAAA,CAAkBC,OAAAA,CAAAA,IAAc,MAAMI,wBAAwBJ,OAAAA,CAAAA,EAAW;YAClF,OAAO,KAAA;AACT,QAAA;AAEA,QAAA,MAAMC,uBAAM,KAAA,EAAO;AAAC,YAAA;SAAO,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;AAE7D,QAAA,MAAMC,uBAAM,KAAA,EAAO;AAAC,YAAA,KAAA;AAAO,YAAA;SAAI,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;AACjE,QAAA,MAAMC,uBAAM,KAAA,EAAO;AAAC,YAAA,QAAA;AAAU,YAAA,IAAA;AAAM,YAAA;SAA6B,EAAE;YACjEC,KAAAA,EAAO,QAAA;YACPC,GAAAA,EAAKH;AACP,SAAA,CAAA;QAEA,OAAO,IAAA;AACT,IAAA,CAAA,CAAE,OAAOM,CAAAA,EAAG;QACVC,OAAAA,CAAQC,KAAK,CAAC,uCAAA,EAAyCF,CAAAA,CAAAA;QACvD,OAAO,KAAA;AACT,IAAA;AACF;;;;"}
|
package/dist/utils/git.mjs
CHANGED
|
@@ -10,7 +10,7 @@ async function isInGitRepository(rootDir) {
|
|
|
10
10
|
cwd: rootDir
|
|
11
11
|
});
|
|
12
12
|
return true;
|
|
13
|
-
} catch
|
|
13
|
+
} catch {
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -25,7 +25,7 @@ async function isInMercurialRepository(rootDir) {
|
|
|
25
25
|
cwd: rootDir
|
|
26
26
|
});
|
|
27
27
|
return true;
|
|
28
|
-
} catch
|
|
28
|
+
} catch {
|
|
29
29
|
return false;
|
|
30
30
|
}
|
|
31
31
|
}
|
package/dist/utils/git.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.mjs","sources":["../../src/utils/git.ts"],"sourcesContent":["import execa from 'execa';\n\nasync function isInGitRepository(rootDir: string) {\n try {\n await execa('git', ['rev-parse', '--is-inside-work-tree'], { stdio: 'ignore', cwd: rootDir });\n return true;\n } catch
|
|
1
|
+
{"version":3,"file":"git.mjs","sources":["../../src/utils/git.ts"],"sourcesContent":["import execa from 'execa';\n\nasync function isInGitRepository(rootDir: string) {\n try {\n await execa('git', ['rev-parse', '--is-inside-work-tree'], { stdio: 'ignore', cwd: rootDir });\n return true;\n } catch {\n return false;\n }\n}\n\nasync function isInMercurialRepository(rootDir: string) {\n try {\n await execa('hg', ['-cwd', '.', 'root'], { stdio: 'ignore', cwd: rootDir });\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function tryGitInit(rootDir: string) {\n try {\n await execa('git', ['--version'], { stdio: 'ignore' });\n if ((await isInGitRepository(rootDir)) || (await isInMercurialRepository(rootDir))) {\n return false;\n }\n\n await execa('git', ['init'], { stdio: 'ignore', cwd: rootDir });\n\n await execa('git', ['add', '.'], { stdio: 'ignore', cwd: rootDir });\n await execa('git', ['commit', '-m', 'Initial commit from Strapi'], {\n stdio: 'ignore',\n cwd: rootDir,\n });\n\n return true;\n } catch (e) {\n console.error('Error while trying to initialize git:', e);\n return false;\n }\n}\n"],"names":["isInGitRepository","rootDir","execa","stdio","cwd","isInMercurialRepository","tryGitInit","e","console","error"],"mappings":";;AAEA,eAAeA,kBAAkBC,OAAe,EAAA;IAC9C,IAAI;AACF,QAAA,MAAMC,MAAM,KAAA,EAAO;AAAC,YAAA,WAAA;AAAa,YAAA;SAAwB,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;QAC3F,OAAO,IAAA;AACT,IAAA,CAAA,CAAE,OAAM;QACN,OAAO,KAAA;AACT,IAAA;AACF;AAEA,eAAeI,wBAAwBJ,OAAe,EAAA;IACpD,IAAI;AACF,QAAA,MAAMC,MAAM,IAAA,EAAM;AAAC,YAAA,MAAA;AAAQ,YAAA,GAAA;AAAK,YAAA;SAAO,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;QACzE,OAAO,IAAA;AACT,IAAA,CAAA,CAAE,OAAM;QACN,OAAO,KAAA;AACT,IAAA;AACF;AAEO,eAAeK,WAAWL,OAAe,EAAA;IAC9C,IAAI;AACF,QAAA,MAAMC,MAAM,KAAA,EAAO;AAAC,YAAA;SAAY,EAAE;YAAEC,KAAAA,EAAO;AAAS,SAAA,CAAA;AACpD,QAAA,IAAI,MAAOH,iBAAAA,CAAkBC,OAAAA,CAAAA,IAAc,MAAMI,wBAAwBJ,OAAAA,CAAAA,EAAW;YAClF,OAAO,KAAA;AACT,QAAA;AAEA,QAAA,MAAMC,MAAM,KAAA,EAAO;AAAC,YAAA;SAAO,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;AAE7D,QAAA,MAAMC,MAAM,KAAA,EAAO;AAAC,YAAA,KAAA;AAAO,YAAA;SAAI,EAAE;YAAEC,KAAAA,EAAO,QAAA;YAAUC,GAAAA,EAAKH;AAAQ,SAAA,CAAA;AACjE,QAAA,MAAMC,MAAM,KAAA,EAAO;AAAC,YAAA,QAAA;AAAU,YAAA,IAAA;AAAM,YAAA;SAA6B,EAAE;YACjEC,KAAAA,EAAO,QAAA;YACPC,GAAAA,EAAKH;AACP,SAAA,CAAA;QAEA,OAAO,IAAA;AACT,IAAA,CAAA,CAAE,OAAOM,CAAAA,EAAG;QACVC,OAAAA,CAAQC,KAAK,CAAC,uCAAA,EAAyCF,CAAAA,CAAAA;QACvD,OAAO,KAAA;AACT,IAAA;AACF;;;;"}
|
|
@@ -23,7 +23,7 @@ const getPnpmPackageJsonConfig = (scope, existingPkg)=>{
|
|
|
23
23
|
const existingOnlyBuiltDependencies = Array.isArray(existingPkg.pnpm?.onlyBuiltDependencies) ? existingPkg.pnpm.onlyBuiltDependencies.filter((dep)=>typeof dep === 'string') : [];
|
|
24
24
|
return {
|
|
25
25
|
pnpm: {
|
|
26
|
-
...existingPkg.pnpm
|
|
26
|
+
...existingPkg.pnpm,
|
|
27
27
|
onlyBuiltDependencies: pnpmConfig.getPnpmOnlyBuiltDependencies(scope, existingOnlyBuiltDependencies)
|
|
28
28
|
}
|
|
29
29
|
};
|
|
@@ -40,7 +40,7 @@ async function createPackageJSON(scope) {
|
|
|
40
40
|
devDependencies: scope.devDependencies ?? {},
|
|
41
41
|
dependencies: scope.dependencies ?? {},
|
|
42
42
|
strapi: {
|
|
43
|
-
...scope.packageJsonStrapi
|
|
43
|
+
...scope.packageJsonStrapi,
|
|
44
44
|
uuid: scope.uuid,
|
|
45
45
|
installId: scope.installId
|
|
46
46
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.js","sources":["../../src/utils/package-json.ts"],"sourcesContent":["import { join } from 'path';\nimport { kebabCase, mergeWith } from 'lodash';\nimport fse from 'fs-extra';\n\nimport { engines } from './engines';\nimport { getPnpmOnlyBuiltDependencies, shouldUsePackageJsonPnpmConfig } from './pnpm-config';\nimport type { Scope } from '../types';\n\ntype PnpmPackageConfig = {\n onlyBuiltDependencies?: string[];\n [key: string]: unknown;\n};\n\ntype PackageJson = {\n pnpm?: PnpmPackageConfig;\n [key: string]: unknown;\n};\n\nconst mergePackageJson = (existingPkg: PackageJson, pkg: PackageJson) =>\n mergeWith({}, existingPkg, pkg, (_objValue, srcValue) => {\n if (Array.isArray(srcValue)) {\n return srcValue;\n }\n\n return undefined;\n });\n\nconst getPnpmPackageJsonConfig = (scope: Scope, existingPkg: PackageJson) => {\n if (scope.packageManager !== 'pnpm' || !shouldUsePackageJsonPnpmConfig(scope.pnpmVersion)) {\n return {};\n }\n\n const existingOnlyBuiltDependencies = Array.isArray(existingPkg.pnpm?.onlyBuiltDependencies)\n ? existingPkg.pnpm.onlyBuiltDependencies.filter((dep): dep is string => typeof dep === 'string')\n : [];\n\n return {\n pnpm: {\n ...
|
|
1
|
+
{"version":3,"file":"package-json.js","sources":["../../src/utils/package-json.ts"],"sourcesContent":["import { join } from 'path';\nimport { kebabCase, mergeWith } from 'lodash';\nimport fse from 'fs-extra';\n\nimport { engines } from './engines';\nimport { getPnpmOnlyBuiltDependencies, shouldUsePackageJsonPnpmConfig } from './pnpm-config';\nimport type { Scope } from '../types';\n\ntype PnpmPackageConfig = {\n onlyBuiltDependencies?: string[];\n [key: string]: unknown;\n};\n\ntype PackageJson = {\n pnpm?: PnpmPackageConfig;\n [key: string]: unknown;\n};\n\nconst mergePackageJson = (existingPkg: PackageJson, pkg: PackageJson) =>\n mergeWith({}, existingPkg, pkg, (_objValue, srcValue) => {\n if (Array.isArray(srcValue)) {\n return srcValue;\n }\n\n return undefined;\n });\n\nconst getPnpmPackageJsonConfig = (scope: Scope, existingPkg: PackageJson) => {\n if (scope.packageManager !== 'pnpm' || !shouldUsePackageJsonPnpmConfig(scope.pnpmVersion)) {\n return {};\n }\n\n const existingOnlyBuiltDependencies = Array.isArray(existingPkg.pnpm?.onlyBuiltDependencies)\n ? existingPkg.pnpm.onlyBuiltDependencies.filter((dep): dep is string => typeof dep === 'string')\n : [];\n\n return {\n pnpm: {\n ...existingPkg.pnpm,\n onlyBuiltDependencies: getPnpmOnlyBuiltDependencies(scope, existingOnlyBuiltDependencies),\n },\n };\n};\n\nexport async function createPackageJSON(scope: Scope) {\n const { sortPackageJson } = await import('sort-package-json');\n\n const pkgJSONPath = join(scope.rootPath, 'package.json');\n\n const existingPkg = (await fse.readJSON(pkgJSONPath).catch(() => ({}))) as PackageJson;\n\n const pkg = {\n name: kebabCase(scope.name),\n private: true,\n version: '0.1.0',\n description: 'A Strapi application',\n devDependencies: scope.devDependencies ?? {},\n dependencies: scope.dependencies ?? {},\n strapi: {\n ...scope.packageJsonStrapi,\n uuid: scope.uuid,\n installId: scope.installId,\n },\n engines,\n ...getPnpmPackageJsonConfig(scope, existingPkg),\n };\n\n // copy templates\n await fse.writeJSON(pkgJSONPath, sortPackageJson(mergePackageJson(existingPkg, pkg)), {\n spaces: 2,\n });\n}\n"],"names":["mergePackageJson","existingPkg","pkg","mergeWith","_objValue","srcValue","Array","isArray","undefined","getPnpmPackageJsonConfig","scope","packageManager","shouldUsePackageJsonPnpmConfig","pnpmVersion","existingOnlyBuiltDependencies","pnpm","onlyBuiltDependencies","filter","dep","getPnpmOnlyBuiltDependencies","createPackageJSON","sortPackageJson","pkgJSONPath","join","rootPath","fse","readJSON","catch","name","kebabCase","private","version","description","devDependencies","dependencies","strapi","packageJsonStrapi","uuid","installId","engines","writeJSON","spaces"],"mappings":";;;;;;;;;;;;AAkBA,MAAMA,gBAAAA,GAAmB,CAACC,WAAAA,EAA0BC,GAAAA,GAClDC,WAAAA,CAAU,EAAC,EAAGF,WAAAA,EAAaC,GAAAA,EAAK,CAACE,SAAAA,EAAWC,QAAAA,GAAAA;QAC1C,IAAIC,KAAAA,CAAMC,OAAO,CAACF,QAAAA,CAAAA,EAAW;YAC3B,OAAOA,QAAAA;AACT,QAAA;QAEA,OAAOG,SAAAA;AACT,IAAA,CAAA,CAAA;AAEF,MAAMC,wBAAAA,GAA2B,CAACC,KAAAA,EAAcT,WAAAA,GAAAA;IAC9C,IAAIS,KAAAA,CAAMC,cAAc,KAAK,MAAA,IAAU,CAACC,yCAAAA,CAA+BF,KAAAA,CAAMG,WAAW,CAAA,EAAG;AACzF,QAAA,OAAO,EAAC;AACV,IAAA;IAEA,MAAMC,6BAAAA,GAAgCR,MAAMC,OAAO,CAACN,YAAYc,IAAI,EAAEC,yBAClEf,WAAAA,CAAYc,IAAI,CAACC,qBAAqB,CAACC,MAAM,CAAC,CAACC,MAAuB,OAAOA,GAAAA,KAAQ,YACrF,EAAE;IAEN,OAAO;QACLH,IAAAA,EAAM;AACJ,YAAA,GAAGd,YAAYc,IAAI;AACnBC,YAAAA,qBAAAA,EAAuBG,wCAA6BT,KAAAA,EAAOI,6BAAAA;AAC7D;AACF,KAAA;AACF,CAAA;AAEO,eAAeM,kBAAkBV,KAAY,EAAA;AAClD,IAAA,MAAM,EAAEW,eAAe,EAAE,GAAG,MAAM,OAAO,mBAAA,CAAA;AAEzC,IAAA,MAAMC,WAAAA,GAAcC,SAAAA,CAAKb,KAAAA,CAAMc,QAAQ,EAAE,cAAA,CAAA;IAEzC,MAAMvB,WAAAA,GAAe,MAAMwB,oBAAAA,CAAIC,QAAQ,CAACJ,WAAAA,CAAAA,CAAaK,KAAK,CAAC,KAAO,EAAC,CAAA,CAAA;AAEnE,IAAA,MAAMzB,GAAAA,GAAM;QACV0B,IAAAA,EAAMC,WAAAA,CAAUnB,MAAMkB,IAAI,CAAA;QAC1BE,OAAAA,EAAS,IAAA;QACTC,OAAAA,EAAS,OAAA;QACTC,WAAAA,EAAa,sBAAA;QACbC,eAAAA,EAAiBvB,KAAAA,CAAMuB,eAAe,IAAI,EAAC;QAC3CC,YAAAA,EAAcxB,KAAAA,CAAMwB,YAAY,IAAI,EAAC;QACrCC,MAAAA,EAAQ;AACN,YAAA,GAAGzB,MAAM0B,iBAAiB;AAC1BC,YAAAA,IAAAA,EAAM3B,MAAM2B,IAAI;AAChBC,YAAAA,SAAAA,EAAW5B,MAAM4B;AACnB,SAAA;AACAC,iBAAAA,eAAAA;QACA,GAAG9B,wBAAAA,CAAyBC,OAAOT,WAAAA;AACrC,KAAA;;AAGA,IAAA,MAAMwB,qBAAIe,SAAS,CAAClB,aAAaD,eAAAA,CAAgBrB,gBAAAA,CAAiBC,aAAaC,GAAAA,CAAAA,CAAAA,EAAO;QACpFuC,MAAAA,EAAQ;AACV,KAAA,CAAA;AACF;;;;"}
|
|
@@ -17,7 +17,7 @@ const getPnpmPackageJsonConfig = (scope, existingPkg)=>{
|
|
|
17
17
|
const existingOnlyBuiltDependencies = Array.isArray(existingPkg.pnpm?.onlyBuiltDependencies) ? existingPkg.pnpm.onlyBuiltDependencies.filter((dep)=>typeof dep === 'string') : [];
|
|
18
18
|
return {
|
|
19
19
|
pnpm: {
|
|
20
|
-
...existingPkg.pnpm
|
|
20
|
+
...existingPkg.pnpm,
|
|
21
21
|
onlyBuiltDependencies: getPnpmOnlyBuiltDependencies(scope, existingOnlyBuiltDependencies)
|
|
22
22
|
}
|
|
23
23
|
};
|
|
@@ -34,7 +34,7 @@ async function createPackageJSON(scope) {
|
|
|
34
34
|
devDependencies: scope.devDependencies ?? {},
|
|
35
35
|
dependencies: scope.dependencies ?? {},
|
|
36
36
|
strapi: {
|
|
37
|
-
...scope.packageJsonStrapi
|
|
37
|
+
...scope.packageJsonStrapi,
|
|
38
38
|
uuid: scope.uuid,
|
|
39
39
|
installId: scope.installId
|
|
40
40
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.mjs","sources":["../../src/utils/package-json.ts"],"sourcesContent":["import { join } from 'path';\nimport { kebabCase, mergeWith } from 'lodash';\nimport fse from 'fs-extra';\n\nimport { engines } from './engines';\nimport { getPnpmOnlyBuiltDependencies, shouldUsePackageJsonPnpmConfig } from './pnpm-config';\nimport type { Scope } from '../types';\n\ntype PnpmPackageConfig = {\n onlyBuiltDependencies?: string[];\n [key: string]: unknown;\n};\n\ntype PackageJson = {\n pnpm?: PnpmPackageConfig;\n [key: string]: unknown;\n};\n\nconst mergePackageJson = (existingPkg: PackageJson, pkg: PackageJson) =>\n mergeWith({}, existingPkg, pkg, (_objValue, srcValue) => {\n if (Array.isArray(srcValue)) {\n return srcValue;\n }\n\n return undefined;\n });\n\nconst getPnpmPackageJsonConfig = (scope: Scope, existingPkg: PackageJson) => {\n if (scope.packageManager !== 'pnpm' || !shouldUsePackageJsonPnpmConfig(scope.pnpmVersion)) {\n return {};\n }\n\n const existingOnlyBuiltDependencies = Array.isArray(existingPkg.pnpm?.onlyBuiltDependencies)\n ? existingPkg.pnpm.onlyBuiltDependencies.filter((dep): dep is string => typeof dep === 'string')\n : [];\n\n return {\n pnpm: {\n ...
|
|
1
|
+
{"version":3,"file":"package-json.mjs","sources":["../../src/utils/package-json.ts"],"sourcesContent":["import { join } from 'path';\nimport { kebabCase, mergeWith } from 'lodash';\nimport fse from 'fs-extra';\n\nimport { engines } from './engines';\nimport { getPnpmOnlyBuiltDependencies, shouldUsePackageJsonPnpmConfig } from './pnpm-config';\nimport type { Scope } from '../types';\n\ntype PnpmPackageConfig = {\n onlyBuiltDependencies?: string[];\n [key: string]: unknown;\n};\n\ntype PackageJson = {\n pnpm?: PnpmPackageConfig;\n [key: string]: unknown;\n};\n\nconst mergePackageJson = (existingPkg: PackageJson, pkg: PackageJson) =>\n mergeWith({}, existingPkg, pkg, (_objValue, srcValue) => {\n if (Array.isArray(srcValue)) {\n return srcValue;\n }\n\n return undefined;\n });\n\nconst getPnpmPackageJsonConfig = (scope: Scope, existingPkg: PackageJson) => {\n if (scope.packageManager !== 'pnpm' || !shouldUsePackageJsonPnpmConfig(scope.pnpmVersion)) {\n return {};\n }\n\n const existingOnlyBuiltDependencies = Array.isArray(existingPkg.pnpm?.onlyBuiltDependencies)\n ? existingPkg.pnpm.onlyBuiltDependencies.filter((dep): dep is string => typeof dep === 'string')\n : [];\n\n return {\n pnpm: {\n ...existingPkg.pnpm,\n onlyBuiltDependencies: getPnpmOnlyBuiltDependencies(scope, existingOnlyBuiltDependencies),\n },\n };\n};\n\nexport async function createPackageJSON(scope: Scope) {\n const { sortPackageJson } = await import('sort-package-json');\n\n const pkgJSONPath = join(scope.rootPath, 'package.json');\n\n const existingPkg = (await fse.readJSON(pkgJSONPath).catch(() => ({}))) as PackageJson;\n\n const pkg = {\n name: kebabCase(scope.name),\n private: true,\n version: '0.1.0',\n description: 'A Strapi application',\n devDependencies: scope.devDependencies ?? {},\n dependencies: scope.dependencies ?? {},\n strapi: {\n ...scope.packageJsonStrapi,\n uuid: scope.uuid,\n installId: scope.installId,\n },\n engines,\n ...getPnpmPackageJsonConfig(scope, existingPkg),\n };\n\n // copy templates\n await fse.writeJSON(pkgJSONPath, sortPackageJson(mergePackageJson(existingPkg, pkg)), {\n spaces: 2,\n });\n}\n"],"names":["mergePackageJson","existingPkg","pkg","mergeWith","_objValue","srcValue","Array","isArray","undefined","getPnpmPackageJsonConfig","scope","packageManager","shouldUsePackageJsonPnpmConfig","pnpmVersion","existingOnlyBuiltDependencies","pnpm","onlyBuiltDependencies","filter","dep","getPnpmOnlyBuiltDependencies","createPackageJSON","sortPackageJson","pkgJSONPath","join","rootPath","fse","readJSON","catch","name","kebabCase","private","version","description","devDependencies","dependencies","strapi","packageJsonStrapi","uuid","installId","engines","writeJSON","spaces"],"mappings":";;;;;;AAkBA,MAAMA,gBAAAA,GAAmB,CAACC,WAAAA,EAA0BC,GAAAA,GAClDC,SAAAA,CAAU,EAAC,EAAGF,WAAAA,EAAaC,GAAAA,EAAK,CAACE,SAAAA,EAAWC,QAAAA,GAAAA;QAC1C,IAAIC,KAAAA,CAAMC,OAAO,CAACF,QAAAA,CAAAA,EAAW;YAC3B,OAAOA,QAAAA;AACT,QAAA;QAEA,OAAOG,SAAAA;AACT,IAAA,CAAA,CAAA;AAEF,MAAMC,wBAAAA,GAA2B,CAACC,KAAAA,EAAcT,WAAAA,GAAAA;IAC9C,IAAIS,KAAAA,CAAMC,cAAc,KAAK,MAAA,IAAU,CAACC,8BAAAA,CAA+BF,KAAAA,CAAMG,WAAW,CAAA,EAAG;AACzF,QAAA,OAAO,EAAC;AACV,IAAA;IAEA,MAAMC,6BAAAA,GAAgCR,MAAMC,OAAO,CAACN,YAAYc,IAAI,EAAEC,yBAClEf,WAAAA,CAAYc,IAAI,CAACC,qBAAqB,CAACC,MAAM,CAAC,CAACC,MAAuB,OAAOA,GAAAA,KAAQ,YACrF,EAAE;IAEN,OAAO;QACLH,IAAAA,EAAM;AACJ,YAAA,GAAGd,YAAYc,IAAI;AACnBC,YAAAA,qBAAAA,EAAuBG,6BAA6BT,KAAAA,EAAOI,6BAAAA;AAC7D;AACF,KAAA;AACF,CAAA;AAEO,eAAeM,kBAAkBV,KAAY,EAAA;AAClD,IAAA,MAAM,EAAEW,eAAe,EAAE,GAAG,MAAM,OAAO,mBAAA,CAAA;AAEzC,IAAA,MAAMC,WAAAA,GAAcC,IAAAA,CAAKb,KAAAA,CAAMc,QAAQ,EAAE,cAAA,CAAA;IAEzC,MAAMvB,WAAAA,GAAe,MAAMwB,GAAAA,CAAIC,QAAQ,CAACJ,WAAAA,CAAAA,CAAaK,KAAK,CAAC,KAAO,EAAC,CAAA,CAAA;AAEnE,IAAA,MAAMzB,GAAAA,GAAM;QACV0B,IAAAA,EAAMC,SAAAA,CAAUnB,MAAMkB,IAAI,CAAA;QAC1BE,OAAAA,EAAS,IAAA;QACTC,OAAAA,EAAS,OAAA;QACTC,WAAAA,EAAa,sBAAA;QACbC,eAAAA,EAAiBvB,KAAAA,CAAMuB,eAAe,IAAI,EAAC;QAC3CC,YAAAA,EAAcxB,KAAAA,CAAMwB,YAAY,IAAI,EAAC;QACrCC,MAAAA,EAAQ;AACN,YAAA,GAAGzB,MAAM0B,iBAAiB;AAC1BC,YAAAA,IAAAA,EAAM3B,MAAM2B,IAAI;AAChBC,YAAAA,SAAAA,EAAW5B,MAAM4B;AACnB,SAAA;AACAC,QAAAA,OAAAA;QACA,GAAG9B,wBAAAA,CAAyBC,OAAOT,WAAAA;AACrC,KAAA;;AAGA,IAAA,MAAMwB,IAAIe,SAAS,CAAClB,aAAaD,eAAAA,CAAgBrB,gBAAAA,CAAiBC,aAAaC,GAAAA,CAAAA,CAAAA,EAAO;QACpFuC,MAAAA,EAAQ;AACV,KAAA,CAAA;AACF;;;;"}
|
package/dist/utils/usage.js
CHANGED
|
@@ -64,7 +64,7 @@ function trackEvent(event, payload) {
|
|
|
64
64
|
'X-Strapi-Event': event
|
|
65
65
|
}
|
|
66
66
|
}).catch(()=>{});
|
|
67
|
-
} catch
|
|
67
|
+
} catch {
|
|
68
68
|
/** ignore errors */ return Promise.resolve();
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -75,7 +75,7 @@ async function trackError({ scope, error }) {
|
|
|
75
75
|
deviceId: scope.installId,
|
|
76
76
|
...properties
|
|
77
77
|
});
|
|
78
|
-
} catch
|
|
78
|
+
} catch {
|
|
79
79
|
/** ignore errors */ return Promise.resolve();
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -86,7 +86,7 @@ async function trackUsage({ event, scope, error }) {
|
|
|
86
86
|
deviceId: scope.installId,
|
|
87
87
|
...properties
|
|
88
88
|
});
|
|
89
|
-
} catch
|
|
89
|
+
} catch {
|
|
90
90
|
/** ignore errors */ return Promise.resolve();
|
|
91
91
|
}
|
|
92
92
|
}
|
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
|
|
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 {\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 {\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 {\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","Promise","resolve","trackError","properties","deviceId","installId","trackUsage"],"mappings":"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"}
|
package/dist/utils/usage.mjs
CHANGED
|
@@ -57,7 +57,7 @@ function trackEvent(event, payload) {
|
|
|
57
57
|
'X-Strapi-Event': event
|
|
58
58
|
}
|
|
59
59
|
}).catch(()=>{});
|
|
60
|
-
} catch
|
|
60
|
+
} catch {
|
|
61
61
|
/** ignore errors */ return Promise.resolve();
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -68,7 +68,7 @@ async function trackError({ scope, error }) {
|
|
|
68
68
|
deviceId: scope.installId,
|
|
69
69
|
...properties
|
|
70
70
|
});
|
|
71
|
-
} catch
|
|
71
|
+
} catch {
|
|
72
72
|
/** ignore errors */ return Promise.resolve();
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -79,7 +79,7 @@ async function trackUsage({ event, scope, error }) {
|
|
|
79
79
|
deviceId: scope.installId,
|
|
80
80
|
...properties
|
|
81
81
|
});
|
|
82
|
-
} catch
|
|
82
|
+
} catch {
|
|
83
83
|
/** ignore errors */ return Promise.resolve();
|
|
84
84
|
}
|
|
85
85
|
}
|
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
|
|
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 {\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 {\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 {\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","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.52.0",
|
|
4
4
|
"description": "Generate a new Strapi application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"create-strapi-app",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"watch": "run -T rollup -c -w"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@strapi/cloud-cli": "5.
|
|
55
|
+
"@strapi/cloud-cli": "5.52.0",
|
|
56
56
|
"async-retry": "1.3.3",
|
|
57
57
|
"chalk": "4.1.2",
|
|
58
58
|
"commander": "8.3.0",
|
|
@@ -65,17 +65,17 @@
|
|
|
65
65
|
"rollup": "4.60.4",
|
|
66
66
|
"semver": "7.7.4",
|
|
67
67
|
"sort-package-json": "2.10.0",
|
|
68
|
-
"tar": "7.5.
|
|
68
|
+
"tar": "7.5.22"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@strapi/database": "5.
|
|
72
|
-
"@strapi/utils": "5.
|
|
71
|
+
"@strapi/database": "5.52.0",
|
|
72
|
+
"@strapi/utils": "5.52.0",
|
|
73
73
|
"@types/async-retry": "^1",
|
|
74
74
|
"@types/fs-extra": "11.0.4",
|
|
75
75
|
"@types/inquirer": "9.0.9",
|
|
76
76
|
"@types/node": "20.19.41",
|
|
77
|
-
"eslint-config-custom": "5.
|
|
78
|
-
"tsconfig": "5.
|
|
77
|
+
"eslint-config-custom": "5.52.0",
|
|
78
|
+
"tsconfig": "5.52.0"
|
|
79
79
|
},
|
|
80
80
|
"engines": {
|
|
81
81
|
"node": ">=20.0.0 <=26.x.x",
|