@strapi/strapi 5.37.0 → 5.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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":"list.mjs","sources":["../../../../../src/cli/commands/routes/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { toUpper } from 'lodash/fp';\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).load();\n\n const list = app.server.mount().listRoutes();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Method'), chalk.blue('Path')],\n colWidths: [20],\n });\n\n list\n .filter((route) => route.methods.length)\n .forEach((route) => {\n infoTable.push([route.methods.map(toUpper).join('|'), route.path]);\n });\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi routes:list``\n */\nconst command: StrapiCommand = () => {\n return createCommand('routes:list')\n .description('List all the application routes')\n .action(runAction('routes:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","list","server","mount","listRoutes","infoTable","CLITable","head","chalk","blue","colWidths","filter","route","methods","length","forEach","push","map","toUpper","join","path","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;AAUA,MAAMA,MAAS,GAAA,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAM,GAAA,MAAMC,YAAaH,CAAAA,UAAAA,CAAAA,CAAYI,IAAI,EAAA;AAE/C,IAAA,MAAMC,OAAOH,GAAII,CAAAA,MAAM,CAACC,KAAK,GAAGC,UAAU,EAAA;IAE1C,MAAMC,SAAAA,GAAY,IAAIC,QAAS,CAAA;QAC7BC,IAAM,EAAA;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,QAAA,CAAA;AAAWD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ,SAAA;QAChDC,SAAW,EAAA;AAAC,YAAA;AAAG;AACjB,KAAA,CAAA;IAEAT,IACGU,CAAAA,MAAM,CAAC,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,OAAO,CAACC,MAAM,CAAA,CACtCC,OAAO,CAAC,CAACH,KAAAA,GAAAA;AACRP,QAAAA,SAAAA,CAAUW,IAAI,CAAC;AAACJ,YAAAA,KAAAA,CAAMC,OAAO,CAACI,GAAG,CAACC,OAAAA,CAAAA,CAASC,IAAI,CAAC,GAAA,CAAA;AAAMP,YAAAA,KAAAA,CAAMQ;AAAK,SAAA,CAAA;AACnE,KAAA,CAAA;IAEFC,OAAQC,CAAAA,GAAG,CAACjB,SAAAA,CAAUkB,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMzB,IAAI0B,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,aAAAA,CAAc,eAClBC,WAAW,CAAC,mCACZhC,MAAM,CAACiC,UAAU,aAAejC,EAAAA,MAAAA,CAAAA,CAAAA;AACrC;;;;"}
1
+ {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/routes/list.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { toUpper } from 'lodash/fp';\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).load();\n\n const list = app.server.mount().listRoutes();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Method'), chalk.blue('Path')],\n colWidths: [20],\n });\n\n list\n .filter((route) => route.methods.length)\n .forEach((route) => {\n infoTable.push([route.methods.map(toUpper).join('|'), route.path]);\n });\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi routes:list``\n */\nconst command: StrapiCommand = () => {\n return createCommand('routes:list')\n .description('List all the application routes')\n .action(runAction('routes:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","list","server","mount","listRoutes","infoTable","CLITable","head","chalk","blue","colWidths","filter","route","methods","length","forEach","push","map","toUpper","join","path","console","log","toString","destroy","command","createCommand","description","runAction"],"mappings":";;;;;;;AAUA,MAAMA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,YAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;AAE/C,IAAA,MAAMC,OAAOH,GAAAA,CAAII,MAAM,CAACC,KAAK,GAAGC,UAAU,EAAA;IAE1C,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,QAAA,CAAA;AAAWD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ,SAAA;QAChDC,SAAAA,EAAW;AAAC,YAAA;AAAG;AACjB,KAAA,CAAA;IAEAT,IAAAA,CACGU,MAAM,CAAC,CAACC,KAAAA,GAAUA,KAAAA,CAAMC,OAAO,CAACC,MAAM,CAAA,CACtCC,OAAO,CAAC,CAACH,KAAAA,GAAAA;AACRP,QAAAA,SAAAA,CAAUW,IAAI,CAAC;AAACJ,YAAAA,KAAAA,CAAMC,OAAO,CAACI,GAAG,CAACC,OAAAA,CAAAA,CAASC,IAAI,CAAC,GAAA,CAAA;AAAMP,YAAAA,KAAAA,CAAMQ;AAAK,SAAA,CAAA;AACnE,IAAA,CAAA,CAAA;IAEFC,OAAAA,CAAQC,GAAG,CAACjB,SAAAA,CAAUkB,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMzB,IAAI0B,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,eAClBC,WAAW,CAAC,mCACZhC,MAAM,CAACiC,UAAU,aAAA,EAAejC,MAAAA,CAAAA,CAAAA;AACrC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/services/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('services').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 services:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('services:list')\n .description('List all the application services')\n .action(runAction('services: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,YAAYC,IAAI,EAAA;IAErC,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,iBAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,kBAAU,eAAiBxB,EAAAA,MAAAA,CAAAA,CAAAA;AACvC;;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/services/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('services').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 services:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('services:list')\n .description('List all the application services')\n .action(runAction('services: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,YAAYC,IAAI,EAAA;IAErC,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,iBAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,kBAAU,eAAA,EAAiBxB,MAAAA,CAAAA,CAAAA;AACvC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/services/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('services').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 services:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('services:list')\n .description('List all the application services')\n .action(runAction('services: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,YAAYC,IAAI,EAAA;IAErC,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,iBAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,UAAU,eAAiBxB,EAAAA,MAAAA,CAAAA,CAAAA;AACvC;;;;"}
1
+ {"version":3,"file":"list.mjs","sources":["../../../../../src/cli/commands/services/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('services').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 services:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('services:list')\n .description('List all the application services')\n .action(runAction('services: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,YAAYC,IAAI,EAAA;IAErC,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,iBAClBC,WAAW,CAAC,qCACZvB,MAAM,CAACwB,UAAU,eAAA,EAAiBxB,MAAAA,CAAAA,CAAAA;AACvC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sources":["../../../../src/cli/commands/start.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport fs from 'fs';\nimport tsUtils from '@strapi/typescript-utils';\nimport { createStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appDir = process.cwd();\n\n const isTSProject = await tsUtils.isUsingTypeScript(appDir);\n\n const outDir = await tsUtils.resolveOutDir(appDir);\n const distDir = isTSProject ? outDir : appDir;\n\n const buildDirExists = fs.existsSync(outDir);\n if (isTSProject && !buildDirExists)\n throw new Error(\n `${outDir} directory not found. Please run the build command before starting your application`\n );\n\n createStrapi({ appDir, distDir }).start();\n};\n\n/**\n * `$ strapi start`\n */\nconst command: StrapiCommand = () => {\n return createCommand('start')\n .description('Start your Strapi application')\n .action(runAction('start', action));\n};\n\nexport { command };\n"],"names":["action","appDir","process","cwd","isTSProject","tsUtils","isUsingTypeScript","outDir","resolveOutDir","distDir","buildDirExists","fs","existsSync","Error","createStrapi","start","command","createCommand","description","runAction"],"mappings":";;;;;;;;AAQA,MAAMA,MAAS,GAAA,UAAA;IACb,MAAMC,MAAAA,GAASC,QAAQC,GAAG,EAAA;AAE1B,IAAA,MAAMC,WAAc,GAAA,MAAMC,OAAQC,CAAAA,iBAAiB,CAACL,MAAAA,CAAAA;AAEpD,IAAA,MAAMM,MAAS,GAAA,MAAMF,OAAQG,CAAAA,aAAa,CAACP,MAAAA,CAAAA;IAC3C,MAAMQ,OAAAA,GAAUL,cAAcG,MAASN,GAAAA,MAAAA;IAEvC,MAAMS,cAAAA,GAAiBC,EAAGC,CAAAA,UAAU,CAACL,MAAAA,CAAAA;IACrC,IAAIH,WAAAA,IAAe,CAACM,cAClB,EAAA,MAAM,IAAIG,KACR,CAAA,CAAA,EAAGN,MAAO,CAAA,mFAAmF,CAAC,CAAA;IAGlGO,iBAAa,CAAA;AAAEb,QAAAA,MAAAA;AAAQQ,QAAAA;AAAQ,KAAA,CAAA,CAAGM,KAAK,EAAA;AACzC,CAAA;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,SAClBC,WAAW,CAAC,iCACZlB,MAAM,CAACmB,kBAAU,OAASnB,EAAAA,MAAAA,CAAAA,CAAAA;AAC/B;;;;"}
1
+ {"version":3,"file":"start.js","sources":["../../../../src/cli/commands/start.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport fs from 'fs';\nimport tsUtils from '@strapi/typescript-utils';\nimport { createStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appDir = process.cwd();\n\n const isTSProject = await tsUtils.isUsingTypeScript(appDir);\n\n const outDir = await tsUtils.resolveOutDir(appDir);\n const distDir = isTSProject ? outDir : appDir;\n\n const buildDirExists = fs.existsSync(outDir);\n if (isTSProject && !buildDirExists)\n throw new Error(\n `${outDir} directory not found. Please run the build command before starting your application`\n );\n\n createStrapi({ appDir, distDir }).start();\n};\n\n/**\n * `$ strapi start`\n */\nconst command: StrapiCommand = () => {\n return createCommand('start')\n .description('Start your Strapi application')\n .action(runAction('start', action));\n};\n\nexport { command };\n"],"names":["action","appDir","process","cwd","isTSProject","tsUtils","isUsingTypeScript","outDir","resolveOutDir","distDir","buildDirExists","fs","existsSync","Error","createStrapi","start","command","createCommand","description","runAction"],"mappings":";;;;;;;;AAQA,MAAMA,MAAAA,GAAS,UAAA;IACb,MAAMC,MAAAA,GAASC,QAAQC,GAAG,EAAA;AAE1B,IAAA,MAAMC,WAAAA,GAAc,MAAMC,OAAAA,CAAQC,iBAAiB,CAACL,MAAAA,CAAAA;AAEpD,IAAA,MAAMM,MAAAA,GAAS,MAAMF,OAAAA,CAAQG,aAAa,CAACP,MAAAA,CAAAA;IAC3C,MAAMQ,OAAAA,GAAUL,cAAcG,MAAAA,GAASN,MAAAA;IAEvC,MAAMS,cAAAA,GAAiBC,EAAAA,CAAGC,UAAU,CAACL,MAAAA,CAAAA;IACrC,IAAIH,WAAAA,IAAe,CAACM,cAAAA,EAClB,MAAM,IAAIG,KAAAA,CACR,CAAA,EAAGN,MAAAA,CAAO,mFAAmF,CAAC,CAAA;IAGlGO,iBAAAA,CAAa;AAAEb,QAAAA,MAAAA;AAAQQ,QAAAA;AAAQ,KAAA,CAAA,CAAGM,KAAK,EAAA;AACzC,CAAA;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,SAClBC,WAAW,CAAC,iCACZlB,MAAM,CAACmB,kBAAU,OAAA,EAASnB,MAAAA,CAAAA,CAAAA;AAC/B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.mjs","sources":["../../../../src/cli/commands/start.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport fs from 'fs';\nimport tsUtils from '@strapi/typescript-utils';\nimport { createStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appDir = process.cwd();\n\n const isTSProject = await tsUtils.isUsingTypeScript(appDir);\n\n const outDir = await tsUtils.resolveOutDir(appDir);\n const distDir = isTSProject ? outDir : appDir;\n\n const buildDirExists = fs.existsSync(outDir);\n if (isTSProject && !buildDirExists)\n throw new Error(\n `${outDir} directory not found. Please run the build command before starting your application`\n );\n\n createStrapi({ appDir, distDir }).start();\n};\n\n/**\n * `$ strapi start`\n */\nconst command: StrapiCommand = () => {\n return createCommand('start')\n .description('Start your Strapi application')\n .action(runAction('start', action));\n};\n\nexport { command };\n"],"names":["action","appDir","process","cwd","isTSProject","tsUtils","isUsingTypeScript","outDir","resolveOutDir","distDir","buildDirExists","fs","existsSync","Error","createStrapi","start","command","createCommand","description","runAction"],"mappings":";;;;;;AAQA,MAAMA,MAAS,GAAA,UAAA;IACb,MAAMC,MAAAA,GAASC,QAAQC,GAAG,EAAA;AAE1B,IAAA,MAAMC,WAAc,GAAA,MAAMC,gBAAQC,CAAAA,iBAAiB,CAACL,MAAAA,CAAAA;AAEpD,IAAA,MAAMM,MAAS,GAAA,MAAMF,gBAAQG,CAAAA,aAAa,CAACP,MAAAA,CAAAA;IAC3C,MAAMQ,OAAAA,GAAUL,cAAcG,MAASN,GAAAA,MAAAA;IAEvC,MAAMS,cAAAA,GAAiBC,EAAGC,CAAAA,UAAU,CAACL,MAAAA,CAAAA;IACrC,IAAIH,WAAAA,IAAe,CAACM,cAClB,EAAA,MAAM,IAAIG,KACR,CAAA,CAAA,EAAGN,MAAO,CAAA,mFAAmF,CAAC,CAAA;IAGlGO,YAAa,CAAA;AAAEb,QAAAA,MAAAA;AAAQQ,QAAAA;AAAQ,KAAA,CAAA,CAAGM,KAAK,EAAA;AACzC,CAAA;AAEA;;AAEC,UACKC,OAAyB,GAAA,IAAA;IAC7B,OAAOC,aAAAA,CAAc,SAClBC,WAAW,CAAC,iCACZlB,MAAM,CAACmB,UAAU,OAASnB,EAAAA,MAAAA,CAAAA,CAAAA;AAC/B;;;;"}
1
+ {"version":3,"file":"start.mjs","sources":["../../../../src/cli/commands/start.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport fs from 'fs';\nimport tsUtils from '@strapi/typescript-utils';\nimport { createStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../types';\nimport { runAction } from '../utils/helpers';\n\nconst action = async () => {\n const appDir = process.cwd();\n\n const isTSProject = await tsUtils.isUsingTypeScript(appDir);\n\n const outDir = await tsUtils.resolveOutDir(appDir);\n const distDir = isTSProject ? outDir : appDir;\n\n const buildDirExists = fs.existsSync(outDir);\n if (isTSProject && !buildDirExists)\n throw new Error(\n `${outDir} directory not found. Please run the build command before starting your application`\n );\n\n createStrapi({ appDir, distDir }).start();\n};\n\n/**\n * `$ strapi start`\n */\nconst command: StrapiCommand = () => {\n return createCommand('start')\n .description('Start your Strapi application')\n .action(runAction('start', action));\n};\n\nexport { command };\n"],"names":["action","appDir","process","cwd","isTSProject","tsUtils","isUsingTypeScript","outDir","resolveOutDir","distDir","buildDirExists","fs","existsSync","Error","createStrapi","start","command","createCommand","description","runAction"],"mappings":";;;;;;AAQA,MAAMA,MAAAA,GAAS,UAAA;IACb,MAAMC,MAAAA,GAASC,QAAQC,GAAG,EAAA;AAE1B,IAAA,MAAMC,WAAAA,GAAc,MAAMC,gBAAAA,CAAQC,iBAAiB,CAACL,MAAAA,CAAAA;AAEpD,IAAA,MAAMM,MAAAA,GAAS,MAAMF,gBAAAA,CAAQG,aAAa,CAACP,MAAAA,CAAAA;IAC3C,MAAMQ,OAAAA,GAAUL,cAAcG,MAAAA,GAASN,MAAAA;IAEvC,MAAMS,cAAAA,GAAiBC,EAAAA,CAAGC,UAAU,CAACL,MAAAA,CAAAA;IACrC,IAAIH,WAAAA,IAAe,CAACM,cAAAA,EAClB,MAAM,IAAIG,KAAAA,CACR,CAAA,EAAGN,MAAAA,CAAO,mFAAmF,CAAC,CAAA;IAGlGO,YAAAA,CAAa;AAAEb,QAAAA,MAAAA;AAAQQ,QAAAA;AAAQ,KAAA,CAAA,CAAGM,KAAK,EAAA;AACzC,CAAA;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,SAClBC,WAAW,CAAC,iCACZlB,MAAM,CAACmB,UAAU,OAAA,EAASnB,MAAAA,CAAAA,CAAAA;AAC/B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"disable.js","sources":["../../../../../src/cli/commands/telemetry/disable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n const uuid = packageObj.strapi ? packageObj.strapi.uuid : null;\n const installId = packageObj.strapi ? packageObj.strapi.installId : null;\n\n return { uuid, installId, packageObj };\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const { uuid, installId, packageObj } = (await readPackageJSON(packageJSONPath)) ?? {};\n\n if ((packageObj.strapi && packageObj.strapi.telemetryDisabled) || !uuid) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already disabled`);\n process.exit(0);\n }\n\n const updatedPackageJSON = {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n telemetryDisabled: true,\n },\n };\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": true in the \"strapi\" object of your package.json manually.`\n );\n process.exit(0);\n }\n\n await sendEvent('didOptOutTelemetry', uuid, installId);\n console.log(`${chalk.green('Successfully opted out of Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:disable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:disable')\n .description('Disable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:disable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","uuid","strapi","installId","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","action","packageJSONPath","resolve","process","cwd","exists","pathExists","log","yellow","exit","telemetryDisabled","updatedPackageJSON","write","sendEvent","green","command","createCommand","description","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"disable.js","sources":["../../../../../src/cli/commands/telemetry/disable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n const uuid = packageObj.strapi ? packageObj.strapi.uuid : null;\n const installId = packageObj.strapi ? packageObj.strapi.installId : null;\n\n return { uuid, installId, packageObj };\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const { uuid, installId, packageObj } = (await readPackageJSON(packageJSONPath)) ?? {};\n\n if ((packageObj.strapi && packageObj.strapi.telemetryDisabled) || !uuid) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already disabled`);\n process.exit(0);\n }\n\n const updatedPackageJSON = {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n telemetryDisabled: true,\n },\n };\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": true in the \"strapi\" object of your package.json manually.`\n );\n process.exit(0);\n }\n\n await sendEvent('didOptOutTelemetry', uuid, installId);\n console.log(`${chalk.green('Successfully opted out of Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:disable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:disable')\n .description('Disable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:disable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","uuid","strapi","installId","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","action","packageJSONPath","resolve","process","cwd","exists","pathExists","log","yellow","exit","telemetryDisabled","updatedPackageJSON","write","sendEvent","green","command","createCommand","description","runAction"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"disable.mjs","sources":["../../../../../src/cli/commands/telemetry/disable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n const uuid = packageObj.strapi ? packageObj.strapi.uuid : null;\n const installId = packageObj.strapi ? packageObj.strapi.installId : null;\n\n return { uuid, installId, packageObj };\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const { uuid, installId, packageObj } = (await readPackageJSON(packageJSONPath)) ?? {};\n\n if ((packageObj.strapi && packageObj.strapi.telemetryDisabled) || !uuid) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already disabled`);\n process.exit(0);\n }\n\n const updatedPackageJSON = {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n telemetryDisabled: true,\n },\n };\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": true in the \"strapi\" object of your package.json manually.`\n );\n process.exit(0);\n }\n\n await sendEvent('didOptOutTelemetry', uuid, installId);\n console.log(`${chalk.green('Successfully opted out of Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:disable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:disable')\n .description('Disable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:disable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","uuid","strapi","installId","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","action","packageJSONPath","resolve","process","cwd","exists","pathExists","log","yellow","exit","telemetryDisabled","updatedPackageJSON","write","sendEvent","green","command","createCommand","description","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"disable.mjs","sources":["../../../../../src/cli/commands/telemetry/disable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n const uuid = packageObj.strapi ? packageObj.strapi.uuid : null;\n const installId = packageObj.strapi ? packageObj.strapi.installId : null;\n\n return { uuid, installId, packageObj };\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const { uuid, installId, packageObj } = (await readPackageJSON(packageJSONPath)) ?? {};\n\n if ((packageObj.strapi && packageObj.strapi.telemetryDisabled) || !uuid) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already disabled`);\n process.exit(0);\n }\n\n const updatedPackageJSON = {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n telemetryDisabled: true,\n },\n };\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": true in the \"strapi\" object of your package.json manually.`\n );\n process.exit(0);\n }\n\n await sendEvent('didOptOutTelemetry', uuid, installId);\n console.log(`${chalk.green('Successfully opted out of Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:disable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:disable')\n .description('Disable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:disable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","uuid","strapi","installId","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","action","packageJSONPath","resolve","process","cwd","exists","pathExists","log","yellow","exit","telemetryDisabled","updatedPackageJSON","write","sendEvent","green","command","createCommand","description","runAction"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enable.js","sources":["../../../../../src/cli/commands/telemetry/enable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { randomUUID } from 'crypto';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\ntype PackageJson = {\n strapi?: {\n uuid?: string;\n installId?: string;\n telemetryDisabled?: boolean;\n };\n};\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n return packageObj;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n } else {\n throw err;\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": false in the \"strapi\" object of your package.json manually.`\n );\n\n return false;\n }\n\n throw err;\n }\n};\n\nconst generateNewPackageJSON = (packageObj: PackageJson) => {\n if (!packageObj.strapi) {\n return {\n ...packageObj,\n strapi: {\n uuid: randomUUID(),\n telemetryDisabled: false,\n },\n };\n }\n return {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n uuid: packageObj.strapi.uuid ? packageObj.strapi.uuid : randomUUID(),\n telemetryDisabled: false,\n },\n };\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const packageObj = await readPackageJSON(packageJSONPath);\n\n if (packageObj.strapi && packageObj.strapi.uuid) {\n if (packageObj.strapi.telemetryDisabled === false) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already enabled`);\n process.exit(0);\n }\n }\n\n const updatedPackageJSON = generateNewPackageJSON(packageObj);\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n process.exit(0);\n }\n\n await sendEvent(\n 'didOptInTelemetry',\n updatedPackageJSON.strapi.uuid,\n updatedPackageJSON.strapi?.installId\n );\n console.log(`${chalk.green('Successfully opted into and enabled Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:enable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:enable')\n .description('Enable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:enable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","log","yellow","generateNewPackageJSON","strapi","uuid","randomUUID","telemetryDisabled","action","packageJSONPath","resolve","process","cwd","exists","pathExists","exit","updatedPackageJSON","write","sendEvent","installId","green","command","createCommand","description","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"enable.js","sources":["../../../../../src/cli/commands/telemetry/enable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { randomUUID } from 'crypto';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\ntype PackageJson = {\n strapi?: {\n uuid?: string;\n installId?: string;\n telemetryDisabled?: boolean;\n };\n};\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n return packageObj;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n } else {\n throw err;\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": false in the \"strapi\" object of your package.json manually.`\n );\n\n return false;\n }\n\n throw err;\n }\n};\n\nconst generateNewPackageJSON = (packageObj: PackageJson) => {\n if (!packageObj.strapi) {\n return {\n ...packageObj,\n strapi: {\n uuid: randomUUID(),\n telemetryDisabled: false,\n },\n };\n }\n return {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n uuid: packageObj.strapi.uuid ? packageObj.strapi.uuid : randomUUID(),\n telemetryDisabled: false,\n },\n };\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const packageObj = await readPackageJSON(packageJSONPath);\n\n if (packageObj.strapi && packageObj.strapi.uuid) {\n if (packageObj.strapi.telemetryDisabled === false) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already enabled`);\n process.exit(0);\n }\n }\n\n const updatedPackageJSON = generateNewPackageJSON(packageObj);\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n process.exit(0);\n }\n\n await sendEvent(\n 'didOptInTelemetry',\n updatedPackageJSON.strapi.uuid,\n updatedPackageJSON.strapi?.installId\n );\n console.log(`${chalk.green('Successfully opted into and enabled Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:enable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:enable')\n .description('Enable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:enable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","log","yellow","generateNewPackageJSON","strapi","uuid","randomUUID","telemetryDisabled","action","packageJSONPath","resolve","process","cwd","exists","pathExists","exit","updatedPackageJSON","write","sendEvent","installId","green","command","createCommand","description","runAction"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enable.mjs","sources":["../../../../../src/cli/commands/telemetry/enable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { randomUUID } from 'crypto';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\ntype PackageJson = {\n strapi?: {\n uuid?: string;\n installId?: string;\n telemetryDisabled?: boolean;\n };\n};\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n return packageObj;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n } else {\n throw err;\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": false in the \"strapi\" object of your package.json manually.`\n );\n\n return false;\n }\n\n throw err;\n }\n};\n\nconst generateNewPackageJSON = (packageObj: PackageJson) => {\n if (!packageObj.strapi) {\n return {\n ...packageObj,\n strapi: {\n uuid: randomUUID(),\n telemetryDisabled: false,\n },\n };\n }\n return {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n uuid: packageObj.strapi.uuid ? packageObj.strapi.uuid : randomUUID(),\n telemetryDisabled: false,\n },\n };\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const packageObj = await readPackageJSON(packageJSONPath);\n\n if (packageObj.strapi && packageObj.strapi.uuid) {\n if (packageObj.strapi.telemetryDisabled === false) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already enabled`);\n process.exit(0);\n }\n }\n\n const updatedPackageJSON = generateNewPackageJSON(packageObj);\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n process.exit(0);\n }\n\n await sendEvent(\n 'didOptInTelemetry',\n updatedPackageJSON.strapi.uuid,\n updatedPackageJSON.strapi?.installId\n );\n console.log(`${chalk.green('Successfully opted into and enabled Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:enable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:enable')\n .description('Enable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:enable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","log","yellow","generateNewPackageJSON","strapi","uuid","randomUUID","telemetryDisabled","action","packageJSONPath","resolve","process","cwd","exists","pathExists","exit","updatedPackageJSON","write","sendEvent","installId","green","command","createCommand","description","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"enable.mjs","sources":["../../../../../src/cli/commands/telemetry/enable.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { randomUUID } from 'crypto';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { sendEvent } from '../../utils/telemetry';\n\ntype PackageJson = {\n strapi?: {\n uuid?: string;\n installId?: string;\n telemetryDisabled?: boolean;\n };\n};\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n return packageObj;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n } else {\n throw err;\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": false in the \"strapi\" object of your package.json manually.`\n );\n\n return false;\n }\n\n throw err;\n }\n};\n\nconst generateNewPackageJSON = (packageObj: PackageJson) => {\n if (!packageObj.strapi) {\n return {\n ...packageObj,\n strapi: {\n uuid: randomUUID(),\n telemetryDisabled: false,\n },\n };\n }\n return {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n uuid: packageObj.strapi.uuid ? packageObj.strapi.uuid : randomUUID(),\n telemetryDisabled: false,\n },\n };\n};\n\nconst action = async () => {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const packageObj = await readPackageJSON(packageJSONPath);\n\n if (packageObj.strapi && packageObj.strapi.uuid) {\n if (packageObj.strapi.telemetryDisabled === false) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already enabled`);\n process.exit(0);\n }\n }\n\n const updatedPackageJSON = generateNewPackageJSON(packageObj);\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n process.exit(0);\n }\n\n await sendEvent(\n 'didOptInTelemetry',\n updatedPackageJSON.strapi.uuid,\n updatedPackageJSON.strapi?.installId\n );\n console.log(`${chalk.green('Successfully opted into and enabled Strapi telemetry')}`);\n process.exit(0);\n};\n\n/**\n * `$ strapi telemetry:enable`\n */\nconst command: StrapiCommand = () => {\n return createCommand('telemetry:enable')\n .description('Enable anonymous telemetry and metadata sending to Strapi analytics')\n .action(runAction('telemetry:enable', action));\n};\n\nexport { action, command };\n"],"names":["readPackageJSON","path","packageObj","fse","readJson","err","Error","console","error","chalk","red","message","writePackageJSON","file","spacing","writeJson","spaces","log","yellow","generateNewPackageJSON","strapi","uuid","randomUUID","telemetryDisabled","action","packageJSONPath","resolve","process","cwd","exists","pathExists","exit","updatedPackageJSON","write","sendEvent","installId","green","command","createCommand","description","runAction"],"mappings":";;;;;;;;AAkBA,MAAMA,kBAAkB,OAAOC,IAAAA,GAAAA;IAC7B,IAAI;AACF,QAAA,MAAMC,UAAAA,GAAa,MAAMC,GAAAA,CAAIC,QAAQ,CAACH,IAAAA,CAAAA;QACtC,OAAOC,UAAAA;AACT,IAAA,CAAA,CAAE,OAAOG,GAAAA,EAAK;AACZ,QAAA,IAAIA,eAAeC,KAAAA,EAAO;YACxBC,OAAAA,CAAQC,KAAK,CAAC,CAAA,EAAGC,KAAAA,CAAMC,GAAG,CAAC,OAAA,CAAA,CAAS,EAAE,EAAEL,GAAAA,CAAIM,OAAO,CAAA,CAAE,CAAA;QACvD,CAAA,MAAO;YACL,MAAMN,GAAAA;AACR,QAAA;AACF,IAAA;AACF,CAAA;AAEA,MAAMO,gBAAAA,GAAmB,OAAOX,IAAAA,EAAcY,IAAAA,EAAcC,OAAAA,GAAAA;IAC1D,IAAI;AACF,QAAA,MAAMX,GAAAA,CAAIY,SAAS,CAACd,IAAAA,EAAMY,IAAAA,EAAM;YAAEG,MAAAA,EAAQF;AAAQ,SAAA,CAAA;QAClD,OAAO,IAAA;AACT,IAAA,CAAA,CAAE,OAAOT,GAAAA,EAAK;AACZ,QAAA,IAAIA,eAAeC,KAAAA,EAAO;YACxBC,OAAAA,CAAQC,KAAK,CAAC,CAAA,EAAGC,KAAAA,CAAMC,GAAG,CAAC,OAAA,CAAA,CAAS,EAAE,EAAEL,GAAAA,CAAIM,OAAO,CAAA,CAAE,CAAA;YACrDJ,OAAAA,CAAQU,GAAG,CACT,CAAA,EAAGR,KAAAA,CAAMS,MAAM,CACb,SAAA,CAAA,CACA,sHAAsH,CAAC,CAAA;YAG3H,OAAO,KAAA;AACT,QAAA;QAEA,MAAMb,GAAAA;AACR,IAAA;AACF,CAAA;AAEA,MAAMc,yBAAyB,CAACjB,UAAAA,GAAAA;IAC9B,IAAI,CAACA,UAAAA,CAAWkB,MAAM,EAAE;QACtB,OAAO;AACL,YAAA,GAAGlB,UAAU;YACbkB,MAAAA,EAAQ;gBACNC,IAAAA,EAAMC,UAAAA,EAAAA;gBACNC,iBAAAA,EAAmB;AACrB;AACF,SAAA;AACF,IAAA;IACA,OAAO;AACL,QAAA,GAAGrB,UAAU;QACbkB,MAAAA,EAAQ;AACN,YAAA,GAAGlB,WAAWkB,MAAM;YACpBC,IAAAA,EAAMnB,UAAAA,CAAWkB,MAAM,CAACC,IAAI,GAAGnB,UAAAA,CAAWkB,MAAM,CAACC,IAAI,GAAGC,UAAAA,EAAAA;YACxDC,iBAAAA,EAAmB;AACrB;AACF,KAAA;AACF,CAAA;AAEA,MAAMC,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,eAAAA,GAAkBC,OAAAA,CAAQC,OAAAA,CAAQC,GAAG,EAAA,EAAI,cAAA,CAAA;AAC/C,IAAA,MAAMC,MAAAA,GAAS,MAAM1B,GAAAA,CAAI2B,UAAU,CAACL,eAAAA,CAAAA;AAEpC,IAAA,IAAI,CAACI,MAAAA,EAAQ;QACXtB,OAAAA,CAAQU,GAAG,CAAC,CAAA,EAAGR,KAAAA,CAAMS,MAAM,CAAC,SAAA,CAAA,CAAW,6BAA6B,CAAC,CAAA;AACrES,QAAAA,OAAAA,CAAQI,IAAI,CAAC,CAAA,CAAA;AACf,IAAA;IAEA,MAAM7B,UAAAA,GAAa,MAAMF,eAAAA,CAAgByB,eAAAA,CAAAA;AAEzC,IAAA,IAAIvB,WAAWkB,MAAM,IAAIlB,WAAWkB,MAAM,CAACC,IAAI,EAAE;AAC/C,QAAA,IAAInB,UAAAA,CAAWkB,MAAM,CAACG,iBAAiB,KAAK,KAAA,EAAO;YACjDhB,OAAAA,CAAQU,GAAG,CAAC,CAAA,EAAGR,KAAAA,CAAMS,MAAM,CAAC,UAAA,CAAA,CAAY,6BAA6B,CAAC,CAAA;AACtES,YAAAA,OAAAA,CAAQI,IAAI,CAAC,CAAA,CAAA;AACf,QAAA;AACF,IAAA;AAEA,IAAA,MAAMC,qBAAqBb,sBAAAA,CAAuBjB,UAAAA,CAAAA;AAElD,IAAA,MAAM+B,KAAAA,GAAQ,MAAMrB,gBAAAA,CAAiBa,eAAAA,EAAiBO,kBAAAA,EAAoB,CAAA,CAAA;AAE1E,IAAA,IAAI,CAACC,KAAAA,EAAO;AACVN,QAAAA,OAAAA,CAAQI,IAAI,CAAC,CAAA,CAAA;AACf,IAAA;IAEA,MAAMG,SAAAA,CACJ,qBACAF,kBAAAA,CAAmBZ,MAAM,CAACC,IAAI,EAC9BW,kBAAAA,CAAmBZ,MAAM,EAAEe,SAAAA,CAAAA;AAE7B5B,IAAAA,OAAAA,CAAQU,GAAG,CAAC,CAAA,EAAGR,KAAAA,CAAM2B,KAAK,CAAC,sDAAA,CAAA,CAAA,CAAyD,CAAA;AACpFT,IAAAA,OAAAA,CAAQI,IAAI,CAAC,CAAA,CAAA;AACf;AAEA;;AAEC,UACKM,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,oBAClBC,WAAW,CAAC,uEACZf,MAAM,CAACgB,UAAU,kBAAA,EAAoBhB,MAAAA,CAAAA,CAAAA;AAC1C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sources":["../../../../../src/cli/commands/templates/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\n\n/**\n *`$ strapi templates:generate <directory>`\n */\nconst command: StrapiCommand = () => {\n return createCommand('templates:generate <directory>')\n .description('(deprecated) Generate template from Strapi project')\n .action(() => {\n console.warn('This command is deprecated and will be removed in the next major release.');\n console.warn('You can now copy an existing app and use it as a template.');\n });\n};\n\nexport { command };\n"],"names":["command","createCommand","description","action","console","warn"],"mappings":";;;;AAIA;;AAEC,UACKA,OAAyB,GAAA,IAAA;AAC7B,IAAA,OAAOC,wBAAc,gCAClBC,CAAAA,CAAAA,WAAW,CAAC,oDAAA,CAAA,CACZC,MAAM,CAAC,IAAA;AACNC,QAAAA,OAAAA,CAAQC,IAAI,CAAC,2EAAA,CAAA;AACbD,QAAAA,OAAAA,CAAQC,IAAI,CAAC,4DAAA,CAAA;AACf,KAAA,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"generate.js","sources":["../../../../../src/cli/commands/templates/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\n\n/**\n *`$ strapi templates:generate <directory>`\n */\nconst command: StrapiCommand = () => {\n return createCommand('templates:generate <directory>')\n .description('(deprecated) Generate template from Strapi project')\n .action(() => {\n console.warn('This command is deprecated and will be removed in the next major release.');\n console.warn('You can now copy an existing app and use it as a template.');\n });\n};\n\nexport { command };\n"],"names":["command","createCommand","description","action","console","warn"],"mappings":";;;;AAIA;;AAEC,UACKA,OAAAA,GAAyB,IAAA;AAC7B,IAAA,OAAOC,wBAAc,gCAAA,CAAA,CAClBC,WAAW,CAAC,oDAAA,CAAA,CACZC,MAAM,CAAC,IAAA;AACNC,QAAAA,OAAAA,CAAQC,IAAI,CAAC,2EAAA,CAAA;AACbD,QAAAA,OAAAA,CAAQC,IAAI,CAAC,4DAAA,CAAA;AACf,IAAA,CAAA,CAAA;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.mjs","sources":["../../../../../src/cli/commands/templates/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\n\n/**\n *`$ strapi templates:generate <directory>`\n */\nconst command: StrapiCommand = () => {\n return createCommand('templates:generate <directory>')\n .description('(deprecated) Generate template from Strapi project')\n .action(() => {\n console.warn('This command is deprecated and will be removed in the next major release.');\n console.warn('You can now copy an existing app and use it as a template.');\n });\n};\n\nexport { command };\n"],"names":["command","createCommand","description","action","console","warn"],"mappings":";;AAIA;;AAEC,UACKA,OAAyB,GAAA,IAAA;AAC7B,IAAA,OAAOC,cAAc,gCAClBC,CAAAA,CAAAA,WAAW,CAAC,oDAAA,CAAA,CACZC,MAAM,CAAC,IAAA;AACNC,QAAAA,OAAAA,CAAQC,IAAI,CAAC,2EAAA,CAAA;AACbD,QAAAA,OAAAA,CAAQC,IAAI,CAAC,4DAAA,CAAA;AACf,KAAA,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"generate.mjs","sources":["../../../../../src/cli/commands/templates/generate.ts"],"sourcesContent":["import { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\n\n/**\n *`$ strapi templates:generate <directory>`\n */\nconst command: StrapiCommand = () => {\n return createCommand('templates:generate <directory>')\n .description('(deprecated) Generate template from Strapi project')\n .action(() => {\n console.warn('This command is deprecated and will be removed in the next major release.');\n console.warn('You can now copy an existing app and use it as a template.');\n });\n};\n\nexport { command };\n"],"names":["command","createCommand","description","action","console","warn"],"mappings":";;AAIA;;AAEC,UACKA,OAAAA,GAAyB,IAAA;AAC7B,IAAA,OAAOC,cAAc,gCAAA,CAAA,CAClBC,WAAW,CAAC,oDAAA,CAAA,CACZC,MAAM,CAAC,IAAA;AACNC,QAAAA,OAAAA,CAAQC,IAAI,CAAC,2EAAA,CAAA;AACbD,QAAAA,OAAAA,CAAQC,IAAI,CAAC,4DAAA,CAAA;AACf,IAAA,CAAA,CAAA;AACJ;;;;"}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var fp = require('lodash/fp');
4
- var dataTransfer$1 = require('@strapi/data-transfer');
5
- var dataTransfer = require('../../utils/data-transfer.js');
4
+ var dataTransfer = require('@strapi/data-transfer');
5
+ var dataTransfer$1 = require('../../utils/data-transfer.js');
6
6
  var helpers = require('../../utils/helpers.js');
7
7
 
8
- const { createTransferEngine } = dataTransfer$1.engine;
9
- const { providers: { createRemoteStrapiDestinationProvider, createLocalStrapiSourceProvider, createLocalStrapiDestinationProvider, createRemoteStrapiSourceProvider } } = dataTransfer$1.strapi;
8
+ const { createTransferEngine } = dataTransfer.engine;
9
+ const { providers: { createRemoteStrapiDestinationProvider, createLocalStrapiSourceProvider, createLocalStrapiDestinationProvider, createRemoteStrapiSourceProvider } } = dataTransfer.strapi;
10
10
  /**
11
11
  * Transfer command.
12
12
  *
@@ -19,7 +19,7 @@ const { providers: { createRemoteStrapiDestinationProvider, createLocalStrapiSou
19
19
  if (!(opts.from || opts.to) || opts.from && opts.to) {
20
20
  helpers.exitWith(1, 'Exactly one source (from) or destination (to) option must be provided');
21
21
  }
22
- const strapi = await dataTransfer.createStrapiInstance();
22
+ const strapi = await dataTransfer$1.createStrapiInstance();
23
23
  let source;
24
24
  let destination;
25
25
  // if no URL provided, use local Strapi
@@ -45,7 +45,7 @@ const { providers: { createRemoteStrapiDestinationProvider, createLocalStrapiSou
45
45
  destination = createLocalStrapiDestinationProvider({
46
46
  getStrapi: ()=>strapi,
47
47
  strategy: 'restore',
48
- restore: dataTransfer.parseRestoreFromOptions(opts)
48
+ restore: dataTransfer$1.parseRestoreFromOptions(opts)
49
49
  });
50
50
  } else {
51
51
  if (!opts.toToken) {
@@ -58,7 +58,7 @@ const { providers: { createRemoteStrapiDestinationProvider, createLocalStrapiSou
58
58
  token: opts.toToken
59
59
  },
60
60
  strategy: 'restore',
61
- restore: dataTransfer.parseRestoreFromOptions(opts)
61
+ restore: dataTransfer$1.parseRestoreFromOptions(opts)
62
62
  });
63
63
  }
64
64
  if (!source || !destination) {
@@ -74,27 +74,27 @@ const { providers: { createRemoteStrapiDestinationProvider, createLocalStrapiSou
74
74
  links: [
75
75
  {
76
76
  filter (link) {
77
- return !dataTransfer.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) && !dataTransfer.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type);
77
+ return !dataTransfer$1.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.left.type) && !dataTransfer$1.DEFAULT_IGNORED_CONTENT_TYPES.includes(link.right.type);
78
78
  }
79
79
  }
80
80
  ],
81
81
  entities: [
82
82
  {
83
83
  filter (entity) {
84
- return !dataTransfer.DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);
84
+ return !dataTransfer$1.DEFAULT_IGNORED_CONTENT_TYPES.includes(entity.type);
85
85
  }
86
86
  }
87
87
  ]
88
88
  }
89
89
  });
90
- engine.diagnostics.onDiagnostic(dataTransfer.formatDiagnostic('transfer', opts.verbose));
90
+ engine.diagnostics.onDiagnostic(dataTransfer$1.formatDiagnostic('transfer', opts.verbose));
91
91
  const progress = engine.progress.stream;
92
- const { updateLoader } = dataTransfer.loadersFactory();
93
- engine.onSchemaDiff(dataTransfer.getDiffHandler(engine, {
92
+ const { updateLoader } = dataTransfer$1.loadersFactory();
93
+ engine.onSchemaDiff(dataTransfer$1.getDiffHandler(engine, {
94
94
  force: opts.force,
95
95
  action: 'transfer'
96
96
  }));
97
- engine.addErrorHandler('ASSETS_DIRECTORY_ERR', dataTransfer.getAssetsBackupHandler(engine, {
97
+ engine.addErrorHandler('ASSETS_DIRECTORY_ERR', dataTransfer$1.getAssetsBackupHandler(engine, {
98
98
  force: opts.force,
99
99
  action: 'transfer'
100
100
  }));
@@ -112,28 +112,28 @@ const { providers: { createRemoteStrapiDestinationProvider, createLocalStrapiSou
112
112
  });
113
113
  progress.on('transfer::start', async ()=>{
114
114
  console.log(`Starting transfer...`);
115
- await strapi.telemetry.send('didDEITSProcessStart', dataTransfer.getTransferTelemetryPayload(engine));
115
+ await strapi.telemetry.send('didDEITSProcessStart', dataTransfer$1.getTransferTelemetryPayload(engine));
116
116
  });
117
117
  let results;
118
118
  try {
119
119
  // Abort transfer if user interrupts process
120
- dataTransfer.setSignalHandler(()=>dataTransfer.abortTransfer({
120
+ dataTransfer$1.setSignalHandler(()=>dataTransfer$1.abortTransfer({
121
121
  engine,
122
122
  strapi
123
123
  }));
124
124
  results = await engine.transfer();
125
125
  // Note: we need to await telemetry or else the process ends before it is sent
126
- await strapi.telemetry.send('didDEITSProcessFinish', dataTransfer.getTransferTelemetryPayload(engine));
126
+ await strapi.telemetry.send('didDEITSProcessFinish', dataTransfer$1.getTransferTelemetryPayload(engine));
127
127
  try {
128
- const table = dataTransfer.buildTransferTable(results.engine);
128
+ const table = dataTransfer$1.buildTransferTable(results.engine);
129
129
  console.log(table?.toString());
130
130
  } catch (e) {
131
131
  console.error('There was an error displaying the results of the transfer.');
132
132
  }
133
- helpers.exitWith(0, dataTransfer.exitMessageText('transfer'));
133
+ helpers.exitWith(0, dataTransfer$1.exitMessageText('transfer'));
134
134
  } catch (e) {
135
- await strapi.telemetry.send('didDEITSProcessFail', dataTransfer.getTransferTelemetryPayload(engine));
136
- helpers.exitWith(1, dataTransfer.exitMessageText('transfer', true));
135
+ await strapi.telemetry.send('didDEITSProcessFail', dataTransfer$1.getTransferTelemetryPayload(engine));
136
+ helpers.exitWith(1, dataTransfer$1.exitMessageText('transfer', true));
137
137
  }
138
138
  });
139
139
 
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/transfer/action.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { engine as engineDataTransfer, strapi as strapiDataTransfer } from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n createStrapiInstance,\n DEFAULT_IGNORED_CONTENT_TYPES,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n getAssetsBackupHandler,\n parseRestoreFromOptions,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst { createTransferEngine } = engineDataTransfer;\nconst {\n providers: {\n createRemoteStrapiDestinationProvider,\n createLocalStrapiSourceProvider,\n createLocalStrapiDestinationProvider,\n createRemoteStrapiSourceProvider,\n },\n} = strapiDataTransfer;\n\ninterface CmdOptions {\n from?: URL;\n fromToken: string;\n to: URL;\n toToken: string;\n verbose?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n force?: boolean;\n}\n/**\n * Transfer command.\n *\n * Transfers data between local Strapi and remote Strapi instances\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 if (!(opts.from || opts.to) || (opts.from && opts.to)) {\n exitWith(1, 'Exactly one source (from) or destination (to) option must be provided');\n }\n\n const strapi = await createStrapiInstance();\n let source;\n let destination;\n\n // if no URL provided, use local Strapi\n if (!opts.from) {\n source = createLocalStrapiSourceProvider({\n getStrapi: () => strapi,\n });\n }\n // if URL provided, set up a remote source provider\n else {\n if (!opts.fromToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n source = createRemoteStrapiSourceProvider({\n getStrapi: () => strapi,\n url: opts.from,\n auth: {\n type: 'token',\n token: opts.fromToken,\n },\n });\n }\n\n // if no URL provided, use local Strapi\n if (!opts.to) {\n destination = createLocalStrapiDestinationProvider({\n getStrapi: () => strapi,\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n // if URL provided, set up a remote destination provider\n else {\n if (!opts.toToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n destination = createRemoteStrapiDestinationProvider({\n url: opts.to,\n auth: {\n type: 'token',\n token: opts.toToken,\n },\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n\n if (!source || !destination) {\n exitWith(1, 'Could not create providers');\n }\n\n const engine = createTransferEngine(source, destination, {\n versionStrategy: 'exact',\n schemaStrategy: 'strict',\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('transfer', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'transfer' }));\n\n engine.addErrorHandler(\n 'ASSETS_DIRECTORY_ERR',\n getAssetsBackupHandler(engine, { force: opts.force, action: 'transfer' })\n );\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('stage::error', ({ stage, data }) => {\n updateLoader(stage, data).fail();\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting transfer...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: Awaited<ReturnType<typeof engine.transfer>>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\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 exitWith(0, exitMessageText('transfer'));\n } catch (e) {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('transfer', true));\n }\n};\n"],"names":["createTransferEngine","engineDataTransfer","providers","createRemoteStrapiDestinationProvider","createLocalStrapiSourceProvider","createLocalStrapiDestinationProvider","createRemoteStrapiSourceProvider","strapiDataTransfer","opts","isObject","exitWith","from","to","strapi","createStrapiInstance","source","destination","getStrapi","fromToken","url","auth","type","token","strategy","restore","parseRestoreFromOptions","toToken","engine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","addErrorHandler","getAssetsBackupHandler","on","stage","data","start","succeed","fail","console","log","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","transfer","table","buildTransferTable","toString","e","error","exitMessageText"],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/transfer/action.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { engine as engineDataTransfer, strapi as strapiDataTransfer } from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n createStrapiInstance,\n DEFAULT_IGNORED_CONTENT_TYPES,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n getAssetsBackupHandler,\n parseRestoreFromOptions,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst { createTransferEngine } = engineDataTransfer;\nconst {\n providers: {\n createRemoteStrapiDestinationProvider,\n createLocalStrapiSourceProvider,\n createLocalStrapiDestinationProvider,\n createRemoteStrapiSourceProvider,\n },\n} = strapiDataTransfer;\n\ninterface CmdOptions {\n from?: URL;\n fromToken: string;\n to: URL;\n toToken: string;\n verbose?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n force?: boolean;\n}\n/**\n * Transfer command.\n *\n * Transfers data between local Strapi and remote Strapi instances\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 if (!(opts.from || opts.to) || (opts.from && opts.to)) {\n exitWith(1, 'Exactly one source (from) or destination (to) option must be provided');\n }\n\n const strapi = await createStrapiInstance();\n let source;\n let destination;\n\n // if no URL provided, use local Strapi\n if (!opts.from) {\n source = createLocalStrapiSourceProvider({\n getStrapi: () => strapi,\n });\n }\n // if URL provided, set up a remote source provider\n else {\n if (!opts.fromToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n source = createRemoteStrapiSourceProvider({\n getStrapi: () => strapi,\n url: opts.from,\n auth: {\n type: 'token',\n token: opts.fromToken,\n },\n });\n }\n\n // if no URL provided, use local Strapi\n if (!opts.to) {\n destination = createLocalStrapiDestinationProvider({\n getStrapi: () => strapi,\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n // if URL provided, set up a remote destination provider\n else {\n if (!opts.toToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n destination = createRemoteStrapiDestinationProvider({\n url: opts.to,\n auth: {\n type: 'token',\n token: opts.toToken,\n },\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n\n if (!source || !destination) {\n exitWith(1, 'Could not create providers');\n }\n\n const engine = createTransferEngine(source, destination, {\n versionStrategy: 'exact',\n schemaStrategy: 'strict',\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('transfer', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'transfer' }));\n\n engine.addErrorHandler(\n 'ASSETS_DIRECTORY_ERR',\n getAssetsBackupHandler(engine, { force: opts.force, action: 'transfer' })\n );\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('stage::error', ({ stage, data }) => {\n updateLoader(stage, data).fail();\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting transfer...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: Awaited<ReturnType<typeof engine.transfer>>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\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 exitWith(0, exitMessageText('transfer'));\n } catch (e) {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('transfer', true));\n }\n};\n"],"names":["createTransferEngine","engineDataTransfer","providers","createRemoteStrapiDestinationProvider","createLocalStrapiSourceProvider","createLocalStrapiDestinationProvider","createRemoteStrapiSourceProvider","strapiDataTransfer","opts","isObject","exitWith","from","to","strapi","createStrapiInstance","source","destination","getStrapi","fromToken","url","auth","type","token","strategy","restore","parseRestoreFromOptions","toToken","engine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","addErrorHandler","getAssetsBackupHandler","on","stage","data","start","succeed","fail","console","log","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","transfer","table","buildTransferTable","toString","e","error","exitMessageText"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/transfer/action.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { engine as engineDataTransfer, strapi as strapiDataTransfer } from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n createStrapiInstance,\n DEFAULT_IGNORED_CONTENT_TYPES,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n getAssetsBackupHandler,\n parseRestoreFromOptions,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst { createTransferEngine } = engineDataTransfer;\nconst {\n providers: {\n createRemoteStrapiDestinationProvider,\n createLocalStrapiSourceProvider,\n createLocalStrapiDestinationProvider,\n createRemoteStrapiSourceProvider,\n },\n} = strapiDataTransfer;\n\ninterface CmdOptions {\n from?: URL;\n fromToken: string;\n to: URL;\n toToken: string;\n verbose?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n force?: boolean;\n}\n/**\n * Transfer command.\n *\n * Transfers data between local Strapi and remote Strapi instances\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 if (!(opts.from || opts.to) || (opts.from && opts.to)) {\n exitWith(1, 'Exactly one source (from) or destination (to) option must be provided');\n }\n\n const strapi = await createStrapiInstance();\n let source;\n let destination;\n\n // if no URL provided, use local Strapi\n if (!opts.from) {\n source = createLocalStrapiSourceProvider({\n getStrapi: () => strapi,\n });\n }\n // if URL provided, set up a remote source provider\n else {\n if (!opts.fromToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n source = createRemoteStrapiSourceProvider({\n getStrapi: () => strapi,\n url: opts.from,\n auth: {\n type: 'token',\n token: opts.fromToken,\n },\n });\n }\n\n // if no URL provided, use local Strapi\n if (!opts.to) {\n destination = createLocalStrapiDestinationProvider({\n getStrapi: () => strapi,\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n // if URL provided, set up a remote destination provider\n else {\n if (!opts.toToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n destination = createRemoteStrapiDestinationProvider({\n url: opts.to,\n auth: {\n type: 'token',\n token: opts.toToken,\n },\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n\n if (!source || !destination) {\n exitWith(1, 'Could not create providers');\n }\n\n const engine = createTransferEngine(source, destination, {\n versionStrategy: 'exact',\n schemaStrategy: 'strict',\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('transfer', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'transfer' }));\n\n engine.addErrorHandler(\n 'ASSETS_DIRECTORY_ERR',\n getAssetsBackupHandler(engine, { force: opts.force, action: 'transfer' })\n );\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('stage::error', ({ stage, data }) => {\n updateLoader(stage, data).fail();\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting transfer...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: Awaited<ReturnType<typeof engine.transfer>>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\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 exitWith(0, exitMessageText('transfer'));\n } catch (e) {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('transfer', true));\n }\n};\n"],"names":["createTransferEngine","engineDataTransfer","providers","createRemoteStrapiDestinationProvider","createLocalStrapiSourceProvider","createLocalStrapiDestinationProvider","createRemoteStrapiSourceProvider","strapiDataTransfer","opts","isObject","exitWith","from","to","strapi","createStrapiInstance","source","destination","getStrapi","fromToken","url","auth","type","token","strategy","restore","parseRestoreFromOptions","toToken","engine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","addErrorHandler","getAssetsBackupHandler","on","stage","data","start","succeed","fail","console","log","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","transfer","table","buildTransferTable","toString","e","error","exitMessageText"],"mappings":"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"}
1
+ {"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/transfer/action.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { engine as engineDataTransfer, strapi as strapiDataTransfer } from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n createStrapiInstance,\n DEFAULT_IGNORED_CONTENT_TYPES,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n getAssetsBackupHandler,\n parseRestoreFromOptions,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst { createTransferEngine } = engineDataTransfer;\nconst {\n providers: {\n createRemoteStrapiDestinationProvider,\n createLocalStrapiSourceProvider,\n createLocalStrapiDestinationProvider,\n createRemoteStrapiSourceProvider,\n },\n} = strapiDataTransfer;\n\ninterface CmdOptions {\n from?: URL;\n fromToken: string;\n to: URL;\n toToken: string;\n verbose?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n force?: boolean;\n}\n/**\n * Transfer command.\n *\n * Transfers data between local Strapi and remote Strapi instances\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 if (!(opts.from || opts.to) || (opts.from && opts.to)) {\n exitWith(1, 'Exactly one source (from) or destination (to) option must be provided');\n }\n\n const strapi = await createStrapiInstance();\n let source;\n let destination;\n\n // if no URL provided, use local Strapi\n if (!opts.from) {\n source = createLocalStrapiSourceProvider({\n getStrapi: () => strapi,\n });\n }\n // if URL provided, set up a remote source provider\n else {\n if (!opts.fromToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n source = createRemoteStrapiSourceProvider({\n getStrapi: () => strapi,\n url: opts.from,\n auth: {\n type: 'token',\n token: opts.fromToken,\n },\n });\n }\n\n // if no URL provided, use local Strapi\n if (!opts.to) {\n destination = createLocalStrapiDestinationProvider({\n getStrapi: () => strapi,\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n // if URL provided, set up a remote destination provider\n else {\n if (!opts.toToken) {\n exitWith(1, 'Missing token for remote destination');\n }\n\n destination = createRemoteStrapiDestinationProvider({\n url: opts.to,\n auth: {\n type: 'token',\n token: opts.toToken,\n },\n strategy: 'restore',\n restore: parseRestoreFromOptions(opts),\n });\n }\n\n if (!source || !destination) {\n exitWith(1, 'Could not create providers');\n }\n\n const engine = createTransferEngine(source, destination, {\n versionStrategy: 'exact',\n schemaStrategy: 'strict',\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('transfer', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'transfer' }));\n\n engine.addErrorHandler(\n 'ASSETS_DIRECTORY_ERR',\n getAssetsBackupHandler(engine, { force: opts.force, action: 'transfer' })\n );\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('stage::error', ({ stage, data }) => {\n updateLoader(stage, data).fail();\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting transfer...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: Awaited<ReturnType<typeof engine.transfer>>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\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 exitWith(0, exitMessageText('transfer'));\n } catch (e) {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('transfer', true));\n }\n};\n"],"names":["createTransferEngine","engineDataTransfer","providers","createRemoteStrapiDestinationProvider","createLocalStrapiSourceProvider","createLocalStrapiDestinationProvider","createRemoteStrapiSourceProvider","strapiDataTransfer","opts","isObject","exitWith","from","to","strapi","createStrapiInstance","source","destination","getStrapi","fromToken","url","auth","type","token","strategy","restore","parseRestoreFromOptions","toToken","engine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","DEFAULT_IGNORED_CONTENT_TYPES","includes","left","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","addErrorHandler","getAssetsBackupHandler","on","stage","data","start","succeed","fail","console","log","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","transfer","table","buildTransferTable","toString","e","error","exitMessageText"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/cli/commands/transfer/command.ts"],"sourcesContent":["import inquirer from 'inquirer';\nimport { createCommand, Option } from 'commander';\nimport { getCommanderConfirmMessage, forceOption, parseURL } from '../../utils/commander';\nimport { exitWith, assertUrlHasProtocol, ifOptions } from '../../utils/helpers';\nimport {\n excludeOption,\n onlyOption,\n throttleOption,\n validateExcludeOnly,\n} from '../../utils/data-transfer';\n\nimport action from './action';\n\n/**\n * `$ strapi transfer`\n */\nconst command = () => {\n return (\n createCommand('transfer')\n .description('Transfer data from one source to another')\n .allowExcessArguments(false)\n .addOption(\n new Option(\n '--from <sourceURL>',\n `URL of the remote Strapi instance to get data from`\n ).argParser(parseURL)\n )\n .addOption(new Option('--from-token <token>', `Transfer token for the remote Strapi source`))\n .addOption(\n new Option(\n '--to <destinationURL>',\n `URL of the remote Strapi instance to send data to`\n ).argParser(parseURL)\n )\n\n .addOption(\n new Option('--to-token <token>', `Transfer token for the remote Strapi destination`)\n )\n .addOption(new Option('--verbose', 'Enable verbose logs'))\n .addOption(forceOption)\n .addOption(excludeOption)\n .addOption(onlyOption)\n .addOption(throttleOption)\n .hook('preAction', validateExcludeOnly)\n .hook(\n 'preAction',\n ifOptions(\n async (opts) =>\n (opts.from && opts.to) || (opts.from && opts.toToken) || (opts.to && opts.fromToken),\n async () =>\n exitWith(1, 'Only one remote source (from) or destination (to) option may be provided')\n )\n )\n .hook(\n 'preAction',\n ifOptions(\n // Only run interactive prompts if neither --from nor --to is provided\n async (opts) => !opts.from && !opts.to,\n async (thisCommand) => {\n const opts = thisCommand.opts();\n const hasEnvUrl = process.env.STRAPI_TRANSFER_URL;\n const hasEnvToken = process.env.STRAPI_TRANSFER_TOKEN;\n\n const logDocumentation = () => {\n console.info(\n 'ℹ️ Data transfer documentation: https://docs.strapi.io/dev-docs/data-management/transfer'\n );\n };\n\n const logEnvironmentVariables = () => {\n if (!hasEnvUrl && !hasEnvToken) {\n console.info('ℹ️ No transfer configuration found in environment variables');\n console.info(\n ' → Add STRAPI_TRANSFER_URL and STRAPI_TRANSFER_TOKEN environment variables to make the transfer process faster for future runs'\n );\n return;\n }\n\n console.info('ℹ️ Found transfer configuration in your environment:');\n\n if (hasEnvUrl) {\n console.info(\n ` → Environment STRAPI_TRANSFER_URL (${hasEnvUrl}) will be used as the transfer URL`\n );\n }\n\n if (hasEnvToken) {\n console.info(\n ' → Environment STRAPI_TRANSFER_TOKEN value will be used as the transfer token'\n );\n }\n\n console.info(); // Empty line for better readability\n };\n\n const determineDirection = async () => {\n // If user has not provided a direction from CLI, log the documentation\n if (!opts.from && !opts.to) {\n logDocumentation();\n }\n\n logEnvironmentVariables();\n\n if (opts.from) {\n return 'from';\n }\n if (opts.to) {\n return 'to';\n }\n\n const { dir } = await inquirer.prompt([\n {\n type: 'list',\n name: 'dir',\n message: 'Choose transfer direction:',\n choices: [\n { name: 'Pull data from remote Strapi to local', value: 'from' },\n { name: 'Push local data to remote Strapi', value: 'to' },\n ],\n },\n ]);\n\n return dir;\n };\n\n const determineUrl = async (direction: 'from' | 'to') => {\n if (opts[direction]) {\n return new URL(opts[direction]);\n }\n\n if (process.env.STRAPI_TRANSFER_URL) {\n return new URL(process.env.STRAPI_TRANSFER_URL);\n }\n\n const answer = await inquirer.prompt([\n {\n type: 'input',\n name: 'remoteUrl',\n message: `Enter the URL of the remote Strapi instance to ${direction === 'from' ? 'get data from' : 'send data to'}:`,\n default: process.env.STRAPI_TRANSFER_URL,\n validate(input: string) {\n try {\n const url = new URL(input);\n if (!['http:', 'https:'].includes(url.protocol)) {\n return 'URL must use http: or https: protocol';\n }\n return true;\n } catch (error) {\n return 'Please enter a valid URL (e.g., http://localhost:1337/admin or https://example.com/admin)';\n }\n },\n },\n ]);\n\n return new URL(answer.remoteUrl);\n };\n\n const determineToken = async (direction: 'from' | 'to') => {\n if (opts[`${direction}Token`]) {\n return opts[`${direction}Token`];\n }\n\n if (process.env.STRAPI_TRANSFER_TOKEN) {\n return process.env.STRAPI_TRANSFER_TOKEN;\n }\n\n const answer = await inquirer.prompt([\n {\n type: 'password',\n name: 'token',\n message: `Enter the transfer token for the remote Strapi ${direction === 'from' ? 'source' : 'destination'}:`,\n default: process.env.STRAPI_TRANSFER_TOKEN,\n validate(input: string) {\n if (!input?.length) {\n return 'Transfer token is required';\n }\n return true;\n },\n },\n ]);\n\n return answer.token;\n };\n\n const direction = await determineDirection();\n opts[direction] = await determineUrl(direction);\n opts[`${direction}Token`] = await determineToken(direction);\n }\n )\n )\n // If --from is used, validate the URL and token\n .hook(\n 'preAction',\n ifOptions(\n async (opts) => opts.from,\n async (thisCommand) => {\n assertUrlHasProtocol(thisCommand.opts().from, ['https:', 'http:']);\n if (!thisCommand.opts().fromToken) {\n const answers = await inquirer.prompt([\n {\n type: 'password',\n message: 'Please enter your transfer token for the remote Strapi source',\n name: 'fromToken',\n },\n ]);\n if (!answers.fromToken?.length) {\n exitWith(1, 'No token provided for remote source, aborting transfer.');\n }\n thisCommand.opts().fromToken = answers.fromToken;\n }\n\n await getCommanderConfirmMessage(\n 'The transfer will delete all the local Strapi assets and its database. Are you sure you want to proceed?',\n { failMessage: 'Transfer process aborted' }\n )(thisCommand);\n }\n )\n )\n // If --to is used, validate the URL, token, and confirm restore\n .hook(\n 'preAction',\n ifOptions(\n async (opts) => opts.to,\n async (thisCommand) => {\n assertUrlHasProtocol(thisCommand.opts().to, ['https:', 'http:']);\n if (!thisCommand.opts().toToken) {\n const answers = await inquirer.prompt([\n {\n type: 'password',\n message: 'Please enter your transfer token for the remote Strapi destination',\n name: 'toToken',\n },\n ]);\n if (!answers.toToken?.length) {\n exitWith(1, 'No token provided for remote destination, aborting transfer.');\n }\n thisCommand.opts().toToken = answers.toToken;\n }\n\n await getCommanderConfirmMessage(\n 'The transfer will delete existing data from the remote Strapi! Are you sure you want to proceed?',\n { failMessage: 'Transfer process aborted' }\n )(thisCommand);\n }\n )\n )\n .action(action)\n );\n};\n\nexport default command;\n"],"names":["command","createCommand","description","allowExcessArguments","addOption","Option","argParser","parseURL","forceOption","excludeOption","onlyOption","throttleOption","hook","validateExcludeOnly","ifOptions","opts","from","to","toToken","fromToken","exitWith","thisCommand","hasEnvUrl","process","env","STRAPI_TRANSFER_URL","hasEnvToken","STRAPI_TRANSFER_TOKEN","logDocumentation","console","info","logEnvironmentVariables","determineDirection","dir","inquirer","prompt","type","name","message","choices","value","determineUrl","direction","URL","answer","default","validate","input","url","includes","protocol","error","remoteUrl","determineToken","length","token","assertUrlHasProtocol","answers","getCommanderConfirmMessage","failMessage","action"],"mappings":";;;;;;;;;AAaA;;AAEC,UACKA,OAAU,GAAA,IAAA;IACd,OACEC,uBAAAA,CAAc,YACXC,WAAW,CAAC,4CACZC,oBAAoB,CAAC,KACrBC,CAAAA,CAAAA,SAAS,CACR,IAAIC,iBACF,oBACA,EAAA,CAAC,kDAAkD,CAAC,CACpDC,CAAAA,SAAS,CAACC,oBAEbH,CAAAA,CAAAA,CAAAA,SAAS,CAAC,IAAIC,gBAAO,CAAA,sBAAA,EAAwB,CAAC,2CAA2C,CAAC,GAC1FD,SAAS,CACR,IAAIC,gBACF,CAAA,uBAAA,EACA,CAAC,iDAAiD,CAAC,CAAA,CACnDC,SAAS,CAACC,oBAAAA,CAAAA,CAAAA,CAGbH,SAAS,CACR,IAAIC,gBAAAA,CAAO,sBAAsB,CAAC,gDAAgD,CAAC,CAAA,CAAA,CAEpFD,SAAS,CAAC,IAAIC,gBAAO,CAAA,WAAA,EAAa,wBAClCD,SAAS,CAACI,yBACVJ,SAAS,CAACK,0BACVL,CAAAA,CAAAA,SAAS,CAACM,uBAAAA,CAAAA,CACVN,SAAS,CAACO,2BAAAA,CAAAA,CACVC,IAAI,CAAC,WAAaC,EAAAA,gCAAAA,CAAAA,CAClBD,IAAI,CACH,WAAA,EACAE,iBACE,CAAA,OAAOC,IACL,GAACA,KAAKC,IAAI,IAAID,IAAKE,CAAAA,EAAE,IAAMF,IAAAA,CAAKC,IAAI,IAAID,IAAAA,CAAKG,OAAO,IAAMH,IAAKE,CAAAA,EAAE,IAAIF,IAAKI,CAAAA,SAAS,EACrF,UACEC,gBAAS,CAAA,CAAA,EAAG,8EAGjBR,IAAI,CACH,WACAE,EAAAA,iBAAAA;IAEE,OAAOC,IAAAA,GAAS,CAACA,IAAKC,CAAAA,IAAI,IAAI,CAACD,IAAAA,CAAKE,EAAE,EACtC,OAAOI,WAAAA,GAAAA;QACL,MAAMN,IAAAA,GAAOM,YAAYN,IAAI,EAAA;AAC7B,QAAA,MAAMO,SAAYC,GAAAA,OAAAA,CAAQC,GAAG,CAACC,mBAAmB;AACjD,QAAA,MAAMC,WAAcH,GAAAA,OAAAA,CAAQC,GAAG,CAACG,qBAAqB;AAErD,QAAA,MAAMC,gBAAmB,GAAA,IAAA;AACvBC,YAAAA,OAAAA,CAAQC,IAAI,CACV,2FAAA,CAAA;AAEJ,SAAA;AAEA,QAAA,MAAMC,uBAA0B,GAAA,IAAA;YAC9B,IAAI,CAACT,SAAa,IAAA,CAACI,WAAa,EAAA;AAC9BG,gBAAAA,OAAAA,CAAQC,IAAI,CAAC,8DAAA,CAAA;AACbD,gBAAAA,OAAAA,CAAQC,IAAI,CACV,kIAAA,CAAA;AAEF,gBAAA;AACF;AAEAD,YAAAA,OAAAA,CAAQC,IAAI,CAAC,uDAAA,CAAA;AAEb,YAAA,IAAIR,SAAW,EAAA;AACbO,gBAAAA,OAAAA,CAAQC,IAAI,CACV,CAAC,sCAAsC,EAAER,SAAAA,CAAU,kCAAkC,CAAC,CAAA;AAE1F;AAEA,YAAA,IAAII,WAAa,EAAA;AACfG,gBAAAA,OAAAA,CAAQC,IAAI,CACV,iFAAA,CAAA;AAEJ;YAEAD,OAAQC,CAAAA,IAAI;AACd,SAAA;AAEA,QAAA,MAAME,kBAAqB,GAAA,UAAA;;AAEzB,YAAA,IAAI,CAACjB,IAAKC,CAAAA,IAAI,IAAI,CAACD,IAAAA,CAAKE,EAAE,EAAE;AAC1BW,gBAAAA,gBAAAA,EAAAA;AACF;AAEAG,YAAAA,uBAAAA,EAAAA;YAEA,IAAIhB,IAAAA,CAAKC,IAAI,EAAE;gBACb,OAAO,MAAA;AACT;YACA,IAAID,IAAAA,CAAKE,EAAE,EAAE;gBACX,OAAO,IAAA;AACT;AAEA,YAAA,MAAM,EAAEgB,GAAG,EAAE,GAAG,MAAMC,QAAAA,CAASC,MAAM,CAAC;AACpC,gBAAA;oBACEC,IAAM,EAAA,MAAA;oBACNC,IAAM,EAAA,KAAA;oBACNC,OAAS,EAAA,4BAAA;oBACTC,OAAS,EAAA;AACP,wBAAA;4BAAEF,IAAM,EAAA,uCAAA;4BAAyCG,KAAO,EAAA;AAAO,yBAAA;AAC/D,wBAAA;4BAAEH,IAAM,EAAA,kCAAA;4BAAoCG,KAAO,EAAA;AAAK;AACzD;AACH;AACD,aAAA,CAAA;YAED,OAAOP,GAAAA;AACT,SAAA;AAEA,QAAA,MAAMQ,eAAe,OAAOC,SAAAA,GAAAA;YAC1B,IAAI3B,IAAI,CAAC2B,SAAAA,CAAU,EAAE;AACnB,gBAAA,OAAO,IAAIC,GAAAA,CAAI5B,IAAI,CAAC2B,SAAU,CAAA,CAAA;AAChC;AAEA,YAAA,IAAInB,OAAQC,CAAAA,GAAG,CAACC,mBAAmB,EAAE;AACnC,gBAAA,OAAO,IAAIkB,GAAAA,CAAIpB,OAAQC,CAAAA,GAAG,CAACC,mBAAmB,CAAA;AAChD;AAEA,YAAA,MAAMmB,MAAS,GAAA,MAAMV,QAASC,CAAAA,MAAM,CAAC;AACnC,gBAAA;oBACEC,IAAM,EAAA,OAAA;oBACNC,IAAM,EAAA,WAAA;oBACNC,OAAS,EAAA,CAAC,+CAA+C,EAAEI,SAAAA,KAAc,SAAS,eAAkB,GAAA,cAAA,CAAe,CAAC,CAAC;oBACrHG,OAAStB,EAAAA,OAAAA,CAAQC,GAAG,CAACC,mBAAmB;AACxCqB,oBAAAA,QAAAA,CAAAA,CAASC,KAAa,EAAA;wBACpB,IAAI;4BACF,MAAMC,GAAAA,GAAM,IAAIL,GAAII,CAAAA,KAAAA,CAAAA;AACpB,4BAAA,IAAI,CAAC;AAAC,gCAAA,OAAA;AAAS,gCAAA;AAAS,6BAAA,CAACE,QAAQ,CAACD,GAAIE,CAAAA,QAAQ,CAAG,EAAA;gCAC/C,OAAO,uCAAA;AACT;4BACA,OAAO,IAAA;AACT,yBAAA,CAAE,OAAOC,KAAO,EAAA;4BACd,OAAO,2FAAA;AACT;AACF;AACF;AACD,aAAA,CAAA;YAED,OAAO,IAAIR,GAAIC,CAAAA,MAAAA,CAAOQ,SAAS,CAAA;AACjC,SAAA;AAEA,QAAA,MAAMC,iBAAiB,OAAOX,SAAAA,GAAAA;AAC5B,YAAA,IAAI3B,IAAI,CAAC,CAAA,EAAG2B,UAAU,KAAK,CAAC,CAAC,EAAE;AAC7B,gBAAA,OAAO3B,IAAI,CAAC,CAAA,EAAG2B,SAAU,CAAA,KAAK,CAAC,CAAC;AAClC;AAEA,YAAA,IAAInB,OAAQC,CAAAA,GAAG,CAACG,qBAAqB,EAAE;gBACrC,OAAOJ,OAAAA,CAAQC,GAAG,CAACG,qBAAqB;AAC1C;AAEA,YAAA,MAAMiB,MAAS,GAAA,MAAMV,QAASC,CAAAA,MAAM,CAAC;AACnC,gBAAA;oBACEC,IAAM,EAAA,UAAA;oBACNC,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,CAAC,+CAA+C,EAAEI,SAAAA,KAAc,SAAS,QAAW,GAAA,aAAA,CAAc,CAAC,CAAC;oBAC7GG,OAAStB,EAAAA,OAAAA,CAAQC,GAAG,CAACG,qBAAqB;AAC1CmB,oBAAAA,QAAAA,CAAAA,CAASC,KAAa,EAAA;wBACpB,IAAI,CAACA,OAAOO,MAAQ,EAAA;4BAClB,OAAO,4BAAA;AACT;wBACA,OAAO,IAAA;AACT;AACF;AACD,aAAA,CAAA;AAED,YAAA,OAAOV,OAAOW,KAAK;AACrB,SAAA;AAEA,QAAA,MAAMb,YAAY,MAAMV,kBAAAA,EAAAA;AACxBjB,QAAAA,IAAI,CAAC2B,SAAAA,CAAU,GAAG,MAAMD,YAAaC,CAAAA,SAAAA,CAAAA;QACrC3B,IAAI,CAAC,GAAG2B,SAAU,CAAA,KAAK,CAAC,CAAC,GAAG,MAAMW,cAAeX,CAAAA,SAAAA,CAAAA;AACnD,KAAA,CAAA,CAGJ;KACC9B,IAAI,CACH,aACAE,iBACE,CAAA,OAAOC,OAASA,IAAKC,CAAAA,IAAI,EACzB,OAAOK,WAAAA,GAAAA;AACLmC,QAAAA,4BAAAA,CAAqBnC,WAAYN,CAAAA,IAAI,EAAGC,CAAAA,IAAI,EAAE;AAAC,YAAA,QAAA;AAAU,YAAA;AAAQ,SAAA,CAAA;AACjE,QAAA,IAAI,CAACK,WAAAA,CAAYN,IAAI,EAAA,CAAGI,SAAS,EAAE;AACjC,YAAA,MAAMsC,OAAU,GAAA,MAAMvB,QAASC,CAAAA,MAAM,CAAC;AACpC,gBAAA;oBACEC,IAAM,EAAA,UAAA;oBACNE,OAAS,EAAA,+DAAA;oBACTD,IAAM,EAAA;AACR;AACD,aAAA,CAAA;AACD,YAAA,IAAI,CAACoB,OAAAA,CAAQtC,SAAS,EAAEmC,MAAQ,EAAA;AAC9BlC,gBAAAA,gBAAAA,CAAS,CAAG,EAAA,yDAAA,CAAA;AACd;AACAC,YAAAA,WAAAA,CAAYN,IAAI,EAAA,CAAGI,SAAS,GAAGsC,QAAQtC,SAAS;AAClD;AAEA,QAAA,MAAMuC,uCACJ,0GACA,EAAA;YAAEC,WAAa,EAAA;SACftC,CAAAA,CAAAA,WAAAA,CAAAA;AACJ,KAAA,CAAA,CAGJ;KACCT,IAAI,CACH,aACAE,iBACE,CAAA,OAAOC,OAASA,IAAKE,CAAAA,EAAE,EACvB,OAAOI,WAAAA,GAAAA;AACLmC,QAAAA,4BAAAA,CAAqBnC,WAAYN,CAAAA,IAAI,EAAGE,CAAAA,EAAE,EAAE;AAAC,YAAA,QAAA;AAAU,YAAA;AAAQ,SAAA,CAAA;AAC/D,QAAA,IAAI,CAACI,WAAAA,CAAYN,IAAI,EAAA,CAAGG,OAAO,EAAE;AAC/B,YAAA,MAAMuC,OAAU,GAAA,MAAMvB,QAASC,CAAAA,MAAM,CAAC;AACpC,gBAAA;oBACEC,IAAM,EAAA,UAAA;oBACNE,OAAS,EAAA,oEAAA;oBACTD,IAAM,EAAA;AACR;AACD,aAAA,CAAA;AACD,YAAA,IAAI,CAACoB,OAAAA,CAAQvC,OAAO,EAAEoC,MAAQ,EAAA;AAC5BlC,gBAAAA,gBAAAA,CAAS,CAAG,EAAA,8DAAA,CAAA;AACd;AACAC,YAAAA,WAAAA,CAAYN,IAAI,EAAA,CAAGG,OAAO,GAAGuC,QAAQvC,OAAO;AAC9C;AAEA,QAAA,MAAMwC,uCACJ,kGACA,EAAA;YAAEC,WAAa,EAAA;SACftC,CAAAA,CAAAA,WAAAA,CAAAA;AACJ,KAAA,CAAA,CAAA,CAGHuC,MAAM,CAACA,MAAAA,CAAAA;AAEd;;;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/cli/commands/transfer/command.ts"],"sourcesContent":["import inquirer from 'inquirer';\nimport { createCommand, Option } from 'commander';\nimport { getCommanderConfirmMessage, forceOption, parseURL } from '../../utils/commander';\nimport { exitWith, assertUrlHasProtocol, ifOptions } from '../../utils/helpers';\nimport {\n excludeOption,\n onlyOption,\n throttleOption,\n validateExcludeOnly,\n} from '../../utils/data-transfer';\n\nimport action from './action';\n\n/**\n * `$ strapi transfer`\n */\nconst command = () => {\n return (\n createCommand('transfer')\n .description('Transfer data from one source to another')\n .allowExcessArguments(false)\n .addOption(\n new Option(\n '--from <sourceURL>',\n `URL of the remote Strapi instance to get data from`\n ).argParser(parseURL)\n )\n .addOption(new Option('--from-token <token>', `Transfer token for the remote Strapi source`))\n .addOption(\n new Option(\n '--to <destinationURL>',\n `URL of the remote Strapi instance to send data to`\n ).argParser(parseURL)\n )\n\n .addOption(\n new Option('--to-token <token>', `Transfer token for the remote Strapi destination`)\n )\n .addOption(new Option('--verbose', 'Enable verbose logs'))\n .addOption(forceOption)\n .addOption(excludeOption)\n .addOption(onlyOption)\n .addOption(throttleOption)\n .hook('preAction', validateExcludeOnly)\n .hook(\n 'preAction',\n ifOptions(\n async (opts) =>\n (opts.from && opts.to) || (opts.from && opts.toToken) || (opts.to && opts.fromToken),\n async () =>\n exitWith(1, 'Only one remote source (from) or destination (to) option may be provided')\n )\n )\n .hook(\n 'preAction',\n ifOptions(\n // Only run interactive prompts if neither --from nor --to is provided\n async (opts) => !opts.from && !opts.to,\n async (thisCommand) => {\n const opts = thisCommand.opts();\n const hasEnvUrl = process.env.STRAPI_TRANSFER_URL;\n const hasEnvToken = process.env.STRAPI_TRANSFER_TOKEN;\n\n const logDocumentation = () => {\n console.info(\n 'ℹ️ Data transfer documentation: https://docs.strapi.io/dev-docs/data-management/transfer'\n );\n };\n\n const logEnvironmentVariables = () => {\n if (!hasEnvUrl && !hasEnvToken) {\n console.info('ℹ️ No transfer configuration found in environment variables');\n console.info(\n ' → Add STRAPI_TRANSFER_URL and STRAPI_TRANSFER_TOKEN environment variables to make the transfer process faster for future runs'\n );\n return;\n }\n\n console.info('ℹ️ Found transfer configuration in your environment:');\n\n if (hasEnvUrl) {\n console.info(\n ` → Environment STRAPI_TRANSFER_URL (${hasEnvUrl}) will be used as the transfer URL`\n );\n }\n\n if (hasEnvToken) {\n console.info(\n ' → Environment STRAPI_TRANSFER_TOKEN value will be used as the transfer token'\n );\n }\n\n console.info(); // Empty line for better readability\n };\n\n const determineDirection = async () => {\n // If user has not provided a direction from CLI, log the documentation\n if (!opts.from && !opts.to) {\n logDocumentation();\n }\n\n logEnvironmentVariables();\n\n if (opts.from) {\n return 'from';\n }\n if (opts.to) {\n return 'to';\n }\n\n const { dir } = await inquirer.prompt([\n {\n type: 'list',\n name: 'dir',\n message: 'Choose transfer direction:',\n choices: [\n { name: 'Pull data from remote Strapi to local', value: 'from' },\n { name: 'Push local data to remote Strapi', value: 'to' },\n ],\n },\n ]);\n\n return dir;\n };\n\n const determineUrl = async (direction: 'from' | 'to') => {\n if (opts[direction]) {\n return new URL(opts[direction]);\n }\n\n if (process.env.STRAPI_TRANSFER_URL) {\n return new URL(process.env.STRAPI_TRANSFER_URL);\n }\n\n const answer = await inquirer.prompt([\n {\n type: 'input',\n name: 'remoteUrl',\n message: `Enter the URL of the remote Strapi instance to ${direction === 'from' ? 'get data from' : 'send data to'}:`,\n default: process.env.STRAPI_TRANSFER_URL,\n validate(input: string) {\n try {\n const url = new URL(input);\n if (!['http:', 'https:'].includes(url.protocol)) {\n return 'URL must use http: or https: protocol';\n }\n return true;\n } catch (error) {\n return 'Please enter a valid URL (e.g., http://localhost:1337/admin or https://example.com/admin)';\n }\n },\n },\n ]);\n\n return new URL(answer.remoteUrl);\n };\n\n const determineToken = async (direction: 'from' | 'to') => {\n if (opts[`${direction}Token`]) {\n return opts[`${direction}Token`];\n }\n\n if (process.env.STRAPI_TRANSFER_TOKEN) {\n return process.env.STRAPI_TRANSFER_TOKEN;\n }\n\n const answer = await inquirer.prompt([\n {\n type: 'password',\n name: 'token',\n message: `Enter the transfer token for the remote Strapi ${direction === 'from' ? 'source' : 'destination'}:`,\n default: process.env.STRAPI_TRANSFER_TOKEN,\n validate(input: string) {\n if (!input?.length) {\n return 'Transfer token is required';\n }\n return true;\n },\n },\n ]);\n\n return answer.token;\n };\n\n const direction = await determineDirection();\n opts[direction] = await determineUrl(direction);\n opts[`${direction}Token`] = await determineToken(direction);\n }\n )\n )\n // If --from is used, validate the URL and token\n .hook(\n 'preAction',\n ifOptions(\n async (opts) => opts.from,\n async (thisCommand) => {\n assertUrlHasProtocol(thisCommand.opts().from, ['https:', 'http:']);\n if (!thisCommand.opts().fromToken) {\n const answers = await inquirer.prompt([\n {\n type: 'password',\n message: 'Please enter your transfer token for the remote Strapi source',\n name: 'fromToken',\n },\n ]);\n if (!answers.fromToken?.length) {\n exitWith(1, 'No token provided for remote source, aborting transfer.');\n }\n thisCommand.opts().fromToken = answers.fromToken;\n }\n\n await getCommanderConfirmMessage(\n 'The transfer will delete all the local Strapi assets and its database. Are you sure you want to proceed?',\n { failMessage: 'Transfer process aborted' }\n )(thisCommand);\n }\n )\n )\n // If --to is used, validate the URL, token, and confirm restore\n .hook(\n 'preAction',\n ifOptions(\n async (opts) => opts.to,\n async (thisCommand) => {\n assertUrlHasProtocol(thisCommand.opts().to, ['https:', 'http:']);\n if (!thisCommand.opts().toToken) {\n const answers = await inquirer.prompt([\n {\n type: 'password',\n message: 'Please enter your transfer token for the remote Strapi destination',\n name: 'toToken',\n },\n ]);\n if (!answers.toToken?.length) {\n exitWith(1, 'No token provided for remote destination, aborting transfer.');\n }\n thisCommand.opts().toToken = answers.toToken;\n }\n\n await getCommanderConfirmMessage(\n 'The transfer will delete existing data from the remote Strapi! Are you sure you want to proceed?',\n { failMessage: 'Transfer process aborted' }\n )(thisCommand);\n }\n )\n )\n .action(action)\n );\n};\n\nexport default command;\n"],"names":["command","createCommand","description","allowExcessArguments","addOption","Option","argParser","parseURL","forceOption","excludeOption","onlyOption","throttleOption","hook","validateExcludeOnly","ifOptions","opts","from","to","toToken","fromToken","exitWith","thisCommand","hasEnvUrl","process","env","STRAPI_TRANSFER_URL","hasEnvToken","STRAPI_TRANSFER_TOKEN","logDocumentation","console","info","logEnvironmentVariables","determineDirection","dir","inquirer","prompt","type","name","message","choices","value","determineUrl","direction","URL","answer","default","validate","input","url","includes","protocol","error","remoteUrl","determineToken","length","token","assertUrlHasProtocol","answers","getCommanderConfirmMessage","failMessage","action"],"mappings":"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"}