@strapi/strapi 5.48.1 → 5.49.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 (122) hide show
  1. package/dist/admin.js +17 -7
  2. package/dist/admin.js.map +1 -1
  3. package/dist/node/create-build-context.d.ts +0 -4
  4. package/dist/node/create-build-context.d.ts.map +1 -1
  5. package/dist/node/vite/config.d.ts.map +1 -1
  6. package/dist/node/vite/resolve-development-config.test.d.ts +2 -0
  7. package/dist/node/vite/resolve-development-config.test.d.ts.map +1 -0
  8. package/dist/node/vite/watch.d.ts.map +1 -1
  9. package/dist/package.json.js +1 -1
  10. package/dist/package.json.mjs +1 -1
  11. package/dist/src/cli/commands/admin/active-user.js +6 -2
  12. package/dist/src/cli/commands/admin/active-user.js.map +1 -1
  13. package/dist/src/cli/commands/admin/block-user.js +6 -2
  14. package/dist/src/cli/commands/admin/block-user.js.map +1 -1
  15. package/dist/src/cli/commands/admin/create-user.js +5 -1
  16. package/dist/src/cli/commands/admin/create-user.js.map +1 -1
  17. package/dist/src/cli/commands/admin/delete-user.js +6 -2
  18. package/dist/src/cli/commands/admin/delete-user.js.map +1 -1
  19. package/dist/src/cli/commands/admin/list-users.js +16 -11
  20. package/dist/src/cli/commands/admin/list-users.js.map +1 -1
  21. package/dist/src/cli/commands/admin/reset-user-password.js +6 -2
  22. package/dist/src/cli/commands/admin/reset-user-password.js.map +1 -1
  23. package/dist/src/cli/commands/components/list.js +7 -2
  24. package/dist/src/cli/commands/components/list.js.map +1 -1
  25. package/dist/src/cli/commands/configuration/dump.js +5 -1
  26. package/dist/src/cli/commands/configuration/dump.js.map +1 -1
  27. package/dist/src/cli/commands/configuration/restore.js +8 -3
  28. package/dist/src/cli/commands/configuration/restore.js.map +1 -1
  29. package/dist/src/cli/commands/console.js +5 -1
  30. package/dist/src/cli/commands/console.js.map +1 -1
  31. package/dist/src/cli/commands/content-types/list.js +7 -2
  32. package/dist/src/cli/commands/content-types/list.js.map +1 -1
  33. package/dist/src/cli/commands/controllers/list.js +7 -2
  34. package/dist/src/cli/commands/controllers/list.js.map +1 -1
  35. package/dist/src/cli/commands/develop.js +5 -1
  36. package/dist/src/cli/commands/develop.js.map +1 -1
  37. package/dist/src/cli/commands/export/action.js +11 -5
  38. package/dist/src/cli/commands/export/action.js.map +1 -1
  39. package/dist/src/cli/commands/hooks/list.js +7 -2
  40. package/dist/src/cli/commands/hooks/list.js.map +1 -1
  41. package/dist/src/cli/commands/import/action.js +7 -2
  42. package/dist/src/cli/commands/import/action.js.map +1 -1
  43. package/dist/src/cli/commands/import/command.js +6 -2
  44. package/dist/src/cli/commands/import/command.js.map +1 -1
  45. package/dist/src/cli/commands/middlewares/list.js +7 -2
  46. package/dist/src/cli/commands/middlewares/list.js.map +1 -1
  47. package/dist/src/cli/commands/openapi/generate.js +17 -11
  48. package/dist/src/cli/commands/openapi/generate.js.map +1 -1
  49. package/dist/src/cli/commands/policies/list.js +7 -2
  50. package/dist/src/cli/commands/policies/list.js.map +1 -1
  51. package/dist/src/cli/commands/routes/list.js +8 -3
  52. package/dist/src/cli/commands/routes/list.js.map +1 -1
  53. package/dist/src/cli/commands/services/list.js +7 -2
  54. package/dist/src/cli/commands/services/list.js.map +1 -1
  55. package/dist/src/cli/commands/start.js +8 -3
  56. package/dist/src/cli/commands/start.js.map +1 -1
  57. package/dist/src/cli/commands/telemetry/disable.js +14 -9
  58. package/dist/src/cli/commands/telemetry/disable.js.map +1 -1
  59. package/dist/src/cli/commands/telemetry/enable.js +14 -9
  60. package/dist/src/cli/commands/telemetry/enable.js.map +1 -1
  61. package/dist/src/cli/commands/transfer/action.js +5 -1
  62. package/dist/src/cli/commands/transfer/action.js.map +1 -1
  63. package/dist/src/cli/commands/ts/generate-types.js +5 -1
  64. package/dist/src/cli/commands/ts/generate-types.js.map +1 -1
  65. package/dist/src/cli/utils/commander.js +5 -1
  66. package/dist/src/cli/utils/commander.js.map +1 -1
  67. package/dist/src/cli/utils/data-transfer.js +28 -21
  68. package/dist/src/cli/utils/data-transfer.js.map +1 -1
  69. package/dist/src/cli/utils/helpers.js +7 -3
  70. package/dist/src/cli/utils/helpers.js.map +1 -1
  71. package/dist/src/cli/utils/logger.js +15 -10
  72. package/dist/src/cli/utils/logger.js.map +1 -1
  73. package/dist/src/cli/utils/tsconfig.js +9 -4
  74. package/dist/src/cli/utils/tsconfig.js.map +1 -1
  75. package/dist/src/node/build.js +3 -2
  76. package/dist/src/node/build.js.map +1 -1
  77. package/dist/src/node/core/admin-customisations.js +6 -2
  78. package/dist/src/node/core/admin-customisations.js.map +1 -1
  79. package/dist/src/node/core/aliases.js +5 -1
  80. package/dist/src/node/core/aliases.js.map +1 -1
  81. package/dist/src/node/core/config.js +5 -1
  82. package/dist/src/node/core/config.js.map +1 -1
  83. package/dist/src/node/core/dependencies.js +33 -22
  84. package/dist/src/node/core/dependencies.js.map +1 -1
  85. package/dist/src/node/core/ensure-admin-dependencies.js +5 -1
  86. package/dist/src/node/core/ensure-admin-dependencies.js.map +1 -1
  87. package/dist/src/node/core/env.js +7 -2
  88. package/dist/src/node/core/env.js.map +1 -1
  89. package/dist/src/node/core/errors.js +9 -3
  90. package/dist/src/node/core/errors.js.map +1 -1
  91. package/dist/src/node/core/files.js +6 -2
  92. package/dist/src/node/core/files.js.map +1 -1
  93. package/dist/src/node/core/linked-packages.js +5 -1
  94. package/dist/src/node/core/linked-packages.js.map +1 -1
  95. package/dist/src/node/core/monorepo.js +8 -3
  96. package/dist/src/node/core/monorepo.js.map +1 -1
  97. package/dist/src/node/core/plugins.js +17 -10
  98. package/dist/src/node/core/plugins.js.map +1 -1
  99. package/dist/src/node/core/resolve-module.js +8 -3
  100. package/dist/src/node/core/resolve-module.js.map +1 -1
  101. package/dist/src/node/create-build-context.js +16 -9
  102. package/dist/src/node/create-build-context.js.map +1 -1
  103. package/dist/src/node/create-build-context.mjs.map +1 -1
  104. package/dist/src/node/develop.js +14 -8
  105. package/dist/src/node/develop.js.map +1 -1
  106. package/dist/src/node/staticFiles.js +11 -5
  107. package/dist/src/node/staticFiles.js.map +1 -1
  108. package/dist/src/node/vite/config.js +14 -3
  109. package/dist/src/node/vite/config.js.map +1 -1
  110. package/dist/src/node/vite/config.mjs +9 -2
  111. package/dist/src/node/vite/config.mjs.map +1 -1
  112. package/dist/src/node/vite/watch.js +7 -62
  113. package/dist/src/node/vite/watch.js.map +1 -1
  114. package/dist/src/node/vite/watch.mjs +2 -62
  115. package/dist/src/node/vite/watch.mjs.map +1 -1
  116. package/dist/src/node/webpack/build.js +5 -1
  117. package/dist/src/node/webpack/build.js.map +1 -1
  118. package/dist/src/node/webpack/config.js +17 -8
  119. package/dist/src/node/webpack/config.js.map +1 -1
  120. package/dist/src/node/webpack/watch.js +11 -4
  121. package/dist/src/node/webpack/watch.js.map +1 -1
  122. package/package.json +22 -22
package/dist/admin.js CHANGED
@@ -9,17 +9,27 @@ var i18n = require('@strapi/i18n/strapi-admin');
9
9
  var contentReleases = require('@strapi/content-releases/strapi-admin');
10
10
  var reviewWorkflows = require('@strapi/review-workflows/strapi-admin');
