{"version":3,"file":"startup-logger.mjs","sources":["../../src/utils/startup-logger.ts"],"sourcesContent":["import chalk from 'chalk';\nimport CLITable from 'cli-table3';\nimport _ from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\nexport const createStartupLogger = (app: Core.Strapi) => {\n  return {\n    logStats() {\n      const columns = Math.min(process.stderr.columns, 80) - 2;\n      console.log();\n      console.log(chalk.black.bgWhite(_.padEnd(columns, ' Project information')));\n      console.log();\n\n      const infoTable = new CLITable({\n        colWidths: [20, 50],\n        chars: { mid: '', 'left-mid': '', 'mid-mid': '', 'right-mid': '' },\n      });\n\n      const dbInfo = app.db?.getInfo();\n\n      infoTable.push(\n        [chalk.blue('Time'), `${new Date()}`],\n        [chalk.blue('Launched in'), `${Date.now() - app.config.launchedAt} ms`],\n        [chalk.blue('Environment'), app.config.environment],\n        [chalk.blue('Process PID'), process.pid],\n        [chalk.blue('Version'), `${app.config.info.strapi} (node ${process.version})`],\n        [chalk.blue('Edition'), app.EE ? 'Enterprise' : 'Community'],\n        [chalk.blue('Database'), dbInfo?.client],\n        [chalk.blue('Database name'), dbInfo?.displayName]\n      );\n\n      if (dbInfo?.schema) {\n        infoTable.push([chalk.blue('Database schema'), dbInfo.schema]);\n      }\n\n      console.log(infoTable.toString());\n      console.log();\n      console.log(chalk.black.bgWhite(_.padEnd(columns, ' Actions available')));\n      console.log();\n    },\n\n    logFirstStartupMessage() {\n      if (!strapi.config.get('server.logger.startup.enabled')) {\n        return;\n      }\n\n      this.logStats();\n\n      console.log(chalk.bold('One more thing...'));\n      console.log(\n        chalk.grey('Create your first administrator 💻 by going to the administration panel at:')\n      );\n      console.log();\n\n      const addressTable = new CLITable();\n\n      const adminUrl = strapi.config.get('admin.absoluteUrl');\n      addressTable.push([chalk.bold(adminUrl)]);\n\n      console.log(`${addressTable.toString()}`);\n      console.log();\n    },\n\n    logDefaultStartupMessage() {\n      if (!strapi.config.get('server.logger.startup.enabled')) {\n        return;\n      }\n      this.logStats();\n\n      console.log(chalk.bold('Welcome back!'));\n\n      if (app.config.get('admin.serveAdminPanel') === true) {\n        console.log(chalk.grey('To manage your project 🚀, go to the administration panel at:'));\n        const adminUrl = strapi.config.get('admin.absoluteUrl');\n        console.log(chalk.bold(adminUrl));\n        console.log();\n      }\n\n      console.log(chalk.grey('To access the server ⚡️, go to:'));\n      const serverUrl = strapi.config.get('server.absoluteUrl');\n      console.log(chalk.bold(serverUrl));\n      console.log();\n    },\n\n    logStartupMessage({ isInitialized }: { isInitialized: boolean }) {\n      if (!strapi.config.get('server.logger.startup.enabled')) {\n        return;\n      }\n      if (!isInitialized) {\n        this.logFirstStartupMessage();\n      } else {\n        this.logDefaultStartupMessage();\n      }\n    },\n  };\n};\n"],"names":["createStartupLogger","app","logStats","columns","Math","min","process","stderr","console","log","chalk","black","bgWhite","_","padEnd","infoTable","CLITable","colWidths","chars","mid","dbInfo","db","getInfo","push","blue","Date","now","config","launchedAt","environment","pid","info","strapi","version","EE","client","displayName","schema","toString","logFirstStartupMessage","get","bold","grey","addressTable","adminUrl","logDefaultStartupMessage","serverUrl","logStartupMessage","isInitialized"],"mappings":"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"}