@strapi/strapi 5.37.1 → 5.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/admin.js.map +1 -1
  2. package/dist/admin.mjs.map +1 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cli.mjs.map +1 -1
  5. package/dist/node/core/linked-packages.d.ts +15 -0
  6. package/dist/node/core/linked-packages.d.ts.map +1 -0
  7. package/dist/node/core/resolve-module.d.ts +8 -0
  8. package/dist/node/core/resolve-module.d.ts.map +1 -0
  9. package/dist/node/vite/config.d.ts.map +1 -1
  10. package/dist/node/webpack/config.d.ts.map +1 -1
  11. package/dist/package.json.js +1 -1
  12. package/dist/package.json.mjs +1 -1
  13. package/dist/src/cli/commands/admin/create-user.js.map +1 -1
  14. package/dist/src/cli/commands/admin/create-user.mjs.map +1 -1
  15. package/dist/src/cli/commands/admin/reset-user-password.js.map +1 -1
  16. package/dist/src/cli/commands/admin/reset-user-password.mjs.map +1 -1
  17. package/dist/src/cli/commands/build.js.map +1 -1
  18. package/dist/src/cli/commands/build.mjs.map +1 -1
  19. package/dist/src/cli/commands/components/list.js.map +1 -1
  20. package/dist/src/cli/commands/components/list.mjs.map +1 -1
  21. package/dist/src/cli/commands/configuration/dump.js.map +1 -1
  22. package/dist/src/cli/commands/configuration/dump.mjs.map +1 -1
  23. package/dist/src/cli/commands/configuration/restore.js.map +1 -1
  24. package/dist/src/cli/commands/configuration/restore.mjs.map +1 -1
  25. package/dist/src/cli/commands/console.js.map +1 -1
  26. package/dist/src/cli/commands/console.mjs.map +1 -1
  27. package/dist/src/cli/commands/content-types/list.js.map +1 -1
  28. package/dist/src/cli/commands/content-types/list.mjs.map +1 -1
  29. package/dist/src/cli/commands/controllers/list.js.map +1 -1
  30. package/dist/src/cli/commands/controllers/list.mjs.map +1 -1
  31. package/dist/src/cli/commands/develop.js.map +1 -1
  32. package/dist/src/cli/commands/develop.mjs.map +1 -1
  33. package/dist/src/cli/commands/export/action.js +19 -19
  34. package/dist/src/cli/commands/export/action.js.map +1 -1
  35. package/dist/src/cli/commands/export/action.mjs +1 -1
  36. package/dist/src/cli/commands/export/action.mjs.map +1 -1
  37. package/dist/src/cli/commands/export/command.js.map +1 -1
  38. package/dist/src/cli/commands/export/command.mjs.map +1 -1
  39. package/dist/src/cli/commands/generate.js.map +1 -1
  40. package/dist/src/cli/commands/generate.mjs.map +1 -1
  41. package/dist/src/cli/commands/hooks/list.js.map +1 -1
  42. package/dist/src/cli/commands/hooks/list.mjs.map +1 -1
  43. package/dist/src/cli/commands/import/action.js +19 -19
  44. package/dist/src/cli/commands/import/action.js.map +1 -1
  45. package/dist/src/cli/commands/import/action.mjs +1 -1
  46. package/dist/src/cli/commands/import/action.mjs.map +1 -1
  47. package/dist/src/cli/commands/import/command.js.map +1 -1
  48. package/dist/src/cli/commands/import/command.mjs.map +1 -1
  49. package/dist/src/cli/commands/index.js.map +1 -1
  50. package/dist/src/cli/commands/index.mjs.map +1 -1
  51. package/dist/src/cli/commands/middlewares/list.js.map +1 -1
  52. package/dist/src/cli/commands/middlewares/list.mjs.map +1 -1
  53. package/dist/src/cli/commands/openapi/generate.js.map +1 -1
  54. package/dist/src/cli/commands/openapi/generate.mjs.map +1 -1
  55. package/dist/src/cli/commands/openapi/index.js.map +1 -1
  56. package/dist/src/cli/commands/openapi/index.mjs.map +1 -1
  57. package/dist/src/cli/commands/policies/list.js.map +1 -1
  58. package/dist/src/cli/commands/policies/list.mjs.map +1 -1
  59. package/dist/src/cli/commands/report.js.map +1 -1
  60. package/dist/src/cli/commands/report.mjs.map +1 -1
  61. package/dist/src/cli/commands/routes/list.js.map +1 -1
  62. package/dist/src/cli/commands/routes/list.mjs.map +1 -1
  63. package/dist/src/cli/commands/services/list.js.map +1 -1
  64. package/dist/src/cli/commands/services/list.mjs.map +1 -1
  65. package/dist/src/cli/commands/start.js.map +1 -1
  66. package/dist/src/cli/commands/start.mjs.map +1 -1
  67. package/dist/src/cli/commands/telemetry/disable.js.map +1 -1
  68. package/dist/src/cli/commands/telemetry/disable.mjs.map +1 -1
  69. package/dist/src/cli/commands/telemetry/enable.js.map +1 -1
  70. package/dist/src/cli/commands/telemetry/enable.mjs.map +1 -1
  71. package/dist/src/cli/commands/templates/generate.js.map +1 -1
  72. package/dist/src/cli/commands/templates/generate.mjs.map +1 -1
  73. package/dist/src/cli/commands/transfer/action.js +20 -20
  74. package/dist/src/cli/commands/transfer/action.js.map +1 -1
  75. package/dist/src/cli/commands/transfer/action.mjs.map +1 -1
  76. package/dist/src/cli/commands/transfer/command.js.map +1 -1
  77. package/dist/src/cli/commands/transfer/command.mjs.map +1 -1
  78. package/dist/src/cli/commands/ts/generate-types.js.map +1 -1
  79. package/dist/src/cli/commands/ts/generate-types.mjs.map +1 -1
  80. package/dist/src/cli/commands/version.js.map +1 -1
  81. package/dist/src/cli/commands/version.mjs.map +1 -1
  82. package/dist/src/cli/utils/commander.js.map +1 -1
  83. package/dist/src/cli/utils/commander.mjs.map +1 -1
  84. package/dist/src/cli/utils/data-transfer.js.map +1 -1
  85. package/dist/src/cli/utils/data-transfer.mjs +1 -1
  86. package/dist/src/cli/utils/data-transfer.mjs.map +1 -1
  87. package/dist/src/cli/utils/helpers.js.map +1 -1
  88. package/dist/src/cli/utils/helpers.mjs.map +1 -1
  89. package/dist/src/cli/utils/logger.js.map +1 -1
  90. package/dist/src/cli/utils/logger.mjs.map +1 -1
  91. package/dist/src/cli/utils/telemetry.js.map +1 -1
  92. package/dist/src/cli/utils/telemetry.mjs.map +1 -1
  93. package/dist/src/cli/utils/tsconfig.js.map +1 -1
  94. package/dist/src/cli/utils/tsconfig.mjs.map +1 -1
  95. package/dist/src/node/build.js.map +1 -1
  96. package/dist/src/node/build.mjs.map +1 -1
  97. package/dist/src/node/core/admin-customisations.js.map +1 -1
  98. package/dist/src/node/core/admin-customisations.mjs.map +1 -1
  99. package/dist/src/node/core/aliases.js.map +1 -1
  100. package/dist/src/node/core/aliases.mjs.map +1 -1
  101. package/dist/src/node/core/config.js.map +1 -1
  102. package/dist/src/node/core/config.mjs.map +1 -1
  103. package/dist/src/node/core/dependencies.js.map +1 -1
  104. package/dist/src/node/core/dependencies.mjs.map +1 -1
  105. package/dist/src/node/core/env.js.map +1 -1
  106. package/dist/src/node/core/env.mjs.map +1 -1
  107. package/dist/src/node/core/errors.js.map +1 -1
  108. package/dist/src/node/core/errors.mjs.map +1 -1
  109. package/dist/src/node/core/files.js.map +1 -1
  110. package/dist/src/node/core/files.mjs.map +1 -1
  111. package/dist/src/node/core/linked-packages.js +34 -0
  112. package/dist/src/node/core/linked-packages.js.map +1 -0
  113. package/dist/src/node/core/linked-packages.mjs +30 -0
  114. package/dist/src/node/core/linked-packages.mjs.map +1 -0
  115. package/dist/src/node/core/managers.js.map +1 -1
  116. package/dist/src/node/core/managers.mjs.map +1 -1
  117. package/dist/src/node/core/monorepo.js.map +1 -1
  118. package/dist/src/node/core/monorepo.mjs.map +1 -1
  119. package/dist/src/node/core/plugins.js.map +1 -1
  120. package/dist/src/node/core/plugins.mjs.map +1 -1
  121. package/dist/src/node/core/resolve-module.js +20 -0
  122. package/dist/src/node/core/resolve-module.js.map +1 -0
  123. package/dist/src/node/core/resolve-module.mjs +18 -0
  124. package/dist/src/node/core/resolve-module.mjs.map +1 -0
  125. package/dist/src/node/core/timer.js.map +1 -1
  126. package/dist/src/node/core/timer.mjs.map +1 -1
  127. package/dist/src/node/create-build-context.js.map +1 -1
  128. package/dist/src/node/create-build-context.mjs.map +1 -1
  129. package/dist/src/node/develop.js.map +1 -1
  130. package/dist/src/node/develop.mjs.map +1 -1
  131. package/dist/src/node/staticFiles.js.map +1 -1
  132. package/dist/src/node/staticFiles.mjs.map +1 -1
  133. package/dist/src/node/vite/build.js.map +1 -1
  134. package/dist/src/node/vite/build.mjs.map +1 -1
  135. package/dist/src/node/vite/config.js +27 -3
  136. package/dist/src/node/vite/config.js.map +1 -1
  137. package/dist/src/node/vite/config.mjs +27 -3
  138. package/dist/src/node/vite/config.mjs.map +1 -1
  139. package/dist/src/node/vite/plugins.js.map +1 -1
  140. package/dist/src/node/vite/plugins.mjs.map +1 -1
  141. package/dist/src/node/vite/watch.js.map +1 -1
  142. package/dist/src/node/vite/watch.mjs.map +1 -1
  143. package/dist/src/node/webpack/build.js.map +1 -1
  144. package/dist/src/node/webpack/build.mjs.map +1 -1
  145. package/dist/src/node/webpack/config.js +16 -18
  146. package/dist/src/node/webpack/config.js.map +1 -1
  147. package/dist/src/node/webpack/config.mjs +10 -12
  148. package/dist/src/node/webpack/config.mjs.map +1 -1
  149. package/dist/src/node/webpack/watch.js.map +1 -1
  150. package/dist/src/node/webpack/watch.mjs.map +1 -1
  151. package/package.json +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"restore.mjs","sources":["../../../../../src/cli/commands/configuration/restore.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport fs from 'fs';\nimport _ from 'lodash';\nimport { createStrapi, compileStrapi } from '@strapi/core';\nimport type { Database } from '@strapi/database';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\ntype Strategy = 'replace' | 'merge' | 'keep';\n\ninterface CmdOptions {\n file?: string;\n strategy?: Strategy;\n}\n\n/**\n * Will restore configurations. It reads from a file or stdin\n */\nconst action = async ({ file: filePath, strategy = 'replace' }: CmdOptions) => {\n const input = filePath ? fs.readFileSync(filePath) : await readStdin();\n\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n let dataToImport;\n try {\n dataToImport = JSON.parse(_.toString(input));\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Invalid input data: ${error.message}. Expected a valid JSON array.`);\n }\n\n throw error;\n }\n\n if (!Array.isArray(dataToImport)) {\n throw new Error(`Invalid input data. Expected a valid JSON array.`);\n }\n\n if (!app.db) {\n throw new Error('Cannot import configuration without a database connection.');\n }\n\n const importer = createImporter(app.db, strategy);\n\n for (const config of dataToImport) {\n await importer.import(config);\n }\n\n console.log(\n `Successfully imported configuration with ${strategy} strategy. Statistics: ${importer.printStatistics()}.`\n );\n\n process.exit(0);\n};\n\nconst readStdin = () => {\n const { stdin } = process;\n let result = '';\n\n if (stdin.isTTY) return Promise.resolve(result);\n\n return new Promise((resolve, reject) => {\n stdin.setEncoding('utf8');\n stdin.on('readable', () => {\n let chunk;\n // eslint-disable-next-line no-cond-assign\n while ((chunk = stdin.read())) {\n result += chunk;\n }\n });\n\n stdin.on('end', () => {\n resolve(result);\n });\n\n stdin.on('error', reject);\n });\n};\n\nconst createImporter = (db: Database, strategy?: Strategy) => {\n switch (strategy) {\n case 'replace':\n return createReplaceImporter(db);\n case 'merge':\n return createMergeImporter(db);\n case 'keep':\n return createKeepImporter(db);\n default:\n throw new Error(`No importer available for strategy \"${strategy}\"`);\n }\n};\n\n/**\n * Replace importer. Will replace the keys that already exist and create the new ones\n */\nconst createReplaceImporter = (db: Database) => {\n const stats = {\n created: 0,\n replaced: 0,\n };\n\n return {\n printStatistics() {\n return `${stats.created} created, ${stats.replaced} replaced`;\n },\n\n async import(conf: Record<string, unknown>) {\n const matching = await db.query('strapi::core-store').count({ where: { key: conf.key } });\n if (matching > 0) {\n stats.replaced += 1;\n await db.query('strapi::core-store').update({\n where: { key: conf.key },\n data: conf,\n });\n } else {\n stats.created += 1;\n await db.query('strapi::core-store').create({ data: conf });\n }\n },\n };\n};\n\n/**\n * Merge importer. Will merge the keys that already exist with their new value and create the new ones\n */\nconst createMergeImporter = (db: Database) => {\n const stats = {\n created: 0,\n merged: 0,\n };\n\n return {\n printStatistics() {\n return `${stats.created} created, ${stats.merged} merged`;\n },\n\n async import(conf: Record<string, unknown>) {\n const existingConf = await db\n .query('strapi::core-store')\n .findOne({ where: { key: conf.key } });\n\n if (existingConf) {\n stats.merged += 1;\n await db.query('strapi::core-store').update({\n where: { key: conf.key },\n data: _.merge(existingConf, conf),\n });\n } else {\n stats.created += 1;\n await db.query('strapi::core-store').create({ data: conf });\n }\n },\n };\n};\n\n/**\n * Merge importer. Will keep the keys that already exist without changing them and create the new ones\n */\nconst createKeepImporter = (db: Database) => {\n const stats = {\n created: 0,\n untouched: 0,\n };\n\n return {\n printStatistics() {\n return `${stats.created} created, ${stats.untouched} untouched`;\n },\n\n async import(conf: Record<string, unknown>) {\n const matching = await db.query('strapi::core-store').count({ where: { key: conf.key } });\n if (matching > 0) {\n stats.untouched += 1;\n // if configuration already exists do not overwrite it\n return;\n }\n\n stats.created += 1;\n await db.query('strapi::core-store').create({ data: conf });\n },\n };\n};\n\n/**\n * `$ strapi configuration:restore`\n */\nconst command: StrapiCommand = () => {\n return createCommand('configuration:restore')\n .alias('config:restore')\n .description('Restore configurations of your application')\n .option('-f, --file <file>', 'Input file, default input is stdin')\n .option('-s, --strategy <strategy>', 'Strategy name, one of: \"replace\", \"merge\", \"keep\"')\n .action(runAction('configuration:restore', action));\n};\n\nexport { action, command };\n"],"names":["action","file","filePath","strategy","input","fs","readFileSync","readStdin","appContext","compileStrapi","app","createStrapi","load","dataToImport","JSON","parse","_","toString","error","Error","message","Array","isArray","db","importer","createImporter","config","import","console","log","printStatistics","process","exit","stdin","result","isTTY","Promise","resolve","reject","setEncoding","on","chunk","read","createReplaceImporter","createMergeImporter","createKeepImporter","stats","created","replaced","conf","matching","query","count","where","key","update","data","create","merged","existingConf","findOne","merge","untouched","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"restore.mjs","sources":["../../../../../src/cli/commands/configuration/restore.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport fs from 'fs';\nimport _ from 'lodash';\nimport { createStrapi, compileStrapi } from '@strapi/core';\nimport type { Database } from '@strapi/database';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\ntype Strategy = 'replace' | 'merge' | 'keep';\n\ninterface CmdOptions {\n file?: string;\n strategy?: Strategy;\n}\n\n/**\n * Will restore configurations. It reads from a file or stdin\n */\nconst action = async ({ file: filePath, strategy = 'replace' }: CmdOptions) => {\n const input = filePath ? fs.readFileSync(filePath) : await readStdin();\n\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n let dataToImport;\n try {\n dataToImport = JSON.parse(_.toString(input));\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Invalid input data: ${error.message}. Expected a valid JSON array.`);\n }\n\n throw error;\n }\n\n if (!Array.isArray(dataToImport)) {\n throw new Error(`Invalid input data. Expected a valid JSON array.`);\n }\n\n if (!app.db) {\n throw new Error('Cannot import configuration without a database connection.');\n }\n\n const importer = createImporter(app.db, strategy);\n\n for (const config of dataToImport) {\n await importer.import(config);\n }\n\n console.log(\n `Successfully imported configuration with ${strategy} strategy. Statistics: ${importer.printStatistics()}.`\n );\n\n process.exit(0);\n};\n\nconst readStdin = () => {\n const { stdin } = process;\n let result = '';\n\n if (stdin.isTTY) return Promise.resolve(result);\n\n return new Promise((resolve, reject) => {\n stdin.setEncoding('utf8');\n stdin.on('readable', () => {\n let chunk;\n // eslint-disable-next-line no-cond-assign\n while ((chunk = stdin.read())) {\n result += chunk;\n }\n });\n\n stdin.on('end', () => {\n resolve(result);\n });\n\n stdin.on('error', reject);\n });\n};\n\nconst createImporter = (db: Database, strategy?: Strategy) => {\n switch (strategy) {\n case 'replace':\n return createReplaceImporter(db);\n case 'merge':\n return createMergeImporter(db);\n case 'keep':\n return createKeepImporter(db);\n default:\n throw new Error(`No importer available for strategy \"${strategy}\"`);\n }\n};\n\n/**\n * Replace importer. Will replace the keys that already exist and create the new ones\n */\nconst createReplaceImporter = (db: Database) => {\n const stats = {\n created: 0,\n replaced: 0,\n };\n\n return {\n printStatistics() {\n return `${stats.created} created, ${stats.replaced} replaced`;\n },\n\n async import(conf: Record<string, unknown>) {\n const matching = await db.query('strapi::core-store').count({ where: { key: conf.key } });\n if (matching > 0) {\n stats.replaced += 1;\n await db.query('strapi::core-store').update({\n where: { key: conf.key },\n data: conf,\n });\n } else {\n stats.created += 1;\n await db.query('strapi::core-store').create({ data: conf });\n }\n },\n };\n};\n\n/**\n * Merge importer. Will merge the keys that already exist with their new value and create the new ones\n */\nconst createMergeImporter = (db: Database) => {\n const stats = {\n created: 0,\n merged: 0,\n };\n\n return {\n printStatistics() {\n return `${stats.created} created, ${stats.merged} merged`;\n },\n\n async import(conf: Record<string, unknown>) {\n const existingConf = await db\n .query('strapi::core-store')\n .findOne({ where: { key: conf.key } });\n\n if (existingConf) {\n stats.merged += 1;\n await db.query('strapi::core-store').update({\n where: { key: conf.key },\n data: _.merge(existingConf, conf),\n });\n } else {\n stats.created += 1;\n await db.query('strapi::core-store').create({ data: conf });\n }\n },\n };\n};\n\n/**\n * Merge importer. Will keep the keys that already exist without changing them and create the new ones\n */\nconst createKeepImporter = (db: Database) => {\n const stats = {\n created: 0,\n untouched: 0,\n };\n\n return {\n printStatistics() {\n return `${stats.created} created, ${stats.untouched} untouched`;\n },\n\n async import(conf: Record<string, unknown>) {\n const matching = await db.query('strapi::core-store').count({ where: { key: conf.key } });\n if (matching > 0) {\n stats.untouched += 1;\n // if configuration already exists do not overwrite it\n return;\n }\n\n stats.created += 1;\n await db.query('strapi::core-store').create({ data: conf });\n },\n };\n};\n\n/**\n * `$ strapi configuration:restore`\n */\nconst command: StrapiCommand = () => {\n return createCommand('configuration:restore')\n .alias('config:restore')\n .description('Restore configurations of your application')\n .option('-f, --file <file>', 'Input file, default input is stdin')\n .option('-s, --strategy <strategy>', 'Strategy name, one of: \"replace\", \"merge\", \"keep\"')\n .action(runAction('configuration:restore', action));\n};\n\nexport { action, command };\n"],"names":["action","file","filePath","strategy","input","fs","readFileSync","readStdin","appContext","compileStrapi","app","createStrapi","load","dataToImport","JSON","parse","_","toString","error","Error","message","Array","isArray","db","importer","createImporter","config","import","console","log","printStatistics","process","exit","stdin","result","isTTY","Promise","resolve","reject","setEncoding","on","chunk","read","createReplaceImporter","createMergeImporter","createKeepImporter","stats","created","replaced","conf","matching","query","count","where","key","update","data","create","merged","existingConf","findOne","merge","untouched","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sources":["../../../../src/cli/commands/console.ts"],"sourcesContent":["import REPL from 'repl';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n app.start().then(() => {\n const repl = REPL.start(app.config.info.name + ' > ' || 'strapi > '); // eslint-disable-line prefer-template\n\n repl.on('exit', (err: Error) => {\n if (err) {\n app.log.error(err);\n process.exit(1);\n }\n\n app.server.destroy();\n process.exit(0);\n });\n });\n};\n\n/**\n * `$ strapi console`\n */\nconst command: StrapiCommand = () => {\n return createCommand('console')\n .description('Open the Strapi framework console')\n .action(runAction('console', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","start","then","repl","REPL","config","info","name","on","err","log","error","process","exit","server","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;AAOA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,iBAAaH,CAAAA,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/CF,GAAIG,CAAAA,KAAK,EAAGC,CAAAA,IAAI,CAAC,IAAA;AACf,QAAA,MAAMC,IAAOC,GAAAA,IAAAA,CAAKH,KAAK,CAACH,GAAIO,CAAAA,MAAM,CAACC,IAAI,CAACC,IAAI,GAAG,KAAA,IAAS;QAExDJ,IAAKK,CAAAA,EAAE,CAAC,MAAA,EAAQ,CAACC,GAAAA,GAAAA;AACf,YAAA,IAAIA,GAAK,EAAA;gBACPX,GAAIY,CAAAA,GAAG,CAACC,KAAK,CAACF,GAAAA,CAAAA;AACdG,gBAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;YAEAf,GAAIgB,CAAAA,MAAM,CAACC,OAAO,EAAA;AAClBH,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,SAAA,CAAA;AACF,KAAA,CAAA;AACF;AAEA;;AAEC,UACKG,OAAyB,GAAA,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,WAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,kBAAU,SAAWxB,EAAAA,MAAAA,CAAAA,CAAAA;AACjC;;;;;"}
1
+ {"version":3,"file":"console.js","sources":["../../../../src/cli/commands/console.ts"],"sourcesContent":["import REPL from 'repl';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n app.start().then(() => {\n const repl = REPL.start(app.config.info.name + ' > ' || 'strapi > '); // eslint-disable-line prefer-template\n\n repl.on('exit', (err: Error) => {\n if (err) {\n app.log.error(err);\n process.exit(1);\n }\n\n app.server.destroy();\n process.exit(0);\n });\n });\n};\n\n/**\n * `$ strapi console`\n */\nconst command: StrapiCommand = () => {\n return createCommand('console')\n .description('Open the Strapi framework console')\n .action(runAction('console', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","start","then","repl","REPL","config","info","name","on","err","log","error","process","exit","server","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;AAOA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/CF,GAAAA,CAAIG,KAAK,EAAA,CAAGC,IAAI,CAAC,IAAA;AACf,QAAA,MAAMC,IAAAA,GAAOC,IAAAA,CAAKH,KAAK,CAACH,GAAAA,CAAIO,MAAM,CAACC,IAAI,CAACC,IAAI,GAAG,KAAA,IAAS;QAExDJ,IAAAA,CAAKK,EAAE,CAAC,MAAA,EAAQ,CAACC,GAAAA,GAAAA;AACf,YAAA,IAAIA,GAAAA,EAAK;gBACPX,GAAAA,CAAIY,GAAG,CAACC,KAAK,CAACF,GAAAA,CAAAA;AACdG,gBAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,YAAA;YAEAf,GAAAA,CAAIgB,MAAM,CAACC,OAAO,EAAA;AAClBH,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AACF;AAEA;;AAEC,UACKG,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,WAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,kBAAU,SAAA,EAAWxB,MAAAA,CAAAA,CAAAA;AACjC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"console.mjs","sources":["../../../../src/cli/commands/console.ts"],"sourcesContent":["import REPL from 'repl';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n app.start().then(() => {\n const repl = REPL.start(app.config.info.name + ' > ' || 'strapi > '); // eslint-disable-line prefer-template\n\n repl.on('exit', (err: Error) => {\n if (err) {\n app.log.error(err);\n process.exit(1);\n }\n\n app.server.destroy();\n process.exit(0);\n });\n });\n};\n\n/**\n * `$ strapi console`\n */\nconst command: StrapiCommand = () => {\n return createCommand('console')\n .description('Open the Strapi framework console')\n .action(runAction('console', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","start","then","repl","REPL","config","info","name","on","err","log","error","process","exit","server","destroy","command","createCommand","description","runAction"],"mappings":";;;;;AAOA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,YAAaH,CAAAA,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/CF,GAAIG,CAAAA,KAAK,EAAGC,CAAAA,IAAI,CAAC,IAAA;AACf,QAAA,MAAMC,IAAOC,GAAAA,IAAAA,CAAKH,KAAK,CAACH,GAAIO,CAAAA,MAAM,CAACC,IAAI,CAACC,IAAI,GAAG,KAAA,IAAS;QAExDJ,IAAKK,CAAAA,EAAE,CAAC,MAAA,EAAQ,CAACC,GAAAA,GAAAA;AACf,YAAA,IAAIA,GAAK,EAAA;gBACPX,GAAIY,CAAAA,GAAG,CAACC,KAAK,CAACF,GAAAA,CAAAA;AACdG,gBAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;YAEAf,GAAIgB,CAAAA,MAAM,CAACC,OAAO,EAAA;AAClBH,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,SAAA,CAAA;AACF,KAAA,CAAA;AACF;AAEA;;AAEC,UACKG,OAAyB,GAAA,IAAA;IAC7B,OAAOC,aAAAA,CAAc,WAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,UAAU,SAAWxB,EAAAA,MAAAA,CAAAA,CAAAA;AACjC;;;;"}
1
+ {"version":3,"file":"console.mjs","sources":["../../../../src/cli/commands/console.ts"],"sourcesContent":["import REPL from 'repl';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n app.start().then(() => {\n const repl = REPL.start(app.config.info.name + ' > ' || 'strapi > '); // eslint-disable-line prefer-template\n\n repl.on('exit', (err: Error) => {\n if (err) {\n app.log.error(err);\n process.exit(1);\n }\n\n app.server.destroy();\n process.exit(0);\n });\n });\n};\n\n/**\n * `$ strapi console`\n */\nconst command: StrapiCommand = () => {\n return createCommand('console')\n .description('Open the Strapi framework console')\n .action(runAction('console', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","start","then","repl","REPL","config","info","name","on","err","log","error","process","exit","server","destroy","command","createCommand","description","runAction"],"mappings":";;;;;AAOA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,YAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/CF,GAAAA,CAAIG,KAAK,EAAA,CAAGC,IAAI,CAAC,IAAA;AACf,QAAA,MAAMC,IAAAA,GAAOC,IAAAA,CAAKH,KAAK,CAACH,GAAAA,CAAIO,MAAM,CAACC,IAAI,CAACC,IAAI,GAAG,KAAA,IAAS;QAExDJ,IAAAA,CAAKK,EAAE,CAAC,MAAA,EAAQ,CAACC,GAAAA,GAAAA;AACf,YAAA,IAAIA,GAAAA,EAAK;gBACPX,GAAAA,CAAIY,GAAG,CAACC,KAAK,CAACF,GAAAA,CAAAA;AACdG,gBAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,YAAA;YAEAf,GAAAA,CAAIgB,MAAM,CAACC,OAAO,EAAA;AAClBH,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AACF;AAEA;;AAEC,UACKG,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,WAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,UAAU,SAAA,EAAWxB,MAAAA,CAAAA,CAAAA;AACjC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/content-types/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('content-types').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi content-types:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('content-types:list')\n .description('List all the application content-types')\n .action(runAction('content-types:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;;AASA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,iBAAaH,CAAAA,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAOH,GAAAA,GAAAA,CAAII,GAAG,CAAC,iBAAiBC,IAAI,EAAA;IAE1C,MAAMC,SAAAA,GAAY,IAAIC,QAAS,CAAA;QAC7BC,IAAM,EAAA;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAiBN,GAAAA,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAQC,CAAAA,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,sBAClBC,WAAW,CAAC,0CACZvB,MAAM,CAACwB,kBAAU,oBAAsBxB,EAAAA,MAAAA,CAAAA,CAAAA;AAC5C;;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/content-types/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('content-types').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi content-types:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('content-types:list')\n .description('List all the application content-types')\n .action(runAction('content-types:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;;AASA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAAA,GAAOH,GAAAA,CAAII,GAAG,CAAC,iBAAiBC,IAAI,EAAA;IAE1C,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAAA,GAAiBN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,sBAClBC,WAAW,CAAC,0CACZvB,MAAM,CAACwB,kBAAU,oBAAA,EAAsBxB,MAAAA,CAAAA,CAAAA;AAC5C;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/content-types/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('content-types').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi content-types:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('content-types:list')\n .description('List all the application content-types')\n .action(runAction('content-types:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;AASA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,YAAaH,CAAAA,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAOH,GAAAA,GAAAA,CAAII,GAAG,CAAC,iBAAiBC,IAAI,EAAA;IAE1C,MAAMC,SAAAA,GAAY,IAAIC,QAAS,CAAA;QAC7BC,IAAM,EAAA;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAiBN,GAAAA,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAQC,CAAAA,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,aAAAA,CAAc,sBAClBC,WAAW,CAAC,0CACZvB,MAAM,CAACwB,UAAU,oBAAsBxB,EAAAA,MAAAA,CAAAA,CAAAA;AAC5C;;;;"}
1
+ {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/content-types/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('content-types').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi content-types:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('content-types:list')\n .description('List all the application content-types')\n .action(runAction('content-types:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;AASA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,YAAAA,CAAaH,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAAA,GAAOH,GAAAA,CAAII,GAAG,CAAC,iBAAiBC,IAAI,EAAA;IAE1C,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAAA,GAAiBN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,sBAClBC,WAAW,CAAC,0CACZvB,MAAM,CAACwB,UAAU,oBAAA,EAAsBxB,MAAAA,CAAAA,CAAAA;AAC5C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/controllers/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('controllers').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi controllers:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('controllers:list')\n .description('List all the application controllers')\n .action(runAction('controllers:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;;AASA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,iBAAaH,CAAAA,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAOH,GAAAA,GAAAA,CAAII,GAAG,CAAC,eAAeC,IAAI,EAAA;IAExC,MAAMC,SAAAA,GAAY,IAAIC,QAAS,CAAA;QAC7BC,IAAM,EAAA;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAiBN,GAAAA,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAQC,CAAAA,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,oBAClBC,WAAW,CAAC,wCACZvB,MAAM,CAACwB,kBAAU,kBAAoBxB,EAAAA,MAAAA,CAAAA,CAAAA;AAC1C;;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/controllers/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('controllers').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi controllers:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('controllers:list')\n .description('List all the application controllers')\n .action(runAction('controllers:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;;AASA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAAA,GAAOH,GAAAA,CAAII,GAAG,CAAC,eAAeC,IAAI,EAAA;IAExC,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAAA,GAAiBN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,oBAClBC,WAAW,CAAC,wCACZvB,MAAM,CAACwB,kBAAU,kBAAA,EAAoBxB,MAAAA,CAAAA,CAAAA;AAC1C;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/controllers/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('controllers').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi controllers:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('controllers:list')\n .description('List all the application controllers')\n .action(runAction('controllers:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;AASA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,YAAaH,CAAAA,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAOH,GAAAA,GAAAA,CAAII,GAAG,CAAC,eAAeC,IAAI,EAAA;IAExC,MAAMC,SAAAA,GAAY,IAAIC,QAAS,CAAA;QAC7BC,IAAM,EAAA;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAiBN,GAAAA,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAQC,CAAAA,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,aAAAA,CAAc,oBAClBC,WAAW,CAAC,wCACZvB,MAAM,CAACwB,UAAU,kBAAoBxB,EAAAA,MAAAA,CAAAA,CAAAA;AAC1C;;;;"}
1
+ {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/controllers/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('controllers').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi controllers:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('controllers:list')\n .description('List all the application controllers')\n .action(runAction('controllers:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;AASA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,YAAAA,CAAaH,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAAA,GAAOH,GAAAA,CAAII,GAAG,CAAC,eAAeC,IAAI,EAAA;IAExC,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAAA,GAAiBN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,oBAClBC,WAAW,CAAC,wCACZvB,MAAM,CAACwB,UAAU,kBAAA,EAAoBxB,MAAAA,CAAAA,CAAAA;AAC1C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"develop.js","sources":["../../../../src/cli/commands/develop.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport cluster from 'node:cluster';\nimport type { StrapiCommand } from '../types';\nimport { develop as nodeDevelop, DevelopOptions } from '../../node/develop';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ntype DevelopCLIOptions = DevelopOptions;\n\nconst action = async (options: DevelopCLIOptions) => {\n try {\n if (cluster.isPrimary) {\n if (options.bundler === 'webpack') {\n options.logger.warn(\n '[@strapi/strapi]: Using webpack as a bundler is deprecated. You should migrate to vite.'\n );\n }\n }\n\n await nodeDevelop(options);\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\n/**\n * `$ strapi develop`\n */\nconst command: StrapiCommand = ({ ctx }) => {\n return createCommand('develop')\n .alias('dev')\n .option('--bundler [bundler]', 'Bundler to use (webpack or vite)', 'vite')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .option('--polling', 'Watch for file changes in network directories', false)\n .option('--watch-admin', 'Watch the admin panel for hot changes', true)\n .option('--no-watch-admin', 'Do not watch the admin panel for hot changes')\n .option('--build-admin', 'Build the admin panel', true)\n .option('--no-build-admin', 'Do not build the admin panel in case watch is disabled')\n .option('--open', 'Open the admin in your browser', true)\n .description('Start your Strapi application in development mode')\n .action(async (options: DevelopCLIOptions) => {\n return action({ ...options, ...ctx });\n });\n};\n\nexport { command };\n"],"names":["action","options","cluster","isPrimary","bundler","logger","warn","nodeDevelop","err","handleUnexpectedError","command","ctx","createCommand","alias","option","description"],"mappings":";;;;;;;AAQA,MAAMA,SAAS,OAAOC,OAAAA,GAAAA;IACpB,IAAI;QACF,IAAIC,OAAAA,CAAQC,SAAS,EAAE;YACrB,IAAIF,OAAAA,CAAQG,OAAO,KAAK,SAAW,EAAA;gBACjCH,OAAQI,CAAAA,MAAM,CAACC,IAAI,CACjB,yFAAA,CAAA;AAEJ;AACF;AAEA,QAAA,MAAMC,eAAYN,CAAAA,OAAAA,CAAAA;AACpB,KAAA,CAAE,OAAOO,GAAK,EAAA;QACZC,4BAAsBD,CAAAA,GAAAA,CAAAA;AACxB;AACF,CAAA;AAEA;;AAEC,IACKE,MAAAA,OAAAA,GAAyB,CAAC,EAAEC,GAAG,EAAE,GAAA;IACrC,OAAOC,uBAAAA,CAAc,SAClBC,CAAAA,CAAAA,KAAK,CAAC,KAAA,CAAA,CACNC,MAAM,CAAC,qBAAA,EAAuB,kCAAoC,EAAA,MAAA,CAAA,CAClEA,MAAM,CAAC,eAAe,yCAA2C,EAAA,KAAA,CAAA,CACjEA,MAAM,CAAC,UAAY,EAAA,oBAAA,EAAsB,OACzCA,MAAM,CAAC,WAAa,EAAA,+CAAA,EAAiD,KACrEA,CAAAA,CAAAA,MAAM,CAAC,eAAiB,EAAA,uCAAA,EAAyC,IACjEA,CAAAA,CAAAA,MAAM,CAAC,kBAAA,EAAoB,gDAC3BA,MAAM,CAAC,eAAiB,EAAA,uBAAA,EAAyB,IACjDA,CAAAA,CAAAA,MAAM,CAAC,kBAAoB,EAAA,wDAAA,CAAA,CAC3BA,MAAM,CAAC,QAAU,EAAA,gCAAA,EAAkC,IACnDC,CAAAA,CAAAA,WAAW,CAAC,mDAAA,CAAA,CACZf,MAAM,CAAC,OAAOC,OAAAA,GAAAA;AACb,QAAA,OAAOD,MAAO,CAAA;AAAE,YAAA,GAAGC,OAAO;AAAE,YAAA,GAAGU;AAAI,SAAA,CAAA;AACrC,KAAA,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"develop.js","sources":["../../../../src/cli/commands/develop.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport cluster from 'node:cluster';\nimport type { StrapiCommand } from '../types';\nimport { develop as nodeDevelop, DevelopOptions } from '../../node/develop';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ntype DevelopCLIOptions = DevelopOptions;\n\nconst action = async (options: DevelopCLIOptions) => {\n try {\n if (cluster.isPrimary) {\n if (options.bundler === 'webpack') {\n options.logger.warn(\n '[@strapi/strapi]: Using webpack as a bundler is deprecated. You should migrate to vite.'\n );\n }\n }\n\n await nodeDevelop(options);\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\n/**\n * `$ strapi develop`\n */\nconst command: StrapiCommand = ({ ctx }) => {\n return createCommand('develop')\n .alias('dev')\n .option('--bundler [bundler]', 'Bundler to use (webpack or vite)', 'vite')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .option('--polling', 'Watch for file changes in network directories', false)\n .option('--watch-admin', 'Watch the admin panel for hot changes', true)\n .option('--no-watch-admin', 'Do not watch the admin panel for hot changes')\n .option('--build-admin', 'Build the admin panel', true)\n .option('--no-build-admin', 'Do not build the admin panel in case watch is disabled')\n .option('--open', 'Open the admin in your browser', true)\n .description('Start your Strapi application in development mode')\n .action(async (options: DevelopCLIOptions) => {\n return action({ ...options, ...ctx });\n });\n};\n\nexport { command };\n"],"names":["action","options","cluster","isPrimary","bundler","logger","warn","nodeDevelop","err","handleUnexpectedError","command","ctx","createCommand","alias","option","description"],"mappings":";;;;;;;AAQA,MAAMA,SAAS,OAAOC,OAAAA,GAAAA;IACpB,IAAI;QACF,IAAIC,OAAAA,CAAQC,SAAS,EAAE;YACrB,IAAIF,OAAAA,CAAQG,OAAO,KAAK,SAAA,EAAW;gBACjCH,OAAAA,CAAQI,MAAM,CAACC,IAAI,CACjB,yFAAA,CAAA;AAEJ,YAAA;AACF,QAAA;AAEA,QAAA,MAAMC,eAAAA,CAAYN,OAAAA,CAAAA;AACpB,IAAA,CAAA,CAAE,OAAOO,GAAAA,EAAK;QACZC,4BAAAA,CAAsBD,GAAAA,CAAAA;AACxB,IAAA;AACF,CAAA;AAEA;;AAEC,IACD,MAAME,OAAAA,GAAyB,CAAC,EAAEC,GAAG,EAAE,GAAA;IACrC,OAAOC,uBAAAA,CAAc,SAAA,CAAA,CAClBC,KAAK,CAAC,KAAA,CAAA,CACNC,MAAM,CAAC,qBAAA,EAAuB,kCAAA,EAAoC,MAAA,CAAA,CAClEA,MAAM,CAAC,eAAe,yCAAA,EAA2C,KAAA,CAAA,CACjEA,MAAM,CAAC,UAAA,EAAY,oBAAA,EAAsB,OACzCA,MAAM,CAAC,WAAA,EAAa,+CAAA,EAAiD,KAAA,CAAA,CACrEA,MAAM,CAAC,eAAA,EAAiB,uCAAA,EAAyC,IAAA,CAAA,CACjEA,MAAM,CAAC,kBAAA,EAAoB,gDAC3BA,MAAM,CAAC,eAAA,EAAiB,uBAAA,EAAyB,IAAA,CAAA,CACjDA,MAAM,CAAC,kBAAA,EAAoB,wDAAA,CAAA,CAC3BA,MAAM,CAAC,QAAA,EAAU,gCAAA,EAAkC,IAAA,CAAA,CACnDC,WAAW,CAAC,mDAAA,CAAA,CACZf,MAAM,CAAC,OAAOC,OAAAA,GAAAA;AACb,QAAA,OAAOD,MAAAA,CAAO;AAAE,YAAA,GAAGC,OAAO;AAAE,YAAA,GAAGU;AAAI,SAAA,CAAA;AACrC,IAAA,CAAA,CAAA;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"develop.mjs","sources":["../../../../src/cli/commands/develop.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport cluster from 'node:cluster';\nimport type { StrapiCommand } from '../types';\nimport { develop as nodeDevelop, DevelopOptions } from '../../node/develop';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ntype DevelopCLIOptions = DevelopOptions;\n\nconst action = async (options: DevelopCLIOptions) => {\n try {\n if (cluster.isPrimary) {\n if (options.bundler === 'webpack') {\n options.logger.warn(\n '[@strapi/strapi]: Using webpack as a bundler is deprecated. You should migrate to vite.'\n );\n }\n }\n\n await nodeDevelop(options);\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\n/**\n * `$ strapi develop`\n */\nconst command: StrapiCommand = ({ ctx }) => {\n return createCommand('develop')\n .alias('dev')\n .option('--bundler [bundler]', 'Bundler to use (webpack or vite)', 'vite')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .option('--polling', 'Watch for file changes in network directories', false)\n .option('--watch-admin', 'Watch the admin panel for hot changes', true)\n .option('--no-watch-admin', 'Do not watch the admin panel for hot changes')\n .option('--build-admin', 'Build the admin panel', true)\n .option('--no-build-admin', 'Do not build the admin panel in case watch is disabled')\n .option('--open', 'Open the admin in your browser', true)\n .description('Start your Strapi application in development mode')\n .action(async (options: DevelopCLIOptions) => {\n return action({ ...options, ...ctx });\n });\n};\n\nexport { command };\n"],"names":["action","options","cluster","isPrimary","bundler","logger","warn","nodeDevelop","err","handleUnexpectedError","command","ctx","createCommand","alias","option","description"],"mappings":";;;;;AAQA,MAAMA,SAAS,OAAOC,OAAAA,GAAAA;IACpB,IAAI;QACF,IAAIC,OAAAA,CAAQC,SAAS,EAAE;YACrB,IAAIF,OAAAA,CAAQG,OAAO,KAAK,SAAW,EAAA;gBACjCH,OAAQI,CAAAA,MAAM,CAACC,IAAI,CACjB,yFAAA,CAAA;AAEJ;AACF;AAEA,QAAA,MAAMC,OAAYN,CAAAA,OAAAA,CAAAA;AACpB,KAAA,CAAE,OAAOO,GAAK,EAAA;QACZC,qBAAsBD,CAAAA,GAAAA,CAAAA;AACxB;AACF,CAAA;AAEA;;AAEC,IACKE,MAAAA,OAAAA,GAAyB,CAAC,EAAEC,GAAG,EAAE,GAAA;IACrC,OAAOC,aAAAA,CAAc,SAClBC,CAAAA,CAAAA,KAAK,CAAC,KAAA,CAAA,CACNC,MAAM,CAAC,qBAAA,EAAuB,kCAAoC,EAAA,MAAA,CAAA,CAClEA,MAAM,CAAC,eAAe,yCAA2C,EAAA,KAAA,CAAA,CACjEA,MAAM,CAAC,UAAY,EAAA,oBAAA,EAAsB,OACzCA,MAAM,CAAC,WAAa,EAAA,+CAAA,EAAiD,KACrEA,CAAAA,CAAAA,MAAM,CAAC,eAAiB,EAAA,uCAAA,EAAyC,IACjEA,CAAAA,CAAAA,MAAM,CAAC,kBAAA,EAAoB,gDAC3BA,MAAM,CAAC,eAAiB,EAAA,uBAAA,EAAyB,IACjDA,CAAAA,CAAAA,MAAM,CAAC,kBAAoB,EAAA,wDAAA,CAAA,CAC3BA,MAAM,CAAC,QAAU,EAAA,gCAAA,EAAkC,IACnDC,CAAAA,CAAAA,WAAW,CAAC,mDAAA,CAAA,CACZf,MAAM,CAAC,OAAOC,OAAAA,GAAAA;AACb,QAAA,OAAOD,MAAO,CAAA;AAAE,YAAA,GAAGC,OAAO;AAAE,YAAA,GAAGU;AAAI,SAAA,CAAA;AACrC,KAAA,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"develop.mjs","sources":["../../../../src/cli/commands/develop.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport cluster from 'node:cluster';\nimport type { StrapiCommand } from '../types';\nimport { develop as nodeDevelop, DevelopOptions } from '../../node/develop';\nimport { handleUnexpectedError } from '../../node/core/errors';\n\ntype DevelopCLIOptions = DevelopOptions;\n\nconst action = async (options: DevelopCLIOptions) => {\n try {\n if (cluster.isPrimary) {\n if (options.bundler === 'webpack') {\n options.logger.warn(\n '[@strapi/strapi]: Using webpack as a bundler is deprecated. You should migrate to vite.'\n );\n }\n }\n\n await nodeDevelop(options);\n } catch (err) {\n handleUnexpectedError(err);\n }\n};\n\n/**\n * `$ strapi develop`\n */\nconst command: StrapiCommand = ({ ctx }) => {\n return createCommand('develop')\n .alias('dev')\n .option('--bundler [bundler]', 'Bundler to use (webpack or vite)', 'vite')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .option('--polling', 'Watch for file changes in network directories', false)\n .option('--watch-admin', 'Watch the admin panel for hot changes', true)\n .option('--no-watch-admin', 'Do not watch the admin panel for hot changes')\n .option('--build-admin', 'Build the admin panel', true)\n .option('--no-build-admin', 'Do not build the admin panel in case watch is disabled')\n .option('--open', 'Open the admin in your browser', true)\n .description('Start your Strapi application in development mode')\n .action(async (options: DevelopCLIOptions) => {\n return action({ ...options, ...ctx });\n });\n};\n\nexport { command };\n"],"names":["action","options","cluster","isPrimary","bundler","logger","warn","nodeDevelop","err","handleUnexpectedError","command","ctx","createCommand","alias","option","description"],"mappings":";;;;;AAQA,MAAMA,SAAS,OAAOC,OAAAA,GAAAA;IACpB,IAAI;QACF,IAAIC,OAAAA,CAAQC,SAAS,EAAE;YACrB,IAAIF,OAAAA,CAAQG,OAAO,KAAK,SAAA,EAAW;gBACjCH,OAAAA,CAAQI,MAAM,CAACC,IAAI,CACjB,yFAAA,CAAA;AAEJ,YAAA;AACF,QAAA;AAEA,QAAA,MAAMC,OAAAA,CAAYN,OAAAA,CAAAA;AACpB,IAAA,CAAA,CAAE,OAAOO,GAAAA,EAAK;QACZC,qBAAAA,CAAsBD,GAAAA,CAAAA;AACxB,IAAA;AACF,CAAA;AAEA;;AAEC,IACD,MAAME,OAAAA,GAAyB,CAAC,EAAEC,GAAG,EAAE,GAAA;IACrC,OAAOC,aAAAA,CAAc,SAAA,CAAA,CAClBC,KAAK,CAAC,KAAA,CAAA,CACNC,MAAM,CAAC,qBAAA,EAAuB,kCAAA,EAAoC,MAAA,CAAA,CAClEA,MAAM,CAAC,eAAe,yCAAA,EAA2C,KAAA,CAAA,CACjEA,MAAM,CAAC,UAAA,EAAY,oBAAA,EAAsB,OACzCA,MAAM,CAAC,WAAA,EAAa,+CAAA,EAAiD,KAAA,CAAA,CACrEA,MAAM,CAAC,eAAA,EAAiB,uCAAA,EAAyC,IAAA,CAAA,CACjEA,MAAM,CAAC,kBAAA,EAAoB,gDAC3BA,MAAM,CAAC,eAAA,EAAiB,uBAAA,EAAyB,IAAA,CAAA,CACjDA,MAAM,CAAC,kBAAA,EAAoB,wDAAA,CAAA,CAC3BA,MAAM,CAAC,QAAA,EAAU,gCAAA,EAAkC,IAAA,CAAA,CACnDC,WAAW,CAAC,mDAAA,CAAA,CACZf,MAAM,CAAC,OAAOC,OAAAA,GAAAA;AACb,QAAA,OAAOD,MAAAA,CAAO;AAAE,YAAA,GAAGC,OAAO;AAAE,YAAA,GAAGU;AAAI,SAAA,CAAA;AACrC,IAAA,CAAA,CAAA;AACJ;;;;"}
@@ -3,12 +3,12 @@
3
3
  var fp = require('lodash/fp');
4
4
  var fse = require('fs-extra');
5
5
  var chalk = require('chalk');
6
- var dataTransfer$1 = require('@strapi/data-transfer');
7
- var dataTransfer = require('../../utils/data-transfer.js');
6
+ var dataTransfer = require('@strapi/data-transfer');
7
+ var dataTransfer$1 = require('../../utils/data-transfer.js');
8
8
  var helpers = require('../../utils/helpers.js');
9
9
 
10
- const { providers: { createLocalFileDestinationProvider } } = dataTransfer$1.file;
11
- const { providers: { createLocalStrapiSourceProvider } } = dataTransfer$1.strapi;
10
+ const { providers: { createLocalFileDestinationProvider } } = dataTransfer.file;
11
+ const { providers: { createLocalStrapiSourceProvider } } = dataTransfer.strapi;
12
12
  const BYTES_IN_MB = 1024 * 1024;
13
13
  /**
14
14
  * Export command.
@@ -21,10 +21,10 @@ const BYTES_IN_MB = 1024 * 1024;
21
21
  if (!fp.isObject(opts)) {
22
22
  helpers.exitWith(1, 'Could not parse command arguments');
23
23
  }
24
- const strapi = await dataTransfer.createStrapiInstance();
24
+ const strapi = await dataTransfer$1.createStrapiInstance();
25
25
  const source = createSourceProvider(strapi);
26
26
  const destination = createDestinationProvider(opts);
27
- const engine = dataTransfer$1.engine.createTransferEngine(source, destination, {
27
+ const engine = dataTransfer.engine.createTransferEngine(source, destination, {
28
28
  versionStrategy: 'ignore',
29
29
  schemaStrategy: 'ignore',
30
30
  exclude: opts.exclude,
@@ -34,22 +34,22 @@ const BYTES_IN_MB = 1024 * 1024;
34
34
  links: [
35
35
  {
36
36
  filter (link) {
37
- return !dataTransfer.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) && !dataTransfer.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type);
37
+ return !dataTransfer$1.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) && !dataTransfer$1.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type);
38
38
  }
39
39
  }
40
40
  ],
41
41
  entities: [
42
42
  {
43
43
  filter (entity) {
44
- return !dataTransfer.DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);
44
+ return !dataTransfer$1.DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);
45
45
  }
46
46
  }
47
47
  ]
48
48
  }
49
49
  });
50
- engine.diagnostics.onDiagnostic(dataTransfer.formatDiagnostic('export', opts.verbose));
50
+ engine.diagnostics.onDiagnostic(dataTransfer$1.formatDiagnostic('export', opts.verbose));
51
51
  const progress = engine.progress.stream;
52
- const { updateLoader } = dataTransfer.loadersFactory();
52
+ const { updateLoader } = dataTransfer$1.loadersFactory();
53
53
  progress.on(`stage::start`, ({ stage, data })=>{
54
54
  updateLoader(stage, data).start();
55
55
  });
@@ -61,13 +61,13 @@ const BYTES_IN_MB = 1024 * 1024;
61
61
  });
62
62
  progress.on('transfer::start', async ()=>{
63
63
  console.log(`Starting export...`);
64
- await strapi.telemetry.send('didDEITSProcessStart', dataTransfer.getTransferTelemetryPayload(engine));
64
+ await strapi.telemetry.send('didDEITSProcessStart', dataTransfer$1.getTransferTelemetryPayload(engine));
65
65
  });
66
66
  let results;
67
67
  let outFile;
68
68
  try {
69
69
  // Abort transfer if user interrupts process
70
- dataTransfer.setSignalHandler(()=>dataTransfer.abortTransfer({
70
+ dataTransfer$1.setSignalHandler(()=>dataTransfer$1.abortTransfer({
71
71
  engine,
72
72
  strapi
73
73
  }));
@@ -75,21 +75,21 @@ const BYTES_IN_MB = 1024 * 1024;
75
75
  outFile = results.destination?.file?.path ?? '';
76
76
  const outFileExists = await fse.pathExists(outFile);
77
77
  if (!outFileExists) {
78
- throw new dataTransfer$1.engine.errors.TransferEngineTransferError(`Export file not created "${outFile}"`);
78
+ throw new dataTransfer.engine.errors.TransferEngineTransferError(`Export file not created "${outFile}"`);
79
79
  }
80
80
  // Note: we need to await telemetry or else the process ends before it is sent
81
- await strapi.telemetry.send('didDEITSProcessFinish', dataTransfer.getTransferTelemetryPayload(engine));
81
+ await strapi.telemetry.send('didDEITSProcessFinish', dataTransfer$1.getTransferTelemetryPayload(engine));
82
82
  try {
83
- const table = dataTransfer.buildTransferTable(results.engine);
83
+ const table = dataTransfer$1.buildTransferTable(results.engine);
84
84
  console.log(table?.toString());
85
85
  } catch (e) {
86
86
  console.error('There was an error displaying the results of the transfer.');
87
87
  }
88
88
  console.log(`Export archive is in ${chalk.green(outFile)}`);
89
- helpers.exitWith(0, dataTransfer.exitMessageText('export'));
89
+ helpers.exitWith(0, dataTransfer$1.exitMessageText('export'));
90
90
  } catch {
91
- await strapi.telemetry.send('didDEITSProcessFail', dataTransfer.getTransferTelemetryPayload(engine));
92
- helpers.exitWith(1, dataTransfer.exitMessageText('export', true));
91
+ await strapi.telemetry.send('didDEITSProcessFail', dataTransfer$1.getTransferTelemetryPayload(engine));
92
+ helpers.exitWith(1, dataTransfer$1.exitMessageText('export', true));
93
93
  }
94
94
  });
95
95
  /**
@@ -105,7 +105,7 @@ const BYTES_IN_MB = 1024 * 1024;
105
105
  * It creates a local file destination provider based on the given options
106
106
  */ const createDestinationProvider = (opts)=>{
107
107
  const { file, compress, encrypt, key, maxSizeJsonl } = opts;
108
- const filepath = fp.isString(file) && file.length > 0 ? file : dataTransfer.getDefaultExportName();
108
+ const filepath = fp.isString(file) && file.length > 0 ? file : dataTransfer$1.getDefaultExportName();
109
109
  const maxSizeJsonlInMb = fp.isFinite(fp.toNumber(maxSizeJsonl)) ? fp.toNumber(maxSizeJsonl) * BYTES_IN_MB : undefined;
110
110
  return createLocalFileDestinationProvider({
111
111
  file: {
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n DEFAULT_IGNORED_CONTENT_TYPES,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return (\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) &&\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type)\n );\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n const outFileExists = await fs.pathExists(outFile);\n if (!outFileExists) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","outFileExists","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","encryption","enabled","compression"],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n DEFAULT_IGNORED_CONTENT_TYPES,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return (\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) &&\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type)\n );\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n const outFileExists = await fs.pathExists(outFile);\n if (!outFileExists) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","outFileExists","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","encryption","enabled","compression"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { isObject, isString, isFinite, toNumber } from 'lodash/fp';
2
2
  import fse from 'fs-extra';
3
3
  import chalk from 'chalk';
4
- import { engine, file, strapi } from '@strapi/data-transfer';
4
+ import { file, strapi, engine } from '@strapi/data-transfer';
5
5
  import { createStrapiInstance, DEFAULT_IGNORED_CONTENT_TYPES, formatDiagnostic, getTransferTelemetryPayload, setSignalHandler, abortTransfer, buildTransferTable, exitMessageText, loadersFactory, getDefaultExportName } from '../../utils/data-transfer.mjs';
6
6
  import { exitWith } from '../../utils/helpers.mjs';
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n DEFAULT_IGNORED_CONTENT_TYPES,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return (\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) &&\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type)\n );\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n const outFileExists = await fs.pathExists(outFile);\n if (!outFileExists) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","outFileExists","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","encryption","enabled","compression"],"mappings":";;;;;;;AAyBA,MAAM,EACJA,SAAW,EAAA,EAAEC,kCAAkC,EAAE,EAClD,GAAGC,IAAAA;AACJ,MAAM,EACJF,SAAW,EAAA,EAAEG,+BAA+B,EAAE,EAC/C,GAAGC,MAAAA;AAEJ,MAAMC,cAAc,IAAO,GAAA,IAAA;AAc3B;;;;;;IAOA,aAAe,CAAA,OAAOC,IAAAA,GAAAA;;IAEpB,IAAI,CAACC,SAASD,IAAO,CAAA,EAAA;AACnBE,QAAAA,QAAAA,CAAS,CAAG,EAAA,mCAAA,CAAA;AACd;AAEA,IAAA,MAAMC,SAAS,MAAMC,oBAAAA,EAAAA;AAErB,IAAA,MAAMC,SAASC,oBAAqBH,CAAAA,MAAAA,CAAAA;AACpC,IAAA,MAAMI,cAAcC,yBAA0BR,CAAAA,IAAAA,CAAAA;AAE9C,IAAA,MAAMS,QAASC,GAAAA,MAAAA,CAAmBC,oBAAoB,CAACN,QAAQE,WAAa,EAAA;QAC1EK,eAAiB,EAAA,QAAA;QACjBC,cAAgB,EAAA,QAAA;AAChBC,QAAAA,OAAAA,EAASd,KAAKc,OAAO;AACrBC,QAAAA,IAAAA,EAAMf,KAAKe,IAAI;AACfC,QAAAA,QAAAA,EAAUhB,KAAKgB,QAAQ;QACvBC,UAAY,EAAA;YACVC,KAAO,EAAA;AACL,gBAAA;AACEC,oBAAAA,MAAAA,CAAAA,CAAOC,IAAI,EAAA;AACT,wBAAA,OACE,CAACC,6BAA8BC,CAAAA,QAAQ,CAACF,IAAAA,CAAKG,IAAI,CAACC,IAAI,CACtD,IAAA,CAACH,8BAA8BC,QAAQ,CAACF,IAAKK,CAAAA,KAAK,CAACD,IAAI,CAAA;AAE3D;AACF;AACD,aAAA;YACDE,QAAU,EAAA;AACR,gBAAA;AACEP,oBAAAA,MAAAA,CAAAA,CAAOQ,MAAM,EAAA;AACX,wBAAA,OAAO,CAACN,6BAAAA,CAA8BC,QAAQ,CAACK,OAAOH,IAAI,CAAA;AAC5D;AACF;AACD;AACH;AACF,KAAA,CAAA;AAEAf,IAAAA,QAAAA,CAAOmB,WAAW,CAACC,YAAY,CAACC,gBAAiB,CAAA,QAAA,EAAU9B,KAAK+B,OAAO,CAAA,CAAA;AAEvE,IAAA,MAAMC,QAAWvB,GAAAA,QAAAA,CAAOuB,QAAQ,CAACC,MAAM;IAEvC,MAAM,EAAEC,YAAY,EAAE,GAAGC,cAAAA,EAAAA;IAEzBH,QAASI,CAAAA,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAA;QAC1CJ,YAAaG,CAAAA,KAAAA,EAAOC,MAAMC,KAAK,EAAA;AACjC,KAAA,CAAA;IAEAP,QAASI,CAAAA,EAAE,CAAC,eAAiB,EAAA,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAA;QAC3CJ,YAAaG,CAAAA,KAAAA,EAAOC,MAAME,OAAO,EAAA;AACnC,KAAA,CAAA;IAEAR,QAASI,CAAAA,EAAE,CAAC,iBAAmB,EAAA,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAA;AAC7CJ,QAAAA,YAAAA,CAAaG,KAAOC,EAAAA,IAAAA,CAAAA;AACtB,KAAA,CAAA;IAEAN,QAASI,CAAAA,EAAE,CAAC,iBAAmB,EAAA,UAAA;AAC7BK,QAAAA,OAAAA,CAAQC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAEhC,QAAA,MAAMvC,OAAOwC,SAAS,CAACC,IAAI,CAAC,wBAAwBC,2BAA4BpC,CAAAA,QAAAA,CAAAA,CAAAA;AAClF,KAAA,CAAA;IAEA,IAAIqC,OAAAA;IACJ,IAAIC,OAAAA;IACJ,IAAI;;AAEFC,QAAAA,gBAAAA,CAAiB,IAAMC,aAAc,CAAA;AAAExC,wBAAAA,QAAAA;AAAQN,gBAAAA;AAAO,aAAA,CAAA,CAAA;QAEtD2C,OAAU,GAAA,MAAMrC,SAAOyC,QAAQ,EAAA;AAC/BH,QAAAA,OAAAA,GAAUD,OAAQvC,CAAAA,WAAW,EAAE4C,IAAAA,EAAMC,IAAQ,IAAA,EAAA;AAC7C,QAAA,MAAMC,aAAgB,GAAA,MAAMC,GAAGC,CAAAA,UAAU,CAACR,OAAAA,CAAAA;AAC1C,QAAA,IAAI,CAACM,aAAe,EAAA;YAClB,MAAM,IAAI3C,MAAmB8C,CAAAA,MAAM,CAACC,2BAA2B,CAC7D,CAAC,yBAAyB,EAAEV,OAAQ,CAAA,CAAC,CAAC,CAAA;AAE1C;;AAGA,QAAA,MAAM5C,OAAOwC,SAAS,CAACC,IAAI,CAAC,yBAAyBC,2BAA4BpC,CAAAA,QAAAA,CAAAA,CAAAA;QAEjF,IAAI;YACF,MAAMiD,KAAAA,GAAQC,kBAAmBb,CAAAA,OAAAA,CAAQrC,MAAM,CAAA;YAC/CgC,OAAQC,CAAAA,GAAG,CAACgB,KAAOE,EAAAA,QAAAA,EAAAA,CAAAA;AACrB,SAAA,CAAE,OAAOC,CAAG,EAAA;AACVpB,YAAAA,OAAAA,CAAQqB,KAAK,CAAC,4DAAA,CAAA;AAChB;QAEArB,OAAQC,CAAAA,GAAG,CAAC,CAAC,qBAAqB,EAAEqB,KAAMC,CAAAA,KAAK,CAACjB,OAAU,CAAA,CAAA,CAAA,CAAA;AAC1D7C,QAAAA,QAAAA,CAAS,GAAG+D,eAAgB,CAAA,QAAA,CAAA,CAAA;AAC9B,KAAA,CAAE,OAAM;AACN,QAAA,MAAM9D,OAAOwC,SAAS,CAACC,IAAI,CAAC,uBAAuBC,2BAA4BpC,CAAAA,QAAAA,CAAAA,CAAAA;QAC/EP,QAAS,CAAA,CAAA,EAAG+D,gBAAgB,QAAU,EAAA,IAAA,CAAA,CAAA;AACxC;AACF,CAAA;AAEA;;IAGA,MAAM3D,uBAAuB,CAACH,MAAAA,GAAAA;AAC5B,IAAA,OAAON,+BAAgC,CAAA;QACrC,MAAMqE,SAAAA,CAAAA,GAAAA;YACJ,OAAO/D,MAAAA;AACT;AACF,KAAA,CAAA;AACF,CAAA;AAEA;;IAGA,MAAMK,4BAA4B,CAACR,IAAAA,GAAAA;IACjC,MAAM,EAAEmD,IAAI,EAAEgB,QAAQ,EAAEC,OAAO,EAAEC,GAAG,EAAEC,YAAY,EAAE,GAAGtE,IAAAA;AAEvD,IAAA,MAAMuE,WAAWC,QAASrB,CAAAA,IAAAA,CAAAA,IAASA,KAAKsB,MAAM,GAAG,IAAItB,IAAOuB,GAAAA,oBAAAA,EAAAA;AAE5D,IAAA,MAAMC,mBAAmBC,QAASC,CAAAA,QAAAA,CAASP,YACvCO,CAAAA,CAAAA,GAAAA,QAAAA,CAASP,gBAAgBvE,WACzB+E,GAAAA,SAAAA;AAEJ,IAAA,OAAOnF,kCAAmC,CAAA;QACxCwD,IAAM,EAAA;YACJC,IAAMmB,EAAAA,QAAAA;YACND,YAAcK,EAAAA;AAChB,SAAA;QACAI,UAAY,EAAA;AACVC,YAAAA,OAAAA,EAASZ,OAAW,IAAA,KAAA;AACpBC,YAAAA,GAAAA,EAAKD,UAAUC,GAAMS,GAAAA;AACvB,SAAA;QACAG,WAAa,EAAA;AACXD,YAAAA,OAAAA,EAASb,QAAY,IAAA;AACvB;AACF,KAAA,CAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n DEFAULT_IGNORED_CONTENT_TYPES,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return (\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) &&\n !DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type)\n );\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n const outFileExists = await fs.pathExists(outFile);\n if (!outFileExists) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","outFileExists","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","encryption","enabled","compression"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/cli/commands/export/command.ts"],"sourcesContent":["import { createCommand, Option } from 'commander';\n\nimport {\n excludeOption,\n onlyOption,\n throttleOption,\n validateExcludeOnly,\n} from '../../utils/data-transfer';\nimport { promptEncryptionKey } from '../../utils/commander';\nimport action from './action';\n\n/**\n * `$ strapi export`\n */\nconst command = () => {\n return createCommand('export')\n .description('Export data from Strapi to file')\n .allowExcessArguments(false)\n .addOption(\n new Option('--no-encrypt', `Disables 'aes-128-ecb' encryption of the output file`).default(\n true\n )\n )\n .addOption(\n new Option('--no-compress', 'Disables gzip compression of output file').default(true)\n )\n .addOption(new Option('--verbose', 'Enable verbose logs'))\n .addOption(\n new Option(\n '-k, --key <string>',\n 'Provide encryption key in command instead of using the prompt'\n )\n )\n .addOption(\n new Option('-f, --file <file>', 'name to use for exported file (without extensions)')\n )\n .addOption(excludeOption)\n .addOption(onlyOption)\n .addOption(throttleOption)\n .hook('preAction', validateExcludeOnly)\n .hook('preAction', promptEncryptionKey)\n .action(action);\n};\n\nexport default command;\n"],"names":["command","createCommand","description","allowExcessArguments","addOption","Option","default","excludeOption","onlyOption","throttleOption","hook","validateExcludeOnly","promptEncryptionKey","action"],"mappings":";;;;;;;AAWA;;AAEC,UACKA,OAAU,GAAA,IAAA;AACd,IAAA,OAAOC,uBAAc,CAAA,QAAA,CAAA,CAClBC,WAAW,CAAC,iCACZC,CAAAA,CAAAA,oBAAoB,CAAC,KAAA,CAAA,CACrBC,SAAS,CACR,IAAIC,gBAAAA,CAAO,gBAAgB,CAAC,oDAAoD,CAAC,CAAA,CAAEC,OAAO,CACxF,IAGHF,CAAAA,CAAAA,CAAAA,SAAS,CACR,IAAIC,gBAAO,CAAA,eAAA,EAAiB,0CAA4CC,CAAAA,CAAAA,OAAO,CAAC,IAAA,CAAA,CAAA,CAEjFF,SAAS,CAAC,IAAIC,gBAAO,CAAA,WAAA,EAAa,qBAClCD,CAAAA,CAAAA,CAAAA,SAAS,CACR,IAAIC,gBACF,CAAA,oBAAA,EACA,+DAGHD,CAAAA,CAAAA,CAAAA,SAAS,CACR,IAAIC,gBAAO,CAAA,mBAAA,EAAqB,uDAEjCD,SAAS,CAACG,0BACVH,CAAAA,CAAAA,SAAS,CAACI,uBAAAA,CAAAA,CACVJ,SAAS,CAACK,6BACVC,IAAI,CAAC,WAAaC,EAAAA,gCAAAA,CAAAA,CAClBD,IAAI,CAAC,WAAaE,EAAAA,+BAAAA,CAAAA,CAClBC,MAAM,CAACA,MAAAA,CAAAA;AACZ;;;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/cli/commands/export/command.ts"],"sourcesContent":["import { createCommand, Option } from 'commander';\n\nimport {\n excludeOption,\n onlyOption,\n throttleOption,\n validateExcludeOnly,\n} from '../../utils/data-transfer';\nimport { promptEncryptionKey } from '../../utils/commander';\nimport action from './action';\n\n/**\n * `$ strapi export`\n */\nconst command = () => {\n return createCommand('export')\n .description('Export data from Strapi to file')\n .allowExcessArguments(false)\n .addOption(\n new Option('--no-encrypt', `Disables 'aes-128-ecb' encryption of the output file`).default(\n true\n )\n )\n .addOption(\n new Option('--no-compress', 'Disables gzip compression of output file').default(true)\n )\n .addOption(new Option('--verbose', 'Enable verbose logs'))\n .addOption(\n new Option(\n '-k, --key <string>',\n 'Provide encryption key in command instead of using the prompt'\n )\n )\n .addOption(\n new Option('-f, --file <file>', 'name to use for exported file (without extensions)')\n )\n .addOption(excludeOption)\n .addOption(onlyOption)\n .addOption(throttleOption)\n .hook('preAction', validateExcludeOnly)\n .hook('preAction', promptEncryptionKey)\n .action(action);\n};\n\nexport default command;\n"],"names":["command","createCommand","description","allowExcessArguments","addOption","Option","default","excludeOption","onlyOption","throttleOption","hook","validateExcludeOnly","promptEncryptionKey","action"],"mappings":";;;;;;;AAWA;;AAEC,UACKA,OAAAA,GAAU,IAAA;AACd,IAAA,OAAOC,uBAAAA,CAAc,QAAA,CAAA,CAClBC,WAAW,CAAC,iCAAA,CAAA,CACZC,oBAAoB,CAAC,KAAA,CAAA,CACrBC,SAAS,CACR,IAAIC,gBAAAA,CAAO,gBAAgB,CAAC,oDAAoD,CAAC,CAAA,CAAEC,OAAO,CACxF,IAAA,CAAA,CAAA,CAGHF,SAAS,CACR,IAAIC,gBAAAA,CAAO,eAAA,EAAiB,0CAAA,CAAA,CAA4CC,OAAO,CAAC,IAAA,CAAA,CAAA,CAEjFF,SAAS,CAAC,IAAIC,gBAAAA,CAAO,WAAA,EAAa,qBAAA,CAAA,CAAA,CAClCD,SAAS,CACR,IAAIC,gBAAAA,CACF,oBAAA,EACA,+DAAA,CAAA,CAAA,CAGHD,SAAS,CACR,IAAIC,gBAAAA,CAAO,mBAAA,EAAqB,uDAEjCD,SAAS,CAACG,0BAAAA,CAAAA,CACVH,SAAS,CAACI,uBAAAA,CAAAA,CACVJ,SAAS,CAACK,6BACVC,IAAI,CAAC,WAAA,EAAaC,gCAAAA,CAAAA,CAClBD,IAAI,CAAC,WAAA,EAAaE,+BAAAA,CAAAA,CAClBC,MAAM,CAACA,MAAAA,CAAAA;AACZ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.mjs","sources":["../../../../../src/cli/commands/export/command.ts"],"sourcesContent":["import { createCommand, Option } from 'commander';\n\nimport {\n excludeOption,\n onlyOption,\n throttleOption,\n validateExcludeOnly,\n} from '../../utils/data-transfer';\nimport { promptEncryptionKey } from '../../utils/commander';\nimport action from './action';\n\n/**\n * `$ strapi export`\n */\nconst command = () => {\n return createCommand('export')\n .description('Export data from Strapi to file')\n .allowExcessArguments(false)\n .addOption(\n new Option('--no-encrypt', `Disables 'aes-128-ecb' encryption of the output file`).default(\n true\n )\n )\n .addOption(\n new Option('--no-compress', 'Disables gzip compression of output file').default(true)\n )\n .addOption(new Option('--verbose', 'Enable verbose logs'))\n .addOption(\n new Option(\n '-k, --key <string>',\n 'Provide encryption key in command instead of using the prompt'\n )\n )\n .addOption(\n new Option('-f, --file <file>', 'name to use for exported file (without extensions)')\n )\n .addOption(excludeOption)\n .addOption(onlyOption)\n .addOption(throttleOption)\n .hook('preAction', validateExcludeOnly)\n .hook('preAction', promptEncryptionKey)\n .action(action);\n};\n\nexport default command;\n"],"names":["command","createCommand","description","allowExcessArguments","addOption","Option","default","excludeOption","onlyOption","throttleOption","hook","validateExcludeOnly","promptEncryptionKey","action"],"mappings":";;;;;AAWA;;AAEC,UACKA,OAAU,GAAA,IAAA;AACd,IAAA,OAAOC,aAAc,CAAA,QAAA,CAAA,CAClBC,WAAW,CAAC,iCACZC,CAAAA,CAAAA,oBAAoB,CAAC,KAAA,CAAA,CACrBC,SAAS,CACR,IAAIC,MAAAA,CAAO,gBAAgB,CAAC,oDAAoD,CAAC,CAAA,CAAEC,OAAO,CACxF,IAGHF,CAAAA,CAAAA,CAAAA,SAAS,CACR,IAAIC,MAAO,CAAA,eAAA,EAAiB,0CAA4CC,CAAAA,CAAAA,OAAO,CAAC,IAAA,CAAA,CAAA,CAEjFF,SAAS,CAAC,IAAIC,MAAO,CAAA,WAAA,EAAa,qBAClCD,CAAAA,CAAAA,CAAAA,SAAS,CACR,IAAIC,MACF,CAAA,oBAAA,EACA,+DAGHD,CAAAA,CAAAA,CAAAA,SAAS,CACR,IAAIC,MAAO,CAAA,mBAAA,EAAqB,uDAEjCD,SAAS,CAACG,aACVH,CAAAA,CAAAA,SAAS,CAACI,UAAAA,CAAAA,CACVJ,SAAS,CAACK,gBACVC,IAAI,CAAC,WAAaC,EAAAA,mBAAAA,CAAAA,CAClBD,IAAI,CAAC,WAAaE,EAAAA,mBAAAA,CAAAA,CAClBC,MAAM,CAACA,MAAAA,CAAAA;AACZ;;;;"}
1
+ {"version":3,"file":"command.mjs","sources":["../../../../../src/cli/commands/export/command.ts"],"sourcesContent":["import { createCommand, Option } from 'commander';\n\nimport {\n excludeOption,\n onlyOption,\n throttleOption,\n validateExcludeOnly,\n} from '../../utils/data-transfer';\nimport { promptEncryptionKey } from '../../utils/commander';\nimport action from './action';\n\n/**\n * `$ strapi export`\n */\nconst command = () => {\n return createCommand('export')\n .description('Export data from Strapi to file')\n .allowExcessArguments(false)\n .addOption(\n new Option('--no-encrypt', `Disables 'aes-128-ecb' encryption of the output file`).default(\n true\n )\n )\n .addOption(\n new Option('--no-compress', 'Disables gzip compression of output file').default(true)\n )\n .addOption(new Option('--verbose', 'Enable verbose logs'))\n .addOption(\n new Option(\n '-k, --key <string>',\n 'Provide encryption key in command instead of using the prompt'\n )\n )\n .addOption(\n new Option('-f, --file <file>', 'name to use for exported file (without extensions)')\n )\n .addOption(excludeOption)\n .addOption(onlyOption)\n .addOption(throttleOption)\n .hook('preAction', validateExcludeOnly)\n .hook('preAction', promptEncryptionKey)\n .action(action);\n};\n\nexport default command;\n"],"names":["command","createCommand","description","allowExcessArguments","addOption","Option","default","excludeOption","onlyOption","throttleOption","hook","validateExcludeOnly","promptEncryptionKey","action"],"mappings":";;;;;AAWA;;AAEC,UACKA,OAAAA,GAAU,IAAA;AACd,IAAA,OAAOC,aAAAA,CAAc,QAAA,CAAA,CAClBC,WAAW,CAAC,iCAAA,CAAA,CACZC,oBAAoB,CAAC,KAAA,CAAA,CACrBC,SAAS,CACR,IAAIC,MAAAA,CAAO,gBAAgB,CAAC,oDAAoD,CAAC,CAAA,CAAEC,OAAO,CACxF,IAAA,CAAA,CAAA,CAGHF,SAAS,CACR,IAAIC,MAAAA,CAAO,eAAA,EAAiB,0CAAA,CAAA,CAA4CC,OAAO,CAAC,IAAA,CAAA,CAAA,CAEjFF,SAAS,CAAC,IAAIC,MAAAA,CAAO,WAAA,EAAa,qBAAA,CAAA,CAAA,CAClCD,SAAS,CACR,IAAIC,MAAAA,CACF,oBAAA,EACA,+DAAA,CAAA,CAAA,CAGHD,SAAS,CACR,IAAIC,MAAAA,CAAO,mBAAA,EAAqB,uDAEjCD,SAAS,CAACG,aAAAA,CAAAA,CACVH,SAAS,CAACI,UAAAA,CAAAA,CACVJ,SAAS,CAACK,gBACVC,IAAI,CAAC,WAAA,EAAaC,mBAAAA,CAAAA,CAClBD,IAAI,CAAC,WAAA,EAAaE,mBAAAA,CAAAA,CAClBC,MAAM,CAACA,MAAAA,CAAAA;AACZ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sources":["../../../../src/cli/commands/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { assertCwdContainsStrapiProject } from '../utils/helpers';\nimport type { StrapiCommand } from '../types';\n\n/**\n * `$ strapi generate`\n */\nconst command: StrapiCommand = ({ argv }) => {\n return createCommand('generate')\n .description('Launch the interactive API generator')\n .action(() => {\n assertCwdContainsStrapiProject('generate');\n argv.splice(2, 1);\n\n // NOTE: this needs to be lazy loaded in order for plop to work correctly\n import('@strapi/generators').then((gen) => gen.runCLI());\n });\n};\n\nexport { command };\n"],"names":["command","argv","createCommand","description","action","assertCwdContainsStrapiProject","splice","then","gen","runCLI"],"mappings":";;;;;AAIA;;AAEC,IACKA,MAAAA,OAAAA,GAAyB,CAAC,EAAEC,IAAI,EAAE,GAAA;AACtC,IAAA,OAAOC,wBAAc,UAClBC,CAAAA,CAAAA,WAAW,CAAC,sCAAA,CAAA,CACZC,MAAM,CAAC,IAAA;QACNC,sCAA+B,CAAA,UAAA,CAAA;QAC/BJ,IAAKK,CAAAA,MAAM,CAAC,CAAG,EAAA,CAAA,CAAA;;AAGf,QAAA,OAAO,oBAAsBC,CAAAA,CAAAA,IAAI,CAAC,CAACC,GAAAA,GAAQA,IAAIC,MAAM,EAAA,CAAA;AACvD,KAAA,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"generate.js","sources":["../../../../src/cli/commands/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { assertCwdContainsStrapiProject } from '../utils/helpers';\nimport type { StrapiCommand } from '../types';\n\n/**\n * `$ strapi generate`\n */\nconst command: StrapiCommand = ({ argv }) => {\n return createCommand('generate')\n .description('Launch the interactive API generator')\n .action(() => {\n assertCwdContainsStrapiProject('generate');\n argv.splice(2, 1);\n\n // NOTE: this needs to be lazy loaded in order for plop to work correctly\n import('@strapi/generators').then((gen) => gen.runCLI());\n });\n};\n\nexport { command };\n"],"names":["command","argv","createCommand","description","action","assertCwdContainsStrapiProject","splice","then","gen","runCLI"],"mappings":";;;;;AAIA;;AAEC,IACD,MAAMA,OAAAA,GAAyB,CAAC,EAAEC,IAAI,EAAE,GAAA;AACtC,IAAA,OAAOC,wBAAc,UAAA,CAAA,CAClBC,WAAW,CAAC,sCAAA,CAAA,CACZC,MAAM,CAAC,IAAA;QACNC,sCAAAA,CAA+B,UAAA,CAAA;QAC/BJ,IAAAA,CAAKK,MAAM,CAAC,CAAA,EAAG,CAAA,CAAA;;AAGf,QAAA,OAAO,oBAAA,CAAA,CAAsBC,IAAI,CAAC,CAACC,GAAAA,GAAQA,IAAIC,MAAM,EAAA,CAAA;AACvD,IAAA,CAAA,CAAA;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.mjs","sources":["../../../../src/cli/commands/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { assertCwdContainsStrapiProject } from '../utils/helpers';\nimport type { StrapiCommand } from '../types';\n\n/**\n * `$ strapi generate`\n */\nconst command: StrapiCommand = ({ argv }) => {\n return createCommand('generate')\n .description('Launch the interactive API generator')\n .action(() => {\n assertCwdContainsStrapiProject('generate');\n argv.splice(2, 1);\n\n // NOTE: this needs to be lazy loaded in order for plop to work correctly\n import('@strapi/generators').then((gen) => gen.runCLI());\n });\n};\n\nexport { command };\n"],"names":["command","argv","createCommand","description","action","assertCwdContainsStrapiProject","splice","then","gen","runCLI"],"mappings":";;;AAIA;;AAEC,IACKA,MAAAA,OAAAA,GAAyB,CAAC,EAAEC,IAAI,EAAE,GAAA;AACtC,IAAA,OAAOC,cAAc,UAClBC,CAAAA,CAAAA,WAAW,CAAC,sCAAA,CAAA,CACZC,MAAM,CAAC,IAAA;QACNC,8BAA+B,CAAA,UAAA,CAAA;QAC/BJ,IAAKK,CAAAA,MAAM,CAAC,CAAG,EAAA,CAAA,CAAA;;AAGf,QAAA,OAAO,oBAAsBC,CAAAA,CAAAA,IAAI,CAAC,CAACC,GAAAA,GAAQA,IAAIC,MAAM,EAAA,CAAA;AACvD,KAAA,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"generate.mjs","sources":["../../../../src/cli/commands/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { assertCwdContainsStrapiProject } from '../utils/helpers';\nimport type { StrapiCommand } from '../types';\n\n/**\n * `$ strapi generate`\n */\nconst command: StrapiCommand = ({ argv }) => {\n return createCommand('generate')\n .description('Launch the interactive API generator')\n .action(() => {\n assertCwdContainsStrapiProject('generate');\n argv.splice(2, 1);\n\n // NOTE: this needs to be lazy loaded in order for plop to work correctly\n import('@strapi/generators').then((gen) => gen.runCLI());\n });\n};\n\nexport { command };\n"],"names":["command","argv","createCommand","description","action","assertCwdContainsStrapiProject","splice","then","gen","runCLI"],"mappings":";;;AAIA;;AAEC,IACD,MAAMA,OAAAA,GAAyB,CAAC,EAAEC,IAAI,EAAE,GAAA;AACtC,IAAA,OAAOC,cAAc,UAAA,CAAA,CAClBC,WAAW,CAAC,sCAAA,CAAA,CACZC,MAAM,CAAC,IAAA;QACNC,8BAAAA,CAA+B,UAAA,CAAA;QAC/BJ,IAAAA,CAAKK,MAAM,CAAC,CAAA,EAAG,CAAA,CAAA;;AAGf,QAAA,OAAO,oBAAA,CAAA,CAAsBC,IAAI,CAAC,CAACC,GAAAA,GAAQA,IAAIC,MAAM,EAAA,CAAA;AACvD,IAAA,CAAA,CAAA;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/hooks/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('hooks').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi hooks:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('hooks:list')\n .description('List all the application hooks')\n .action(runAction('hooks:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;;AAQA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,iBAAaH,CAAAA,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAOH,GAAAA,GAAAA,CAAII,GAAG,CAAC,SAASC,IAAI,EAAA;IAElC,MAAMC,SAAAA,GAAY,IAAIC,QAAS,CAAA;QAC7BC,IAAM,EAAA;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAiBN,GAAAA,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAQC,CAAAA,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,cAClBC,WAAW,CAAC,kCACZvB,MAAM,CAACwB,kBAAU,YAAcxB,EAAAA,MAAAA,CAAAA,CAAAA;AACpC;;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/hooks/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('hooks').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi hooks:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('hooks:list')\n .description('List all the application hooks')\n .action(runAction('hooks:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;;AAQA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAAA,GAAOH,GAAAA,CAAII,GAAG,CAAC,SAASC,IAAI,EAAA;IAElC,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAAA,GAAiBN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,cAClBC,WAAW,CAAC,kCACZvB,MAAM,CAACwB,kBAAU,YAAA,EAAcxB,MAAAA,CAAAA,CAAAA;AACpC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/hooks/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('hooks').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi hooks:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('hooks:list')\n .description('List all the application hooks')\n .action(runAction('hooks:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;AAQA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,YAAaH,CAAAA,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAOH,GAAAA,GAAAA,CAAII,GAAG,CAAC,SAASC,IAAI,EAAA;IAElC,MAAMC,SAAAA,GAAY,IAAIC,QAAS,CAAA;QAC7BC,IAAM,EAAA;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAiBN,GAAAA,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAQC,CAAAA,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,aAAAA,CAAc,cAClBC,WAAW,CAAC,kCACZvB,MAAM,CAACwB,UAAU,YAAcxB,EAAAA,MAAAA,CAAAA,CAAAA;AACpC;;;;"}
1
+ {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/hooks/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).register();\n\n const list = app.get('hooks').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi hooks:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('hooks:list')\n .description('List all the application hooks')\n .action(runAction('hooks:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","get","keys","infoTable","CLITable","head","chalk","blue","forEach","name","push","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;AAQA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,YAAAA,CAAaH,UAAAA,CAAAA,CAAYI,QAAQ,EAAA;AAEnD,IAAA,MAAMC,IAAAA,GAAOH,GAAAA,CAAII,GAAG,CAAC,SAASC,IAAI,EAAA;IAElC,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAP,IAAAA,IAAAA,CAAKQ,OAAO,CAAC,CAACC,IAAAA,GAAiBN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAEpDE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMhB,IAAIiB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,cAClBC,WAAW,CAAC,kCACZvB,MAAM,CAACwB,UAAU,YAAA,EAAcxB,MAAAA,CAAAA,CAAAA;AACpC;;;;"}