11
11
 
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ var contentTypeBuilder__default = /*#__PURE__*/_interopDefault(contentTypeBuilder);
15
+ var contentManager__default = /*#__PURE__*/_interopDefault(contentManager);
16
+ var email__default = /*#__PURE__*/_interopDefault(email);
17
+ var upload__default = /*#__PURE__*/_interopDefault(upload);
18
+ var i18n__default = /*#__PURE__*/_interopDefault(i18n);
19
+ var contentReleases__default = /*#__PURE__*/_interopDefault(contentReleases);
20
+ var reviewWorkflows__default = /*#__PURE__*/_interopDefault(reviewWorkflows);
21
+
12
22
  const render = (mountNode, { plugins, ...restArgs })=>{
13
23
  return strapiAdmin.renderAdmin(mountNode, {
14
24
  ...restArgs,
15
25
  plugins: {
16
- 'content-manager': contentManager,
17
- 'content-type-builder': contentTypeBuilder,
18
- email,
19
- upload,
20
- contentReleases,
21
- i18n,
22
- reviewWorkflows,
26
+ 'content-manager': contentManager__default.default,
27
+ 'content-type-builder': contentTypeBuilder__default.default,
28
+ email: email__default.default,
29
+ upload: upload__default.default,
30
+ contentReleases: contentReleases__default.default,
31
+ i18n: i18n__default.default,
32
+ reviewWorkflows: reviewWorkflows__default.default,
23
33
  ...plugins
24
34
  }
25
35
  });
package/dist/admin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sources":["../src/admin.ts"],"sourcesContent":["import { RenderAdminArgs, renderAdmin } from '@strapi/admin/strapi-admin';\nimport contentTypeBuilder from '@strapi/content-type-builder/strapi-admin';\nimport contentManager from '@strapi/content-manager/strapi-admin';\nimport email from '@strapi/email/strapi-admin';\nimport upload from '@strapi/upload/strapi-admin';\nimport i18n from '@strapi/i18n/strapi-admin';\nimport contentReleases from '@strapi/content-releases/strapi-admin';\nimport reviewWorkflows from '@strapi/review-workflows/strapi-admin';\n\nconst render = (mountNode: HTMLElement | null, { plugins, ...restArgs }: RenderAdminArgs) => {\n return renderAdmin(mountNode, {\n ...restArgs,\n plugins: {\n 'content-manager': contentManager,\n 'content-type-builder': contentTypeBuilder,\n email,\n upload,\n contentReleases,\n i18n,\n reviewWorkflows,\n ...plugins,\n },\n });\n};\n\nexport { render as renderAdmin };\nexport type { RenderAdminArgs };\n\nexport * from '@strapi/admin/strapi-admin';\n\nexport {\n unstable_useDocumentLayout,\n unstable_useDocumentActions,\n unstable_useDocument,\n unstable_useContentManagerContext,\n useDocumentRBAC,\n} from '@strapi/content-manager/strapi-admin';\n\nexport {\n private_useAutoReloadOverlayBlocker,\n private_AutoReloadOverlayBlockerProvider,\n} from '@strapi/content-type-builder/strapi-admin';\n"],"names":["render","mountNode","plugins","restArgs","renderAdmin","contentManager","contentTypeBuilder","email","upload","contentReleases","i18n","reviewWorkflows"],"mappings":";;;;;;;;;;;AASA,MAAMA,SAAS,CAACC,SAAAA,EAA+B,EAAEC,OAAO,EAAE,GAAGC,QAAAA,EAA2B,GAAA;AACtF,IAAA,OAAOC,wBAAYH,SAAAA,EAAW;AAC5B,QAAA,GAAGE,QAAQ;QACXD,OAAAA,EAAS;YACP,iBAAA,EAAmBG,cAAAA;YACnB,sBAAA,EAAwBC,kBAAAA;AACxBC,YAAAA,KAAAA;AACAC,YAAAA,MAAAA;AACAC,YAAAA,eAAAA;AACAC,YAAAA,IAAAA;AACAC,YAAAA,eAAAA;AACA,YAAA,GAAGT;AACL;AACF,KAAA,CAAA;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"admin.js","sources":["../src/admin.ts"],"sourcesContent":["import { RenderAdminArgs, renderAdmin } from '@strapi/admin/strapi-admin';\nimport contentTypeBuilder from '@strapi/content-type-builder/strapi-admin';\nimport contentManager from '@strapi/content-manager/strapi-admin';\nimport email from '@strapi/email/strapi-admin';\nimport upload from '@strapi/upload/strapi-admin';\nimport i18n from '@strapi/i18n/strapi-admin';\nimport contentReleases from '@strapi/content-releases/strapi-admin';\nimport reviewWorkflows from '@strapi/review-workflows/strapi-admin';\n\nconst render = (mountNode: HTMLElement | null, { plugins, ...restArgs }: RenderAdminArgs) => {\n return renderAdmin(mountNode, {\n ...restArgs,\n plugins: {\n 'content-manager': contentManager,\n 'content-type-builder': contentTypeBuilder,\n email,\n upload,\n contentReleases,\n i18n,\n reviewWorkflows,\n ...plugins,\n },\n });\n};\n\nexport { render as renderAdmin };\nexport type { RenderAdminArgs };\n\nexport * from '@strapi/admin/strapi-admin';\n\nexport {\n unstable_useDocumentLayout,\n unstable_useDocumentActions,\n unstable_useDocument,\n unstable_useContentManagerContext,\n useDocumentRBAC,\n} from '@strapi/content-manager/strapi-admin';\n\nexport {\n private_useAutoReloadOverlayBlocker,\n private_AutoReloadOverlayBlockerProvider,\n} from '@strapi/content-type-builder/strapi-admin';\n"],"names":["render","mountNode","plugins","restArgs","renderAdmin","contentManager","contentTypeBuilder","email","upload","contentReleases","i18n","reviewWorkflows"],"mappings":";;;;;;;;;;;;;;;;;;;;;AASA,MAAMA,SAAS,CAACC,SAAAA,EAA+B,EAAEC,OAAO,EAAE,GAAGC,QAAAA,EAA2B,GAAA;AACtF,IAAA,OAAOC,wBAAYH,SAAAA,EAAW;AAC5B,QAAA,GAAGE,QAAQ;QACXD,OAAAA,EAAS;YACP,iBAAA,EAAmBG,+BAAAA;YACnB,sBAAA,EAAwBC,mCAAAA;AACxBC,mBAAAA,sBAAAA;AACAC,oBAAAA,uBAAAA;AACAC,6BAAAA,gCAAAA;AACAC,kBAAAA,qBAAAA;AACAC,6BAAAA,gCAAAA;AACA,YAAA,GAAGT;AACL;AACF,KAAA,CAAA;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,4 @@
1
- /// <reference types="node" />
2
1
  import type { Core, Modules } from '@strapi/types';
3
- import type { Server } from 'node:http';
4
2
  import type { CLIContext } from '../cli/types';
5
3
  import { PluginMeta } from './core/plugins';
6
4
  import { AppFile } from './core/admin-customisations';
@@ -11,8 +9,6 @@ interface BaseOptions {
11
9
  sourcemaps?: boolean;
12
10
  bundler?: 'webpack' | 'vite';
13
11
  open?: boolean;
14
- hmrServer?: Server;
15
- hmrClientPort?: number;
16
12
  }
17
13
  interface BuildContext<TOptions = unknown> extends BaseContext {
18
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"create-build-context.d.ts","sourceRoot":"","sources":["../../src/node/create-build-context.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,UAAU,EAA+C,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAmB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC5D;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtD;;OAEG;IACH,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,UAAU,sBAAsB,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,UAAU;IACrE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AASD,QAAA,MAAM,kBAAkB,8EAMrB,uBAAuB,QAAQ,CAAC,KAAG,QAAQ,aAAa,QAAQ,CAAC,CA4GnE,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"create-build-context.d.ts","sourceRoot":"","sources":["../../src/node/create-build-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,UAAU,EAA+C,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAmB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC5D;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtD;;OAEG;IACH,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,UAAU,sBAAsB,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,UAAU;IACrE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AASD,QAAA,MAAM,kBAAkB,8EAMrB,uBAAuB,QAAQ,CAAC,KAAG,QAAQ,aAAa,QAAQ,CAAC,CA4GnE,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmJ5D,QAAA,MAAM,uBAAuB,QAAe,YAAY,KAAG,QAAQ,YAAY,CAuB9E,CAAC;AAEF,QAAA,MAAM,wBAAwB,QAAe,YAAY,KAAG,QAAQ,YAAY,CA0B/E,CAAC;AAMF,QAAA,MAAM,yBAAyB,WAAkB,YAAY,OAAO,YAAY,wBAQ/E,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmJ5D,QAAA,MAAM,uBAAuB,QAAe,YAAY,KAAG,QAAQ,YAAY,CAuB9E,CAAC;AAEF,QAAA,MAAM,wBAAwB,QAAe,YAAY,KAAG,QAAQ,YAAY,CAmC/E,CAAC;AAMF,QAAA,MAAM,yBAAyB,WAAkB,YAAY,OAAO,YAAY,wBAQ/E,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolve-development-config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-development-config.test.d.ts","sourceRoot":"","sources":["../../../src/node/vite/resolve-development-config.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/node/vite/watch.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,WAAW;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAgDD,QAAA,MAAM,KAAK,QAAe,YAAY,KAAG,QAAQ,WAAW,CAuH3D,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/node/vite/watch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,WAAW;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,QAAA,MAAM,KAAK,QAAe,YAAY,KAAG,QAAQ,WAAW,CAyF3D,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "5.48.1";
3
+ var version = "5.49.0";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.js.map
@@ -1,4 +1,4 @@
1
- var version = "5.48.1";
1
+ var version = "5.49.0";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map
@@ -6,6 +6,10 @@ var core = require('@strapi/core');
6
6
  var helpers = require('../../utils/helpers.js');
7
7
  var getInquirer = require('../../utils/get-inquirer.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var ___default = /*#__PURE__*/_interopDefault(_);
12
+
9
13
  const promptQuestions = [
10
14
  {
11
15
  type: 'input',
@@ -48,12 +52,12 @@ async function setActive({ email, active }) {
48
52
  * Change a user's active status
49
53
  */ const action = async (cmdOptions = {})=>{
50
54
  const { email, active } = cmdOptions;
51
- if (_.isEmpty(email) && _.isEmpty(active) && process.stdin.isTTY) {
55
+ if (___default.default.isEmpty(email) && ___default.default.isEmpty(active) && process.stdin.isTTY) {
52
56
  const inquirer = await getInquirer.getInquirer();
53
57
  const inquiry = await inquirer.prompt(promptQuestions);
54
58
  return setActive(inquiry);
55
59
  }
56
- if (_.isEmpty(email) || _.isEmpty(active)) {
60
+ if (___default.default.isEmpty(email) || ___default.default.isEmpty(active)) {
57
61
  console.error('Missing required options `email` or `active`');
58
62
  process.exit(1);
59
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"active-user.js","sources":["../../../../../src/cli/commands/admin/active-user.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { DistinctQuestion } from 'inquirer';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\n\ninterface CmdOptions {\n email?: string;\n active?: string;\n}\n\ninterface Answers {\n email: string;\n active: string;\n}\n\nconst promptQuestions: ReadonlyArray<DistinctQuestion<Answers>> = [\n { type: 'input', name: 'email', message: 'User email?' },\n { type: 'input', name: 'active', message: 'User Active?' },\n];\n\nasync function setActive({ email, active }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const cleanEmail = email?.trim().toLowerCase();\n const cleanActive = active?.trim().toLowerCase();\n\n if (cleanActive !== 'true' && cleanActive !== 'false') {\n console.error('Invalid active status. Use \"true\" or \"false\".');\n process.exit(1);\n }\n\n const isActive = cleanActive === 'true';\n\n const user = await app.admin.services.user.findOneByEmail(cleanEmail);\n\n if (!user) {\n console.error(`User with email \"${cleanEmail}\" does not exist`);\n process.exit(1);\n }\n\n try {\n await app.admin!.services.user.updateById(user.id, {\n isActive,\n });\n } catch (err: any) {\n console.error(err.message);\n process.exit(1);\n }\n\n console.log(`Successfully set ${cleanEmail} active status to ${cleanActive}`);\n process.exit(0);\n}\n\n/**\n * Change a user's active status\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n const { email, active } = cmdOptions;\n\n if (_.isEmpty(email) && _.isEmpty(active) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n return setActive(inquiry);\n }\n\n if (_.isEmpty(email) || _.isEmpty(active)) {\n console.error('Missing required options `email` or `active`');\n process.exit(1);\n }\n\n return setActive({ email, active });\n};\n\n/**\n * `$ strapi admin:active-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:active-user')\n .alias('admin:active')\n .description(\"Set a user's active status\")\n .option('-e, --email <email>', 'The user email')\n .option('-a, --active <true/false>', 'The user active status')\n .action(runAction('admin:active-user', action));\n};\n\nexport { action, command };\n"],"names":["promptQuestions","type","name","message","setActive","email","active","appContext","compileStrapi","app","createStrapi","load","cleanEmail","trim","toLowerCase","cleanActive","console","error","process","exit","isActive","user","admin","services","findOneByEmail","updateById","id","err","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"active-user.js","sources":["../../../../../src/cli/commands/admin/active-user.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { DistinctQuestion } from 'inquirer';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\n\ninterface CmdOptions {\n email?: string;\n active?: string;\n}\n\ninterface Answers {\n email: string;\n active: string;\n}\n\nconst promptQuestions: ReadonlyArray<DistinctQuestion<Answers>> = [\n { type: 'input', name: 'email', message: 'User email?' },\n { type: 'input', name: 'active', message: 'User Active?' },\n];\n\nasync function setActive({ email, active }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const cleanEmail = email?.trim().toLowerCase();\n const cleanActive = active?.trim().toLowerCase();\n\n if (cleanActive !== 'true' && cleanActive !== 'false') {\n console.error('Invalid active status. Use \"true\" or \"false\".');\n process.exit(1);\n }\n\n const isActive = cleanActive === 'true';\n\n const user = await app.admin.services.user.findOneByEmail(cleanEmail);\n\n if (!user) {\n console.error(`User with email \"${cleanEmail}\" does not exist`);\n process.exit(1);\n }\n\n try {\n await app.admin!.services.user.updateById(user.id, {\n isActive,\n });\n } catch (err: any) {\n console.error(err.message);\n process.exit(1);\n }\n\n console.log(`Successfully set ${cleanEmail} active status to ${cleanActive}`);\n process.exit(0);\n}\n\n/**\n * Change a user's active status\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n const { email, active } = cmdOptions;\n\n if (_.isEmpty(email) && _.isEmpty(active) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n return setActive(inquiry);\n }\n\n if (_.isEmpty(email) || _.isEmpty(active)) {\n console.error('Missing required options `email` or `active`');\n process.exit(1);\n }\n\n return setActive({ email, active });\n};\n\n/**\n * `$ strapi admin:active-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:active-user')\n .alias('admin:active')\n .description(\"Set a user's active status\")\n .option('-e, --email <email>', 'The user email')\n .option('-a, --active <true/false>', 'The user active status')\n .action(runAction('admin:active-user', action));\n};\n\nexport { action, command };\n"],"names":["promptQuestions","type","name","message","setActive","email","active","appContext","compileStrapi","app","createStrapi","load","cleanEmail","trim","toLowerCase","cleanActive","console","error","process","exit","isActive","user","admin","services","findOneByEmail","updateById","id","err","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
@@ -6,6 +6,10 @@ var core = require('@strapi/core');
6
6
  var helpers = require('../../utils/helpers.js');
7
7
  var getInquirer = require('../../utils/get-inquirer.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var ___default = /*#__PURE__*/_interopDefault(_);
12
+
9
13
  const promptQuestions = [
10
14
  {
11
15
  type: 'input',
@@ -48,12 +52,12 @@ async function setBlock({ email, block }) {
48
52
  * Change a user's block status
49
53
  */ const action = async (cmdOptions = {})=>{
50
54
  const { email, block } = cmdOptions;
51
- if (_.isEmpty(email) && _.isEmpty(block) && process.stdin.isTTY) {
55
+ if (___default.default.isEmpty(email) && ___default.default.isEmpty(block) && process.stdin.isTTY) {
52
56
  const inquirer = await getInquirer.getInquirer();
53
57
  const inquiry = await inquirer.prompt(promptQuestions);
54
58
  return setBlock(inquiry);
55
59
  }
56
- if (_.isEmpty(email) || _.isEmpty(block)) {
60
+ if (___default.default.isEmpty(email) || ___default.default.isEmpty(block)) {
57
61
  console.error('Missing required options `email` or `block`');
58
62
  process.exit(1);
59
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"block-user.js","sources":["../../../../../src/cli/commands/admin/block-user.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { DistinctQuestion } from 'inquirer';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\n\ninterface CmdOptions {\n email?: string;\n block?: string;\n}\n\ninterface Answers {\n email: string;\n block: string;\n}\n\nconst promptQuestions: ReadonlyArray<DistinctQuestion<Answers>> = [\n { type: 'input', name: 'email', message: 'User email?' },\n { type: 'input', name: 'block', message: 'User Blocked?' },\n];\n\nasync function setBlock({ email, block }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const cleanEmail = email?.trim().toLowerCase();\n const cleanBlock = block?.trim().toLowerCase();\n\n if (cleanBlock !== 'true' && cleanBlock !== 'false') {\n console.error('Invalid block status. Use \"true\" or \"false\".');\n process.exit(1);\n }\n\n const blocked = cleanBlock === 'true';\n\n const user = await app.admin.services.user.findOneByEmail(cleanEmail);\n\n if (!user) {\n console.error(`User with email \"${cleanEmail}\" does not exist`);\n process.exit(1);\n }\n\n try {\n await app.admin!.services.user.updateById(user.id, { blocked });\n } catch (err: any) {\n console.error(err.message);\n process.exit(1);\n }\n\n console.log(`Successfully set ${cleanEmail} block status to ${cleanBlock}`);\n process.exit(0);\n}\n\n/**\n * Change a user's block status\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n const { email, block } = cmdOptions;\n\n if (_.isEmpty(email) && _.isEmpty(block) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n return setBlock(inquiry);\n }\n\n if (_.isEmpty(email) || _.isEmpty(block)) {\n console.error('Missing required options `email` or `block`');\n process.exit(1);\n }\n\n return setBlock({ email, block });\n};\n\n/**\n * `$ strapi admin:block-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:block-user')\n .alias('admin:block')\n .description(\"Set a user's block status\")\n .option('-e, --email <email>', 'The user email')\n .option('-b, --block <true/false>', 'The user block status')\n .action(runAction('admin:block-user', action));\n};\n\nexport { action, command };\n"],"names":["promptQuestions","type","name","message","setBlock","email","block","appContext","compileStrapi","app","createStrapi","load","cleanEmail","trim","toLowerCase","cleanBlock","console","error","process","exit","blocked","user","admin","services","findOneByEmail","updateById","id","err","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"block-user.js","sources":["../../../../../src/cli/commands/admin/block-user.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { DistinctQuestion } from 'inquirer';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\n\ninterface CmdOptions {\n email?: string;\n block?: string;\n}\n\ninterface Answers {\n email: string;\n block: string;\n}\n\nconst promptQuestions: ReadonlyArray<DistinctQuestion<Answers>> = [\n { type: 'input', name: 'email', message: 'User email?' },\n { type: 'input', name: 'block', message: 'User Blocked?' },\n];\n\nasync function setBlock({ email, block }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const cleanEmail = email?.trim().toLowerCase();\n const cleanBlock = block?.trim().toLowerCase();\n\n if (cleanBlock !== 'true' && cleanBlock !== 'false') {\n console.error('Invalid block status. Use \"true\" or \"false\".');\n process.exit(1);\n }\n\n const blocked = cleanBlock === 'true';\n\n const user = await app.admin.services.user.findOneByEmail(cleanEmail);\n\n if (!user) {\n console.error(`User with email \"${cleanEmail}\" does not exist`);\n process.exit(1);\n }\n\n try {\n await app.admin!.services.user.updateById(user.id, { blocked });\n } catch (err: any) {\n console.error(err.message);\n process.exit(1);\n }\n\n console.log(`Successfully set ${cleanEmail} block status to ${cleanBlock}`);\n process.exit(0);\n}\n\n/**\n * Change a user's block status\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n const { email, block } = cmdOptions;\n\n if (_.isEmpty(email) && _.isEmpty(block) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n return setBlock(inquiry);\n }\n\n if (_.isEmpty(email) || _.isEmpty(block)) {\n console.error('Missing required options `email` or `block`');\n process.exit(1);\n }\n\n return setBlock({ email, block });\n};\n\n/**\n * `$ strapi admin:block-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:block-user')\n .alias('admin:block')\n .description(\"Set a user's block status\")\n .option('-e, --email <email>', 'The user email')\n .option('-b, --block <true/false>', 'The user block status')\n .action(runAction('admin:block-user', action));\n};\n\nexport { action, command };\n"],"names":["promptQuestions","type","name","message","setBlock","email","block","appContext","compileStrapi","app","createStrapi","load","cleanEmail","trim","toLowerCase","cleanBlock","console","error","process","exit","blocked","user","admin","services","findOneByEmail","updateById","id","err","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
@@ -7,6 +7,10 @@ var core = require('@strapi/core');
7
7
  var helpers = require('../../utils/helpers.js');
8
8
  var getInquirer = require('../../utils/get-inquirer.js');
9
9
 
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var ___default = /*#__PURE__*/_interopDefault(_);
13
+
10
14
  const emailValidator = utils.yup.string().email('Invalid email address').lowercase();
11
15
  const passwordValidator = utils.yup.string().min(8, 'Password must be at least 8 characters long').test('lowercase', 'Password must contain at least one lowercase character', (value)=>{
12
16
  if (!value) return true;
@@ -94,7 +98,7 @@ async function createAdmin({ email, password, firstname, lastname }) {
94
98
  * Create new admin user
95
99
  */ const action = async (cmdOptions = {})=>{
96
100
  let { email, password, firstname, lastname } = cmdOptions;
97
- if (_.isEmpty(email) && _.isEmpty(password) && _.isEmpty(firstname) && _.isEmpty(lastname) && process.stdin.isTTY) {
101
+ if (___default.default.isEmpty(email) && ___default.default.isEmpty(password) && ___default.default.isEmpty(firstname) && ___default.default.isEmpty(lastname) && process.stdin.isTTY) {
98
102
  const inquirer = await getInquirer.getInquirer();
99
103
  const inquiry = await inquirer.prompt(promptQuestions);
100
104
  if (!inquiry.confirm) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-user.js","sources":["../../../../../src/cli/commands/admin/create-user.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport type { QuestionCollection } from 'inquirer';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\nimport type { StrapiCommand } from '../../types';\n\ninterface CmdOptions {\n email?: string;\n password?: string;\n firstname?: string;\n lastname?: string;\n}\n\nconst emailValidator = yup.string().email('Invalid email address').lowercase();\n\nconst passwordValidator = yup\n .string()\n .min(8, 'Password must be at least 8 characters long')\n .test('lowercase', 'Password must contain at least one lowercase character', (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n })\n .test('uppercase', 'Password must contain at least one uppercase character', (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n })\n .test('number', 'Password must contain at least one number', (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n });\n\nconst adminCreateSchema = yup.object().shape({\n email: emailValidator,\n password: passwordValidator,\n firstname: yup.string().trim().required('First name is required'),\n lastname: yup.string(),\n});\n\ninterface Answers {\n email: string;\n password: string;\n firstname: string;\n lastname: string;\n confirm: boolean;\n}\n\n/**\n * It's not an observable, in reality this is\n * `ReadOnlyArray<DistinctQuestion<Answers>>`\n * but then the logic of the validate function needs to change.\n */\nconst promptQuestions: QuestionCollection<Answers> = [\n {\n type: 'input',\n name: 'email',\n message: 'Admin email?',\n async validate(value: string) {\n const validEmail = await emailValidator.validate(value);\n return validEmail === value || validEmail;\n },\n },\n {\n type: 'password',\n name: 'password',\n message: 'Admin password?',\n async validate(value: string) {\n const validPassword = await passwordValidator.validate(value);\n return validPassword === value || validPassword;\n },\n },\n { type: 'input', name: 'firstname', message: 'First name?' },\n { type: 'input', name: 'lastname', message: 'Last name?' },\n {\n type: 'confirm',\n name: 'confirm',\n message: 'Do you really want to create a new admin?',\n },\n];\n\nasync function createAdmin({ email, password, firstname, lastname }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const user = await app.admin!.services.user.exists({ email });\n\n if (user) {\n console.error(`User with email \"${email}\" already exists`);\n process.exit(1);\n }\n\n const superAdminRole = await app.admin!.services.role.getSuperAdmin();\n\n await app.admin!.services.user.create({\n email,\n firstname,\n lastname,\n isActive: true,\n roles: [superAdminRole.id],\n ...(password && { password, registrationToken: null }),\n });\n\n console.log(`Successfully created new admin`);\n process.exit(0);\n}\n\n/**\n * Create new admin user\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n let { email, password, firstname, lastname } = cmdOptions;\n\n if (\n _.isEmpty(email) &&\n _.isEmpty(password) &&\n _.isEmpty(firstname) &&\n _.isEmpty(lastname) &&\n process.stdin.isTTY\n ) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n if (!inquiry.confirm) {\n process.exit(0);\n }\n\n ({ email, password, firstname, lastname } = inquiry);\n }\n\n try {\n await adminCreateSchema.validate({ email, password, firstname, lastname });\n } catch (err) {\n if (err instanceof yup.ValidationError) {\n console.error(err.errors[0]);\n }\n\n process.exit(1);\n }\n\n return createAdmin({ email, password, firstname, lastname });\n};\n\n/**\n * `$ strapi admin:create-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:create-user')\n .alias('admin:create')\n .description('Create a new admin')\n .option('-e, --email <email>', 'Email of the new admin')\n .option('-p, --password <password>', 'Password of the new admin')\n .option('-f, --firstname <first name>', 'First name of the new admin')\n .option('-l, --lastname <last name>', 'Last name of the new admin')\n .action(runAction('admin:create-user', action));\n};\n\nexport { action, command };\n"],"names":["emailValidator","yup","string","email","lowercase","passwordValidator","min","test","value","adminCreateSchema","object","shape","password","firstname","trim","required","lastname","promptQuestions","type","name","message","validate","validEmail","validPassword","createAdmin","appContext","compileStrapi","app","createStrapi","load","user","admin","services","exists","console","error","process","exit","superAdminRole","role","getSuperAdmin","create","isActive","roles","id","registrationToken","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","confirm","err","ValidationError","errors","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"create-user.js","sources":["../../../../../src/cli/commands/admin/create-user.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport type { QuestionCollection } from 'inquirer';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\nimport type { StrapiCommand } from '../../types';\n\ninterface CmdOptions {\n email?: string;\n password?: string;\n firstname?: string;\n lastname?: string;\n}\n\nconst emailValidator = yup.string().email('Invalid email address').lowercase();\n\nconst passwordValidator = yup\n .string()\n .min(8, 'Password must be at least 8 characters long')\n .test('lowercase', 'Password must contain at least one lowercase character', (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n })\n .test('uppercase', 'Password must contain at least one uppercase character', (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n })\n .test('number', 'Password must contain at least one number', (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n });\n\nconst adminCreateSchema = yup.object().shape({\n email: emailValidator,\n password: passwordValidator,\n firstname: yup.string().trim().required('First name is required'),\n lastname: yup.string(),\n});\n\ninterface Answers {\n email: string;\n password: string;\n firstname: string;\n lastname: string;\n confirm: boolean;\n}\n\n/**\n * It's not an observable, in reality this is\n * `ReadOnlyArray<DistinctQuestion<Answers>>`\n * but then the logic of the validate function needs to change.\n */\nconst promptQuestions: QuestionCollection<Answers> = [\n {\n type: 'input',\n name: 'email',\n message: 'Admin email?',\n async validate(value: string) {\n const validEmail = await emailValidator.validate(value);\n return validEmail === value || validEmail;\n },\n },\n {\n type: 'password',\n name: 'password',\n message: 'Admin password?',\n async validate(value: string) {\n const validPassword = await passwordValidator.validate(value);\n return validPassword === value || validPassword;\n },\n },\n { type: 'input', name: 'firstname', message: 'First name?' },\n { type: 'input', name: 'lastname', message: 'Last name?' },\n {\n type: 'confirm',\n name: 'confirm',\n message: 'Do you really want to create a new admin?',\n },\n];\n\nasync function createAdmin({ email, password, firstname, lastname }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const user = await app.admin!.services.user.exists({ email });\n\n if (user) {\n console.error(`User with email \"${email}\" already exists`);\n process.exit(1);\n }\n\n const superAdminRole = await app.admin!.services.role.getSuperAdmin();\n\n await app.admin!.services.user.create({\n email,\n firstname,\n lastname,\n isActive: true,\n roles: [superAdminRole.id],\n ...(password && { password, registrationToken: null }),\n });\n\n console.log(`Successfully created new admin`);\n process.exit(0);\n}\n\n/**\n * Create new admin user\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n let { email, password, firstname, lastname } = cmdOptions;\n\n if (\n _.isEmpty(email) &&\n _.isEmpty(password) &&\n _.isEmpty(firstname) &&\n _.isEmpty(lastname) &&\n process.stdin.isTTY\n ) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n if (!inquiry.confirm) {\n process.exit(0);\n }\n\n ({ email, password, firstname, lastname } = inquiry);\n }\n\n try {\n await adminCreateSchema.validate({ email, password, firstname, lastname });\n } catch (err) {\n if (err instanceof yup.ValidationError) {\n console.error(err.errors[0]);\n }\n\n process.exit(1);\n }\n\n return createAdmin({ email, password, firstname, lastname });\n};\n\n/**\n * `$ strapi admin:create-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:create-user')\n .alias('admin:create')\n .description('Create a new admin')\n .option('-e, --email <email>', 'Email of the new admin')\n .option('-p, --password <password>', 'Password of the new admin')\n .option('-f, --firstname <first name>', 'First name of the new admin')\n .option('-l, --lastname <last name>', 'Last name of the new admin')\n .action(runAction('admin:create-user', action));\n};\n\nexport { action, command };\n"],"names":["emailValidator","yup","string","email","lowercase","passwordValidator","min","test","value","adminCreateSchema","object","shape","password","firstname","trim","required","lastname","promptQuestions","type","name","message","validate","validEmail","validPassword","createAdmin","appContext","compileStrapi","app","createStrapi","load","user","admin","services","exists","console","error","process","exit","superAdminRole","role","getSuperAdmin","create","isActive","roles","id","registrationToken","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","confirm","err","ValidationError","errors","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
@@ -7,6 +7,10 @@ var core = require('@strapi/core');
7
7
  var helpers = require('../../utils/helpers.js');
8
8
  var getInquirer = require('../../utils/get-inquirer.js');
9
9
 
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var ___default = /*#__PURE__*/_interopDefault(_);
13
+
10
14
  const emailValidator = utils.yup.string().email('Invalid email address').lowercase();
11
15
  const adminDeleteSchema = utils.yup.object().shape({
12
16
  email: emailValidator
@@ -51,7 +55,7 @@ async function deleteAdmin({ email }) {
51
55
  * Delete an admin user
52
56
  */ const action = async (cmdOptions = {})=>{
53
57
  let { email } = cmdOptions;
54
- if (_.isEmpty(email) && process.stdin.isTTY) {
58
+ if (___default.default.isEmpty(email) && process.stdin.isTTY) {
55
59
  const inquirer = await getInquirer.getInquirer();
56
60
  const inquiry = await inquirer.prompt(promptQuestions);
57
61
  if (!inquiry.confirm) {
@@ -59,7 +63,7 @@ async function deleteAdmin({ email }) {
59
63
  }
60
64
  ({ email } = inquiry);
61
65
  }
62
- if (_.isEmpty(email)) {
66
+ if (___default.default.isEmpty(email)) {
63
67
  console.error('Missing required option `email`');
64
68
  process.exit(1);
65
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-user.js","sources":["../../../../../src/cli/commands/admin/delete-user.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport type { QuestionCollection } from 'inquirer';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\nimport type { StrapiCommand } from '../../types';\n\ninterface CmdOptions {\n email?: string;\n}\n\nconst emailValidator = yup.string().email('Invalid email address').lowercase();\n\nconst adminDeleteSchema = yup.object().shape({\n email: emailValidator,\n});\n\ninterface Answers {\n email: string;\n confirm: boolean;\n}\n\n/**\n * Same as create-user: `QuestionCollection` so async `validate` matches Inquirer typings\n * (not `ReadonlyArray<DistinctQuestion<Answers>>`).\n */\nconst promptQuestions: QuestionCollection<Answers> = [\n {\n type: 'input',\n name: 'email',\n message: 'Admin email?',\n async validate(value: string) {\n const validEmail = await emailValidator.validate(value);\n return validEmail === value || validEmail;\n },\n },\n {\n type: 'confirm',\n name: 'confirm',\n message: 'Do you really want to delete this admin?',\n },\n];\n\nasync function deleteAdmin({ email }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const user = await app.admin.services.user.findOneByEmail(email);\n\n if (!user) {\n console.error(`User with email \"${email}\" does not exist`);\n process.exit(1);\n }\n\n try {\n await app.admin!.services.user.deleteById(user.id);\n } catch (err: any) {\n console.error(err.message);\n process.exit(1);\n }\n\n console.log(`Successfully deleted admin`);\n process.exit(0);\n}\n\n/**\n * Delete an admin user\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n let { email } = cmdOptions;\n\n if (_.isEmpty(email) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n if (!inquiry.confirm) {\n process.exit(0);\n }\n\n ({ email } = inquiry);\n }\n\n if (_.isEmpty(email)) {\n console.error('Missing required option `email`');\n process.exit(1);\n }\n\n try {\n await adminDeleteSchema.validate({ email });\n } catch (err) {\n if (err instanceof yup.ValidationError) {\n console.error(err.errors[0]);\n }\n\n process.exit(1);\n }\n\n return deleteAdmin({ email });\n};\n\n/**\n * `$ strapi admin:delete-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:delete-user')\n .alias('admin:delete')\n .description('Delete an existing admin')\n .option('-e, --email <email>', 'Email of the current admin')\n .action(runAction('admin:delete-user', action));\n};\n\nexport { action, command };\n"],"names":["emailValidator","yup","string","email","lowercase","adminDeleteSchema","object","shape","promptQuestions","type","name","message","validate","value","validEmail","deleteAdmin","appContext","compileStrapi","app","createStrapi","load","user","admin","services","findOneByEmail","console","error","process","exit","deleteById","id","err","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","confirm","ValidationError","errors","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
1
+ {"version":3,"file":"delete-user.js","sources":["../../../../../src/cli/commands/admin/delete-user.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport type { QuestionCollection } from 'inquirer';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\nimport type { StrapiCommand } from '../../types';\n\ninterface CmdOptions {\n email?: string;\n}\n\nconst emailValidator = yup.string().email('Invalid email address').lowercase();\n\nconst adminDeleteSchema = yup.object().shape({\n email: emailValidator,\n});\n\ninterface Answers {\n email: string;\n confirm: boolean;\n}\n\n/**\n * Same as create-user: `QuestionCollection` so async `validate` matches Inquirer typings\n * (not `ReadonlyArray<DistinctQuestion<Answers>>`).\n */\nconst promptQuestions: QuestionCollection<Answers> = [\n {\n type: 'input',\n name: 'email',\n message: 'Admin email?',\n async validate(value: string) {\n const validEmail = await emailValidator.validate(value);\n return validEmail === value || validEmail;\n },\n },\n {\n type: 'confirm',\n name: 'confirm',\n message: 'Do you really want to delete this admin?',\n },\n];\n\nasync function deleteAdmin({ email }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const user = await app.admin.services.user.findOneByEmail(email);\n\n if (!user) {\n console.error(`User with email \"${email}\" does not exist`);\n process.exit(1);\n }\n\n try {\n await app.admin!.services.user.deleteById(user.id);\n } catch (err: any) {\n console.error(err.message);\n process.exit(1);\n }\n\n console.log(`Successfully deleted admin`);\n process.exit(0);\n}\n\n/**\n * Delete an admin user\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n let { email } = cmdOptions;\n\n if (_.isEmpty(email) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n if (!inquiry.confirm) {\n process.exit(0);\n }\n\n ({ email } = inquiry);\n }\n\n if (_.isEmpty(email)) {\n console.error('Missing required option `email`');\n process.exit(1);\n }\n\n try {\n await adminDeleteSchema.validate({ email });\n } catch (err) {\n if (err instanceof yup.ValidationError) {\n console.error(err.errors[0]);\n }\n\n process.exit(1);\n }\n\n return deleteAdmin({ email });\n};\n\n/**\n * `$ strapi admin:delete-user`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:delete-user')\n .alias('admin:delete')\n .description('Delete an existing admin')\n .option('-e, --email <email>', 'Email of the current admin')\n .action(runAction('admin:delete-user', action));\n};\n\nexport { action, command };\n"],"names":["emailValidator","yup","string","email","lowercase","adminDeleteSchema","object","shape","promptQuestions","type","name","message","validate","value","validEmail","deleteAdmin","appContext","compileStrapi","app","createStrapi","load","user","admin","services","findOneByEmail","console","error","process","exit","deleteById","id","err","log","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","confirm","ValidationError","errors","command","createCommand","alias","description","option","runAction"],"mappings":"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"}
@@ -6,6 +6,11 @@ var chalk = require('chalk');
6
6
  var core = require('@strapi/core');
7
7
  var helpers = require('../../utils/helpers.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var CLITable__default = /*#__PURE__*/_interopDefault(CLITable);
12
+ var chalk__default = /*#__PURE__*/_interopDefault(chalk);
13
+
9
14
  /**
10
15
  * List admin users
11
16
  */ const action = async ()=>{
@@ -25,15 +30,15 @@ var helpers = require('../../utils/helpers.js');
25
30
  ],
26
31
  pageSize: 100
27
32
  });
28
- const infoTable = new CLITable({
33
+ const infoTable = new CLITable__default.default({
29
34
  head: [
30
- chalk.blue('ID'),
31
- chalk.blue('Email'),
32
- chalk.blue('First Name'),
33
- chalk.blue('Last Name'),
34
- chalk.blue('Active'),
35
- chalk.blue('Blocked'),
36
- chalk.blue('Roles')
35
+ chalk__default.default.blue('ID'),
36
+ chalk__default.default.blue('Email'),
37
+ chalk__default.default.blue('First Name'),
38
+ chalk__default.default.blue('Last Name'),
39
+ chalk__default.default.blue('Active'),
40
+ chalk__default.default.blue('Blocked'),
41
+ chalk__default.default.blue('Roles')
37
42
  ]
38
43
  });
39
44
  list.results.forEach((user)=>{
@@ -43,9 +48,9 @@ var helpers = require('../../utils/helpers.js');
43
48
  user.email,
44
49
  user.firstname,
45
50
  user.lastname,
46
- user.isActive === true ? chalk.green('true') : chalk.red('false'),
47
- user.blocked === true ? chalk.red('true') : chalk.green('false'),
48
- roles.length > 0 ? roles : chalk.yellow('No roles assigned')
51
+ user.isActive === true ? chalk__default.default.green('true') : chalk__default.default.red('false'),
52
+ user.blocked === true ? chalk__default.default.red('true') : chalk__default.default.green('false'),
53
+ roles.length > 0 ? roles : chalk__default.default.yellow('No roles assigned')
49
54
  ]);
50
55
  });
51
56
  console.log(infoTable.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"list-users.js","sources":["../../../../../src/cli/commands/admin/list-users.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport { runAction } from '../../utils/helpers';\nimport type { StrapiCommand } from '../../types';\n\n/**\n * List admin users\n */\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const list = await app.admin.services.user.findPage({\n select: ['id', 'firstname', 'lastname', 'email', 'isActive', 'blocked'],\n populate: ['roles'],\n pageSize: 100,\n });\n\n const infoTable = new CLITable({\n head: [\n chalk.blue('ID'),\n chalk.blue('Email'),\n chalk.blue('First Name'),\n chalk.blue('Last Name'),\n chalk.blue('Active'),\n chalk.blue('Blocked'),\n chalk.blue('Roles'),\n ],\n });\n\n list.results.forEach((user: any) => {\n const roles = user.roles.map((role: any) => role.name).join(', ');\n infoTable.push([\n user.id,\n user.email,\n user.firstname,\n user.lastname,\n user.isActive === true ? chalk.green('true') : chalk.red('false'),\n user.blocked === true ? chalk.red('true') : chalk.green('false'),\n roles.length > 0 ? roles : chalk.yellow('No roles assigned'),\n ]);\n });\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi admin:list-users`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:list-users')\n .alias('admin:list')\n .description('List all the admin users')\n .action(runAction('admin:list-users', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","list","admin","services","user","findPage","select","populate","pageSize","infoTable","CLITable","head","chalk","blue","results","forEach","roles","map","role","name","join","push","id","email","firstname","lastname","isActive","green","red","blocked","length","yellow","console","log","toString","destroy","command","createCommand","alias","description","runAction"],"mappings":";;;;;;;;AAQA;;AAEC,UACKA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/C,MAAMC,IAAAA,GAAO,MAAMH,GAAAA,CAAII,KAAK,CAACC,QAAQ,CAACC,IAAI,CAACC,QAAQ,CAAC;QAClDC,MAAAA,EAAQ;AAAC,YAAA,IAAA;AAAM,YAAA,WAAA;AAAa,YAAA,UAAA;AAAY,YAAA,OAAA;AAAS,YAAA,UAAA;AAAY,YAAA;AAAU,SAAA;QACvEC,QAAAA,EAAU;AAAC,YAAA;AAAQ,SAAA;QACnBC,QAAAA,EAAU;AACZ,KAAA,CAAA;IAEA,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AACJC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,IAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,OAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,YAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,WAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,QAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,SAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,OAAA;AACZ;AACH,KAAA,CAAA;AAEAZ,IAAAA,IAAAA,CAAKa,OAAO,CAACC,OAAO,CAAC,CAACX,IAAAA,GAAAA;AACpB,QAAA,MAAMY,KAAAA,GAAQZ,IAAAA,CAAKY,KAAK,CAACC,GAAG,CAAC,CAACC,IAAAA,GAAcA,IAAAA,CAAKC,IAAI,CAAA,CAAEC,IAAI,CAAC,IAAA,CAAA;AAC5DX,QAAAA,SAAAA,CAAUY,IAAI,CAAC;AACbjB,YAAAA,IAAAA,CAAKkB,EAAE;AACPlB,YAAAA,IAAAA,CAAKmB,KAAK;AACVnB,YAAAA,IAAAA,CAAKoB,SAAS;AACdpB,YAAAA,IAAAA,CAAKqB,QAAQ;YACbrB,IAAAA,CAAKsB,QAAQ,KAAK,IAAA,GAAOd,KAAAA,CAAMe,KAAK,CAAC,MAAA,CAAA,GAAUf,KAAAA,CAAMgB,GAAG,CAAC,OAAA,CAAA;YACzDxB,IAAAA,CAAKyB,OAAO,KAAK,IAAA,GAAOjB,KAAAA,CAAMgB,GAAG,CAAC,MAAA,CAAA,GAAUhB,KAAAA,CAAMe,KAAK,CAAC,OAAA,CAAA;AACxDX,YAAAA,KAAAA,CAAMc,MAAM,GAAG,CAAA,GAAId,KAAAA,GAAQJ,KAAAA,CAAMmB,MAAM,CAAC,mBAAA;AACzC,SAAA,CAAA;AACH,IAAA,CAAA,CAAA;IAEAC,OAAAA,CAAQC,GAAG,CAACxB,SAAAA,CAAUyB,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMpC,IAAIqC,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,kBAAA,CAAA,CAClBC,KAAK,CAAC,YAAA,CAAA,CACNC,WAAW,CAAC,0BAAA,CAAA,CACZ5C,MAAM,CAAC6C,iBAAAA,CAAU,kBAAA,EAAoB7C,MAAAA,CAAAA,CAAAA;AAC1C;;;;;"}
1
+ {"version":3,"file":"list-users.js","sources":["../../../../../src/cli/commands/admin/list-users.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport { runAction } from '../../utils/helpers';\nimport type { StrapiCommand } from '../../types';\n\n/**\n * List admin users\n */\nconst action = async () => {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const list = await app.admin.services.user.findPage({\n select: ['id', 'firstname', 'lastname', 'email', 'isActive', 'blocked'],\n populate: ['roles'],\n pageSize: 100,\n });\n\n const infoTable = new CLITable({\n head: [\n chalk.blue('ID'),\n chalk.blue('Email'),\n chalk.blue('First Name'),\n chalk.blue('Last Name'),\n chalk.blue('Active'),\n chalk.blue('Blocked'),\n chalk.blue('Roles'),\n ],\n });\n\n list.results.forEach((user: any) => {\n const roles = user.roles.map((role: any) => role.name).join(', ');\n infoTable.push([\n user.id,\n user.email,\n user.firstname,\n user.lastname,\n user.isActive === true ? chalk.green('true') : chalk.red('false'),\n user.blocked === true ? chalk.red('true') : chalk.green('false'),\n roles.length > 0 ? roles : chalk.yellow('No roles assigned'),\n ]);\n });\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi admin:list-users`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:list-users')\n .alias('admin:list')\n .description('List all the admin users')\n .action(runAction('admin:list-users', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","list","admin","services","user","findPage","select","populate","pageSize","infoTable","CLITable","head","chalk","blue","results","forEach","roles","map","role","name","join","push","id","email","firstname","lastname","isActive","green","red","blocked","length","yellow","console","log","toString","destroy","command","createCommand","alias","description","runAction"],"mappings":";;;;;;;;;;;;;AAQA;;AAEC,UACKA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/C,MAAMC,IAAAA,GAAO,MAAMH,GAAAA,CAAII,KAAK,CAACC,QAAQ,CAACC,IAAI,CAACC,QAAQ,CAAC;QAClDC,MAAAA,EAAQ;AAAC,YAAA,IAAA;AAAM,YAAA,WAAA;AAAa,YAAA,UAAA;AAAY,YAAA,OAAA;AAAS,YAAA,UAAA;AAAY,YAAA;AAAU,SAAA;QACvEC,QAAAA,EAAU;AAAC,YAAA;AAAQ,SAAA;QACnBC,QAAAA,EAAU;AACZ,KAAA,CAAA;IAEA,MAAMC,SAAAA,GAAY,IAAIC,yBAAAA,CAAS;QAC7BC,IAAAA,EAAM;AACJC,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,IAAA,CAAA;AACXD,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,OAAA,CAAA;AACXD,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,YAAA,CAAA;AACXD,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,WAAA,CAAA;AACXD,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,QAAA,CAAA;AACXD,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,SAAA,CAAA;AACXD,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,OAAA;AACZ;AACH,KAAA,CAAA;AAEAZ,IAAAA,IAAAA,CAAKa,OAAO,CAACC,OAAO,CAAC,CAACX,IAAAA,GAAAA;AACpB,QAAA,MAAMY,KAAAA,GAAQZ,IAAAA,CAAKY,KAAK,CAACC,GAAG,CAAC,CAACC,IAAAA,GAAcA,IAAAA,CAAKC,IAAI,CAAA,CAAEC,IAAI,CAAC,IAAA,CAAA;AAC5DX,QAAAA,SAAAA,CAAUY,IAAI,CAAC;AACbjB,YAAAA,IAAAA,CAAKkB,EAAE;AACPlB,YAAAA,IAAAA,CAAKmB,KAAK;AACVnB,YAAAA,IAAAA,CAAKoB,SAAS;AACdpB,YAAAA,IAAAA,CAAKqB,QAAQ;YACbrB,IAAAA,CAAKsB,QAAQ,KAAK,IAAA,GAAOd,sBAAAA,CAAMe,KAAK,CAAC,MAAA,CAAA,GAAUf,sBAAAA,CAAMgB,GAAG,CAAC,OAAA,CAAA;YACzDxB,IAAAA,CAAKyB,OAAO,KAAK,IAAA,GAAOjB,sBAAAA,CAAMgB,GAAG,CAAC,MAAA,CAAA,GAAUhB,sBAAAA,CAAMe,KAAK,CAAC,OAAA,CAAA;AACxDX,YAAAA,KAAAA,CAAMc,MAAM,GAAG,CAAA,GAAId,KAAAA,GAAQJ,sBAAAA,CAAMmB,MAAM,CAAC,mBAAA;AACzC,SAAA,CAAA;AACH,IAAA,CAAA,CAAA;IAEAC,OAAAA,CAAQC,GAAG,CAACxB,SAAAA,CAAUyB,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMpC,IAAIqC,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,kBAAA,CAAA,CAClBC,KAAK,CAAC,YAAA,CAAA,CACNC,WAAW,CAAC,0BAAA,CAAA,CACZ5C,MAAM,CAAC6C,iBAAAA,CAAU,kBAAA,EAAoB7C,MAAAA,CAAAA,CAAAA;AAC1C;;;;;"}
@@ -6,6 +6,10 @@ var core = require('@strapi/core');
6
6
  var helpers = require('../../utils/helpers.js');
7
7
  var getInquirer = require('../../utils/get-inquirer.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var ___default = /*#__PURE__*/_interopDefault(_);
12
+
9
13
  const promptQuestions = [
10
14
  {
11
15
  type: 'input',
@@ -34,7 +38,7 @@ async function changePassword({ email, password }) {
34
38
  * Reset user's password
35
39
  */ const action = async (cmdOptions = {})=>{
36
40
  const { email, password } = cmdOptions;
37
- if (_.isEmpty(email) && _.isEmpty(password) && process.stdin.isTTY) {
41
+ if (___default.default.isEmpty(email) && ___default.default.isEmpty(password) && process.stdin.isTTY) {
38
42
  const inquirer = await getInquirer.getInquirer();
39
43
  const inquiry = await inquirer.prompt(promptQuestions);
40
44
  if (!inquiry.confirm) {
@@ -42,7 +46,7 @@ async function changePassword({ email, password }) {
42
46
  }
43
47
  return changePassword(inquiry);
44
48
  }
45
- if (_.isEmpty(email) || _.isEmpty(password)) {
49
+ if (___default.default.isEmpty(email) || ___default.default.isEmpty(password)) {
46
50
  console.error('Missing required options `email` or `password`');
47
51
  process.exit(1);
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reset-user-password.js","sources":["../../../../../src/cli/commands/admin/reset-user-password.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { DistinctQuestion } from 'inquirer';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\n\ninterface CmdOptions {\n email?: string;\n password?: string;\n}\n\ninterface Answers {\n email: string;\n password: string;\n confirm: boolean;\n}\n\nconst promptQuestions: ReadonlyArray<DistinctQuestion<Answers>> = [\n { type: 'input', name: 'email', message: 'User email?' },\n { type: 'password', name: 'password', message: 'New password?' },\n {\n type: 'confirm',\n name: 'confirm',\n message: \"Do you really want to reset this user's password?\",\n },\n];\n\nasync function changePassword({ email, password }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n await app.admin!.services.user.resetPasswordByEmail(email, password);\n\n console.log(`Successfully reset user's password`);\n process.exit(0);\n}\n\n/**\n * Reset user's password\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n const { email, password } = cmdOptions;\n\n if (_.isEmpty(email) && _.isEmpty(password) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n if (!inquiry.confirm) {\n process.exit(0);\n }\n\n return changePassword(inquiry);\n }\n\n if (_.isEmpty(email) || _.isEmpty(password)) {\n console.error('Missing required options `email` or `password`');\n process.exit(1);\n }\n\n return changePassword({ email, password });\n};\n\n/**\n * `$ strapi admin:reset-user-password`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:reset-user-password')\n .alias('admin:reset-password')\n .description(\"Reset an admin user's password\")\n .option('-e, --email <email>', 'The user email')\n .option('-p, --password <password>', 'New password for the user')\n .action(runAction('admin:reset-user-password', action));\n};\n\nexport { action, command };\n"],"names":["promptQuestions","type","name","message","changePassword","email","password","appContext","compileStrapi","app","createStrapi","load","admin","services","user","resetPasswordByEmail","console","log","process","exit","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","confirm","error","command","createCommand","alias","description","option","runAction"],"mappings":";;;;;;;;AAoBA,MAAMA,eAAAA,GAA4D;AAChE,IAAA;QAAEC,IAAAA,EAAM,OAAA;QAASC,IAAAA,EAAM,OAAA;QAASC,OAAAA,EAAS;AAAc,KAAA;AACvD,IAAA;QAAEF,IAAAA,EAAM,UAAA;QAAYC,IAAAA,EAAM,UAAA;QAAYC,OAAAA,EAAS;AAAgB,KAAA;AAC/D,IAAA;QACEF,IAAAA,EAAM,SAAA;QACNC,IAAAA,EAAM,SAAA;QACNC,OAAAA,EAAS;AACX;AACD,CAAA;AAED,eAAeC,cAAAA,CAAe,EAAEC,KAAK,EAAEC,QAAQ,EAAc,EAAA;AAC3D,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/C,MAAMF,GAAAA,CAAIG,KAAK,CAAEC,QAAQ,CAACC,IAAI,CAACC,oBAAoB,CAACV,KAAAA,EAAOC,QAAAA,CAAAA;AAE3DU,IAAAA,OAAAA,CAAQC,GAAG,CAAC,CAAC,kCAAkC,CAAC,CAAA;AAChDC,IAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA;;AAEC,IACD,MAAMC,MAAAA,GAAS,OAAOC,UAAAA,GAAyB,EAAE,GAAA;AAC/C,IAAA,MAAM,EAAEhB,KAAK,EAAEC,QAAQ,EAAE,GAAGe,UAAAA;AAE5B,IAAA,IAAIC,CAAAA,CAAEC,OAAO,CAAClB,KAAAA,CAAAA,IAAUiB,CAAAA,CAAEC,OAAO,CAACjB,QAAAA,CAAAA,IAAaY,OAAAA,CAAQM,KAAK,CAACC,KAAK,EAAE;AAClE,QAAA,MAAMC,WAAW,MAAMC,uBAAAA,EAAAA;AACvB,QAAA,MAAMC,OAAAA,GAAU,MAAMF,QAAAA,CAASG,MAAM,CAAC7B,eAAAA,CAAAA;QAEtC,IAAI,CAAC4B,OAAAA,CAAQE,OAAO,EAAE;AACpBZ,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA;AAEA,QAAA,OAAOf,cAAAA,CAAewB,OAAAA,CAAAA;AACxB,IAAA;AAEA,IAAA,IAAIN,EAAEC,OAAO,CAAClB,UAAUiB,CAAAA,CAAEC,OAAO,CAACjB,QAAAA,CAAAA,EAAW;AAC3CU,QAAAA,OAAAA,CAAQe,KAAK,CAAC,gDAAA,CAAA;AACdb,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,IAAA;AAEA,IAAA,OAAOf,cAAAA,CAAe;AAAEC,QAAAA,KAAAA;AAAOC,QAAAA;AAAS,KAAA,CAAA;AAC1C;AAEA;;AAEC,UACK0B,OAAAA,GAAyB,IAAA;AAC7B,IAAA,OAAOC,wBAAc,2BAAA,CAAA,CAClBC,KAAK,CAAC,sBAAA,CAAA,CACNC,WAAW,CAAC,gCAAA,CAAA,CACZC,MAAM,CAAC,qBAAA,EAAuB,gBAAA,CAAA,CAC9BA,MAAM,CAAC,2BAAA,EAA6B,6BACpChB,MAAM,CAACiB,kBAAU,2BAAA,EAA6BjB,MAAAA,CAAAA,CAAAA;AACnD;;;;;"}
1
+ {"version":3,"file":"reset-user-password.js","sources":["../../../../../src/cli/commands/admin/reset-user-password.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { DistinctQuestion } from 'inquirer';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { getInquirer } from '../../utils/get-inquirer';\n\ninterface CmdOptions {\n email?: string;\n password?: string;\n}\n\ninterface Answers {\n email: string;\n password: string;\n confirm: boolean;\n}\n\nconst promptQuestions: ReadonlyArray<DistinctQuestion<Answers>> = [\n { type: 'input', name: 'email', message: 'User email?' },\n { type: 'password', name: 'password', message: 'New password?' },\n {\n type: 'confirm',\n name: 'confirm',\n message: \"Do you really want to reset this user's password?\",\n },\n];\n\nasync function changePassword({ email, password }: CmdOptions) {\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n await app.admin!.services.user.resetPasswordByEmail(email, password);\n\n console.log(`Successfully reset user's password`);\n process.exit(0);\n}\n\n/**\n * Reset user's password\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n const { email, password } = cmdOptions;\n\n if (_.isEmpty(email) && _.isEmpty(password) && process.stdin.isTTY) {\n const inquirer = await getInquirer();\n const inquiry = await inquirer.prompt(promptQuestions);\n\n if (!inquiry.confirm) {\n process.exit(0);\n }\n\n return changePassword(inquiry);\n }\n\n if (_.isEmpty(email) || _.isEmpty(password)) {\n console.error('Missing required options `email` or `password`');\n process.exit(1);\n }\n\n return changePassword({ email, password });\n};\n\n/**\n * `$ strapi admin:reset-user-password`\n */\nconst command: StrapiCommand = () => {\n return createCommand('admin:reset-user-password')\n .alias('admin:reset-password')\n .description(\"Reset an admin user's password\")\n .option('-e, --email <email>', 'The user email')\n .option('-p, --password <password>', 'New password for the user')\n .action(runAction('admin:reset-user-password', action));\n};\n\nexport { action, command };\n"],"names":["promptQuestions","type","name","message","changePassword","email","password","appContext","compileStrapi","app","createStrapi","load","admin","services","user","resetPasswordByEmail","console","log","process","exit","action","cmdOptions","_","isEmpty","stdin","isTTY","inquirer","getInquirer","inquiry","prompt","confirm","error","command","createCommand","alias","description","option","runAction"],"mappings":";;;;;;;;;;;;AAoBA,MAAMA,eAAAA,GAA4D;AAChE,IAAA;QAAEC,IAAAA,EAAM,OAAA;QAASC,IAAAA,EAAM,OAAA;QAASC,OAAAA,EAAS;AAAc,KAAA;AACvD,IAAA;QAAEF,IAAAA,EAAM,UAAA;QAAYC,IAAAA,EAAM,UAAA;QAAYC,OAAAA,EAAS;AAAgB,KAAA;AAC/D,IAAA;QACEF,IAAAA,EAAM,SAAA;QACNC,IAAAA,EAAM,SAAA;QACNC,OAAAA,EAAS;AACX;AACD,CAAA;AAED,eAAeC,cAAAA,CAAe,EAAEC,KAAK,EAAEC,QAAQ,EAAc,EAAA;AAC3D,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/C,MAAMF,GAAAA,CAAIG,KAAK,CAAEC,QAAQ,CAACC,IAAI,CAACC,oBAAoB,CAACV,KAAAA,EAAOC,QAAAA,CAAAA;AAE3DU,IAAAA,OAAAA,CAAQC,GAAG,CAAC,CAAC,kCAAkC,CAAC,CAAA;AAChDC,IAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA;;AAEC,IACD,MAAMC,MAAAA,GAAS,OAAOC,UAAAA,GAAyB,EAAE,GAAA;AAC/C,IAAA,MAAM,EAAEhB,KAAK,EAAEC,QAAQ,EAAE,GAAGe,UAAAA;AAE5B,IAAA,IAAIC,kBAAAA,CAAEC,OAAO,CAAClB,KAAAA,CAAAA,IAAUiB,kBAAAA,CAAEC,OAAO,CAACjB,QAAAA,CAAAA,IAAaY,OAAAA,CAAQM,KAAK,CAACC,KAAK,EAAE;AAClE,QAAA,MAAMC,WAAW,MAAMC,uBAAAA,EAAAA;AACvB,QAAA,MAAMC,OAAAA,GAAU,MAAMF,QAAAA,CAASG,MAAM,CAAC7B,eAAAA,CAAAA;QAEtC,IAAI,CAAC4B,OAAAA,CAAQE,OAAO,EAAE;AACpBZ,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA;AAEA,QAAA,OAAOf,cAAAA,CAAewB,OAAAA,CAAAA;AACxB,IAAA;AAEA,IAAA,IAAIN,mBAAEC,OAAO,CAAClB,UAAUiB,kBAAAA,CAAEC,OAAO,CAACjB,QAAAA,CAAAA,EAAW;AAC3CU,QAAAA,OAAAA,CAAQe,KAAK,CAAC,gDAAA,CAAA;AACdb,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,IAAA;AAEA,IAAA,OAAOf,cAAAA,CAAe;AAAEC,QAAAA,KAAAA;AAAOC,QAAAA;AAAS,KAAA,CAAA;AAC1C;AAEA;;AAEC,UACK0B,OAAAA,GAAyB,IAAA;AAC7B,IAAA,OAAOC,wBAAc,2BAAA,CAAA,CAClBC,KAAK,CAAC,sBAAA,CAAA,CACNC,WAAW,CAAC,gCAAA,CAAA,CACZC,MAAM,CAAC,qBAAA,EAAuB,gBAAA,CAAA,CAC9BA,MAAM,CAAC,2BAAA,EAA6B,6BACpChB,MAAM,CAACiB,kBAAU,2BAAA,EAA6BjB,MAAAA,CAAAA,CAAAA;AACnD;;;;;"}
@@ -6,13 +6,18 @@ var chalk = require('chalk');
6
6
  var core = require('@strapi/core');
7
7
  var helpers = require('../../utils/helpers.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var CLITable__default = /*#__PURE__*/_interopDefault(CLITable);
12
+ var chalk__default = /*#__PURE__*/_interopDefault(chalk);
13
+
9
14
  const action = async ()=>{
10
15
  const appContext = await core.compileStrapi();
11
16
  const app = await core.createStrapi(appContext).register();
12
17
  const list = Object.keys(app.components);
13
- const infoTable = new CLITable({
18
+ const infoTable = new CLITable__default.default({
14
19
  head: [
15
- chalk.blue('Name')
20
+ chalk__default.default.blue('Name')
16
21
  ]
17
22
  });
18
23
  list.forEach((name)=>infoTable.push([
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/components/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 = Object.keys(app.components);\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi components:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('components:list')\n .description('List all the application components')\n .action(runAction('components:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","Object","keys","components","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,GAAOC,MAAAA,CAAOC,IAAI,CAACL,IAAIM,UAAU,CAAA;IAEvC,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAR,IAAAA,IAAAA,CAAKS,OAAO,CAAC,CAACC,IAAAA,GAASN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAE5CE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMjB,IAAIkB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,mBAClBC,WAAW,CAAC,uCACZxB,MAAM,CAACyB,kBAAU,iBAAA,EAAmBzB,MAAAA,CAAAA,CAAAA;AACzC;;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../../src/cli/commands/components/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 = Object.keys(app.components);\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n\n/**\n * `$ strapi components:list`\n */\nconst command: StrapiCommand = () => {\n return createCommand('components:list')\n .description('List all the application components')\n .action(runAction('components:list', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","register","list","Object","keys","components","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,GAAOC,MAAAA,CAAOC,IAAI,CAACL,IAAIM,UAAU,CAAA;IAEvC,MAAMC,SAAAA,GAAY,IAAIC,yBAAAA,CAAS;QAC7BC,IAAAA,EAAM;AAACC,YAAAA,sBAAAA,CAAMC,IAAI,CAAC,MAAA;AAAQ;AAC5B,KAAA,CAAA;AAEAR,IAAAA,IAAAA,CAAKS,OAAO,CAAC,CAACC,IAAAA,GAASN,SAAAA,CAAUO,IAAI,CAAC;AAACD,YAAAA;AAAK,SAAA,CAAA,CAAA;IAE5CE,OAAAA,CAAQC,GAAG,CAACT,SAAAA,CAAUU,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMjB,IAAIkB,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,mBAClBC,WAAW,CAAC,uCACZxB,MAAM,CAACyB,kBAAU,iBAAA,EAAmBzB,MAAAA,CAAAA,CAAAA;AACzC;;;;;"}
@@ -5,12 +5,16 @@ var commander = require('commander');
5
5
  var core = require('@strapi/core');
6
6
  var helpers = require('../../utils/helpers.js');
7
7
 
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
11
+
8
12
  const CHUNK_SIZE = 100;
9
13
  /**
10
14
  * Will dump configurations to a file or stdout
11
15
  * @param {string} file filepath to use as output
12
16
  */ const action = async ({ file: filePath, pretty })=>{
13
- const output = filePath ? fs.createWriteStream(filePath) : process.stdout;
17
+ const output = filePath ? fs__default.default.createWriteStream(filePath) : process.stdout;
14
18
  const appContext = await core.compileStrapi();
15
19
  const app = await core.createStrapi(appContext).load();
16
20
  const count = await app.query('strapi::core-store').count();
@@ -1 +1 @@
1
- {"version":3,"file":"dump.js","sources":["../../../../../src/cli/commands/configuration/dump.ts"],"sourcesContent":["import fs from 'fs';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\ninterface CmdOptions {\n file?: string;\n pretty?: boolean;\n}\n\ninterface ExportItem {\n key: string;\n value: string;\n type: string;\n environment: string;\n tag: string;\n}\n\ninterface Output {\n write(str: string): void;\n end(): void;\n}\n\nconst CHUNK_SIZE = 100;\n\n/**\n * Will dump configurations to a file or stdout\n * @param {string} file filepath to use as output\n */\nconst action = async ({ file: filePath, pretty }: CmdOptions) => {\n const output: Output = filePath ? fs.createWriteStream(filePath) : process.stdout;\n\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const count = await app.query('strapi::core-store').count();\n\n const exportData: ExportItem[] = [];\n\n const pageCount = Math.ceil(count / CHUNK_SIZE);\n\n for (let page = 0; page < pageCount; page += 1) {\n const results = await app\n .query('strapi::core-store')\n .findMany({ limit: CHUNK_SIZE, offset: page * CHUNK_SIZE, orderBy: 'key' });\n\n results\n .filter((result) => result.key.startsWith('plugin_'))\n .forEach((result) => {\n exportData.push({\n key: result.key,\n value: result.value,\n type: result.type,\n environment: result.environment,\n tag: result.tag,\n });\n });\n }\n\n const str = JSON.stringify(exportData, null, pretty ? 2 : undefined);\n\n output.write(str);\n output.write('\\n');\n output.end();\n\n // log success only when writting to file\n if (filePath) {\n console.log(`Successfully exported ${exportData.length} configuration entries`);\n }\n process.exit(0);\n};\n\n/**\n * `$ strapi configuration:dump`\n */\nconst command: StrapiCommand = () => {\n return createCommand('configuration:dump')\n .alias('config:dump')\n .description('Dump configurations of your application')\n .option('-f, --file <file>', 'Output file, default output is stdout')\n .option('-p, --pretty', 'Format the output JSON with indentation and line breaks', false)\n .action(runAction('configuration:dump', action));\n};\n\nexport { action, command };\n"],"names":["CHUNK_SIZE","action","file","filePath","pretty","output","fs","createWriteStream","process","stdout","appContext","compileStrapi","app","createStrapi","load","count","query","exportData","pageCount","Math","ceil","page","results","findMany","limit","offset","orderBy","filter","result","key","startsWith","forEach","push","value","type","environment","tag","str","JSON","stringify","undefined","write","end","console","log","length","exit","command","createCommand","alias","description","option","runAction"],"mappings":";;;;;;;AAyBA,MAAMA,UAAAA,GAAa,GAAA;AAEnB;;;IAIA,MAAMC,SAAS,OAAO,EAAEC,MAAMC,QAAQ,EAAEC,MAAM,EAAc,GAAA;AAC1D,IAAA,MAAMC,SAAiBF,QAAAA,GAAWG,EAAAA,CAAGC,iBAAiB,CAACJ,QAAAA,CAAAA,GAAYK,QAAQC,MAAM;AAEjF,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;AAE/C,IAAA,MAAMC,QAAQ,MAAMH,GAAAA,CAAII,KAAK,CAAC,sBAAsBD,KAAK,EAAA;AAEzD,IAAA,MAAME,aAA2B,EAAE;AAEnC,IAAA,MAAMC,SAAAA,GAAYC,IAAAA,CAAKC,IAAI,CAACL,KAAAA,GAAQf,UAAAA,CAAAA;AAEpC,IAAA,IAAK,IAAIqB,IAAAA,GAAO,CAAA,EAAGA,IAAAA,GAAOH,SAAAA,EAAWG,QAAQ,CAAA,CAAG;AAC9C,QAAA,MAAMC,UAAU,MAAMV,GAAAA,CACnBI,KAAK,CAAC,oBAAA,CAAA,CACNO,QAAQ,CAAC;YAAEC,KAAAA,EAAOxB,UAAAA;AAAYyB,YAAAA,MAAAA,EAAQJ,IAAAA,GAAOrB,UAAAA;YAAY0B,OAAAA,EAAS;AAAM,SAAA,CAAA;AAE3EJ,QAAAA,OAAAA,CACGK,MAAM,CAAC,CAACC,MAAAA,GAAWA,MAAAA,CAAOC,GAAG,CAACC,UAAU,CAAC,SAAA,CAAA,CAAA,CACzCC,OAAO,CAAC,CAACH,MAAAA,GAAAA;AACRX,YAAAA,UAAAA,CAAWe,IAAI,CAAC;AACdH,gBAAAA,GAAAA,EAAKD,OAAOC,GAAG;AACfI,gBAAAA,KAAAA,EAAOL,OAAOK,KAAK;AACnBC,gBAAAA,IAAAA,EAAMN,OAAOM,IAAI;AACjBC,gBAAAA,WAAAA,EAAaP,OAAOO,WAAW;AAC/BC,gBAAAA,GAAAA,EAAKR,OAAOQ;AACd,aAAA,CAAA;AACF,QAAA,CAAA,CAAA;AACJ,IAAA;AAEA,IAAA,MAAMC,MAAMC,IAAAA,CAAKC,SAAS,CAACtB,UAAAA,EAAY,IAAA,EAAMb,SAAS,CAAA,GAAIoC,SAAAA,CAAAA;AAE1DnC,IAAAA,MAAAA,CAAOoC,KAAK,CAACJ,GAAAA,CAAAA;AACbhC,IAAAA,MAAAA,CAAOoC,KAAK,CAAC,IAAA,CAAA;AACbpC,IAAAA,MAAAA,CAAOqC,GAAG,EAAA;;AAGV,IAAA,IAAIvC,QAAAA,EAAU;QACZwC,OAAAA,CAAQC,GAAG,CAAC,CAAC,sBAAsB,EAAE3B,UAAAA,CAAW4B,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAChF,IAAA;AACArC,IAAAA,OAAAA,CAAQsC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,sBAClBC,KAAK,CAAC,eACNC,WAAW,CAAC,2CACZC,MAAM,CAAC,qBAAqB,uCAAA,CAAA,CAC5BA,MAAM,CAAC,cAAA,EAAgB,yDAAA,EAA2D,OAClFlD,MAAM,CAACmD,kBAAU,oBAAA,EAAsBnD,MAAAA,CAAAA,CAAAA;AAC5C;;;;;"}
1
+ {"version":3,"file":"dump.js","sources":["../../../../../src/cli/commands/configuration/dump.ts"],"sourcesContent":["import fs from 'fs';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\ninterface CmdOptions {\n file?: string;\n pretty?: boolean;\n}\n\ninterface ExportItem {\n key: string;\n value: string;\n type: string;\n environment: string;\n tag: string;\n}\n\ninterface Output {\n write(str: string): void;\n end(): void;\n}\n\nconst CHUNK_SIZE = 100;\n\n/**\n * Will dump configurations to a file or stdout\n * @param {string} file filepath to use as output\n */\nconst action = async ({ file: filePath, pretty }: CmdOptions) => {\n const output: Output = filePath ? fs.createWriteStream(filePath) : process.stdout;\n\n const appContext = await compileStrapi();\n const app = await createStrapi(appContext).load();\n\n const count = await app.query('strapi::core-store').count();\n\n const exportData: ExportItem[] = [];\n\n const pageCount = Math.ceil(count / CHUNK_SIZE);\n\n for (let page = 0; page < pageCount; page += 1) {\n const results = await app\n .query('strapi::core-store')\n .findMany({ limit: CHUNK_SIZE, offset: page * CHUNK_SIZE, orderBy: 'key' });\n\n results\n .filter((result) => result.key.startsWith('plugin_'))\n .forEach((result) => {\n exportData.push({\n key: result.key,\n value: result.value,\n type: result.type,\n environment: result.environment,\n tag: result.tag,\n });\n });\n }\n\n const str = JSON.stringify(exportData, null, pretty ? 2 : undefined);\n\n output.write(str);\n output.write('\\n');\n output.end();\n\n // log success only when writting to file\n if (filePath) {\n console.log(`Successfully exported ${exportData.length} configuration entries`);\n }\n process.exit(0);\n};\n\n/**\n * `$ strapi configuration:dump`\n */\nconst command: StrapiCommand = () => {\n return createCommand('configuration:dump')\n .alias('config:dump')\n .description('Dump configurations of your application')\n .option('-f, --file <file>', 'Output file, default output is stdout')\n .option('-p, --pretty', 'Format the output JSON with indentation and line breaks', false)\n .action(runAction('configuration:dump', action));\n};\n\nexport { action, command };\n"],"names":["CHUNK_SIZE","action","file","filePath","pretty","output","fs","createWriteStream","process","stdout","appContext","compileStrapi","app","createStrapi","load","count","query","exportData","pageCount","Math","ceil","page","results","findMany","limit","offset","orderBy","filter","result","key","startsWith","forEach","push","value","type","environment","tag","str","JSON","stringify","undefined","write","end","console","log","length","exit","command","createCommand","alias","description","option","runAction"],"mappings":";;;;;;;;;;;AAyBA,MAAMA,UAAAA,GAAa,GAAA;AAEnB;;;IAIA,MAAMC,SAAS,OAAO,EAAEC,MAAMC,QAAQ,EAAEC,MAAM,EAAc,GAAA;AAC1D,IAAA,MAAMC,SAAiBF,QAAAA,GAAWG,mBAAAA,CAAGC,iBAAiB,CAACJ,QAAAA,CAAAA,GAAYK,QAAQC,MAAM;AAEjF,IAAA,MAAMC,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,iBAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;AAE/C,IAAA,MAAMC,QAAQ,MAAMH,GAAAA,CAAII,KAAK,CAAC,sBAAsBD,KAAK,EAAA;AAEzD,IAAA,MAAME,aAA2B,EAAE;AAEnC,IAAA,MAAMC,SAAAA,GAAYC,IAAAA,CAAKC,IAAI,CAACL,KAAAA,GAAQf,UAAAA,CAAAA;AAEpC,IAAA,IAAK,IAAIqB,IAAAA,GAAO,CAAA,EAAGA,IAAAA,GAAOH,SAAAA,EAAWG,QAAQ,CAAA,CAAG;AAC9C,QAAA,MAAMC,UAAU,MAAMV,GAAAA,CACnBI,KAAK,CAAC,oBAAA,CAAA,CACNO,QAAQ,CAAC;YAAEC,KAAAA,EAAOxB,UAAAA;AAAYyB,YAAAA,MAAAA,EAAQJ,IAAAA,GAAOrB,UAAAA;YAAY0B,OAAAA,EAAS;AAAM,SAAA,CAAA;AAE3EJ,QAAAA,OAAAA,CACGK,MAAM,CAAC,CAACC,MAAAA,GAAWA,MAAAA,CAAOC,GAAG,CAACC,UAAU,CAAC,SAAA,CAAA,CAAA,CACzCC,OAAO,CAAC,CAACH,MAAAA,GAAAA;AACRX,YAAAA,UAAAA,CAAWe,IAAI,CAAC;AACdH,gBAAAA,GAAAA,EAAKD,OAAOC,GAAG;AACfI,gBAAAA,KAAAA,EAAOL,OAAOK,KAAK;AACnBC,gBAAAA,IAAAA,EAAMN,OAAOM,IAAI;AACjBC,gBAAAA,WAAAA,EAAaP,OAAOO,WAAW;AAC/BC,gBAAAA,GAAAA,EAAKR,OAAOQ;AACd,aAAA,CAAA;AACF,QAAA,CAAA,CAAA;AACJ,IAAA;AAEA,IAAA,MAAMC,MAAMC,IAAAA,CAAKC,SAAS,CAACtB,UAAAA,EAAY,IAAA,EAAMb,SAAS,CAAA,GAAIoC,SAAAA,CAAAA;AAE1DnC,IAAAA,MAAAA,CAAOoC,KAAK,CAACJ,GAAAA,CAAAA;AACbhC,IAAAA,MAAAA,CAAOoC,KAAK,CAAC,IAAA,CAAA;AACbpC,IAAAA,MAAAA,CAAOqC,GAAG,EAAA;;AAGV,IAAA,IAAIvC,QAAAA,EAAU;QACZwC,OAAAA,CAAQC,GAAG,CAAC,CAAC,sBAAsB,EAAE3B,UAAAA,CAAW4B,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAChF,IAAA;AACArC,IAAAA,OAAAA,CAAQsC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,uBAAAA,CAAc,sBAClBC,KAAK,CAAC,eACNC,WAAW,CAAC,2CACZC,MAAM,CAAC,qBAAqB,uCAAA,CAAA,CAC5BA,MAAM,CAAC,cAAA,EAAgB,yDAAA,EAA2D,OAClFlD,MAAM,CAACmD,kBAAU,oBAAA,EAAsBnD,MAAAA,CAAAA,CAAAA;AAC5C;;;;;"}