@flarum/cli 1.0.0 → 2.0.0-beta.1

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 (185) hide show
  1. package/README.md +2 -2
  2. package/bin/run +5 -3
  3. package/boilerplate/skeleton/extension/.gitattributes +16 -3
  4. package/boilerplate/skeleton/extension/.github/workflows/backend.yml +15 -0
  5. package/boilerplate/skeleton/extension/.github/workflows/frontend.yml +20 -0
  6. package/boilerplate/skeleton/extension/.styleci.yml +14 -0
  7. package/boilerplate/skeleton/extension/LICENSE.md +1 -0
  8. package/boilerplate/skeleton/extension/README.md +7 -7
  9. package/boilerplate/skeleton/extension/composer.json +11 -9
  10. package/boilerplate/skeleton/extension/extend.php +10 -10
  11. package/boilerplate/skeleton/extension/js/admin.js +2 -1
  12. package/boilerplate/skeleton/extension/js/forum.js +2 -1
  13. package/boilerplate/skeleton/extension/js/package.json +13 -9
  14. package/boilerplate/skeleton/extension/js/src/admin/index.js +4 -2
  15. package/boilerplate/skeleton/extension/js/src/common/index.js +5 -0
  16. package/boilerplate/skeleton/extension/js/src/forum/index.js +4 -2
  17. package/boilerplate/skeleton/extension/js/tsconfig.json +6 -1
  18. package/boilerplate/skeleton/extension/locale/en.yml +1 -1
  19. package/boilerplate/stubs/migration.php +1 -1
  20. package/lib/base-command.d.ts +27 -6
  21. package/lib/base-command.js +131 -41
  22. package/lib/boilersmith/exposed-param-manager.d.ts +8 -0
  23. package/lib/boilersmith/exposed-param-manager.js +31 -0
  24. package/lib/boilersmith/io.d.ts +50 -0
  25. package/lib/boilersmith/io.js +72 -0
  26. package/lib/boilersmith/paths.d.ts +22 -0
  27. package/lib/boilersmith/paths.js +29 -0
  28. package/lib/boilersmith/scaffolding/audit-step-factory.d.ts +5 -0
  29. package/lib/boilersmith/scaffolding/audit-step-factory.js +54 -0
  30. package/lib/boilersmith/scaffolding/infra-step-factory.d.ts +5 -0
  31. package/lib/boilersmith/scaffolding/infra-step-factory.js +34 -0
  32. package/lib/boilersmith/scaffolding/init-step-factory.d.ts +5 -0
  33. package/lib/boilersmith/scaffolding/init-step-factory.js +34 -0
  34. package/lib/boilersmith/scaffolding/module.d.ts +68 -0
  35. package/lib/boilersmith/scaffolding/module.js +111 -0
  36. package/lib/boilersmith/scaffolding/scaffolder.d.ts +32 -0
  37. package/lib/boilersmith/scaffolding/scaffolder.js +203 -0
  38. package/lib/boilersmith/scaffolding/template-param.d.ts +23 -0
  39. package/lib/boilersmith/scaffolding/template-param.js +46 -0
  40. package/lib/boilersmith/step-manager.d.ts +85 -0
  41. package/lib/boilersmith/step-manager.js +234 -0
  42. package/lib/boilersmith/steps/stub-base.d.ts +53 -0
  43. package/lib/boilersmith/steps/stub-base.js +54 -0
  44. package/lib/{utils → boilersmith/utils}/clone-and-fill.d.ts +0 -0
  45. package/lib/{utils → boilersmith/utils}/clone-and-fill.js +2 -2
  46. package/lib/boilersmith/utils/cond-format.d.ts +1 -0
  47. package/lib/boilersmith/utils/cond-format.js +8 -0
  48. package/lib/boilersmith/utils/json-leaf-paths.d.ts +7 -0
  49. package/lib/boilersmith/utils/json-leaf-paths.js +17 -0
  50. package/lib/boilersmith/utils/read-tpl.d.ts +2 -0
  51. package/lib/boilersmith/utils/read-tpl.js +10 -0
  52. package/lib/boilersmith/utils/rename-keys.d.ts +1 -0
  53. package/lib/boilersmith/utils/rename-keys.js +7 -0
  54. package/lib/commands/audit/infra.d.ts +16 -0
  55. package/lib/commands/audit/infra.js +27 -0
  56. package/lib/commands/infra.d.ts +20 -0
  57. package/lib/commands/infra.js +55 -0
  58. package/lib/commands/init.d.ts +4 -3
  59. package/lib/commands/init.js +8 -6
  60. package/lib/commands/make/backend/api-controller.d.ts +4 -3
  61. package/lib/commands/make/backend/api-controller.js +3 -2
  62. package/lib/commands/make/backend/api-serializer-attributes.d.ts +4 -3
  63. package/lib/commands/make/backend/api-serializer-attributes.js +1 -1
  64. package/lib/commands/make/backend/api-serializer.d.ts +4 -3
  65. package/lib/commands/make/backend/api-serializer.js +3 -2
  66. package/lib/commands/make/backend/command.d.ts +4 -3
  67. package/lib/commands/make/backend/command.js +3 -2
  68. package/lib/commands/make/backend/event-listener.d.ts +4 -3
  69. package/lib/commands/make/backend/event-listener.js +3 -2
  70. package/lib/commands/make/backend/handler.d.ts +4 -3
  71. package/lib/commands/make/backend/handler.js +4 -3
  72. package/lib/commands/make/backend/integration-test.d.ts +4 -3
  73. package/lib/commands/make/backend/integration-test.js +3 -2
  74. package/lib/commands/make/backend/job.d.ts +4 -3
  75. package/lib/commands/make/backend/job.js +3 -2
  76. package/lib/commands/make/backend/migration.d.ts +4 -3
  77. package/lib/commands/make/backend/migration.js +3 -2
  78. package/lib/commands/make/backend/model.d.ts +4 -3
  79. package/lib/commands/make/backend/model.js +22 -21
  80. package/lib/commands/make/backend/policy.d.ts +4 -3
  81. package/lib/commands/make/backend/policy.js +3 -2
  82. package/lib/commands/make/backend/repository.d.ts +4 -3
  83. package/lib/commands/make/backend/repository.js +3 -2
  84. package/lib/commands/make/backend/route.d.ts +4 -3
  85. package/lib/commands/make/backend/route.js +1 -1
  86. package/lib/commands/make/backend/service-provider.d.ts +4 -3
  87. package/lib/commands/make/backend/service-provider.js +3 -2
  88. package/lib/commands/make/backend/validator.d.ts +4 -3
  89. package/lib/commands/make/backend/validator.js +3 -2
  90. package/lib/commands/make/frontend/component.d.ts +4 -3
  91. package/lib/commands/make/frontend/component.js +3 -2
  92. package/lib/commands/make/frontend/modal.d.ts +4 -3
  93. package/lib/commands/make/frontend/modal.js +3 -2
  94. package/lib/commands/make/frontend/model.d.ts +4 -3
  95. package/lib/commands/make/frontend/model.js +3 -2
  96. package/lib/commands/update/js-imports.d.ts +4 -3
  97. package/lib/commands/update/js-imports.js +1 -1
  98. package/lib/help.d.ts +5 -6
  99. package/lib/help.js +5 -4
  100. package/lib/index.d.ts +1 -1
  101. package/lib/index.js +3 -2
  102. package/lib/providers/index.d.ts +5 -0
  103. package/lib/providers/index.js +2 -0
  104. package/lib/{provider → providers}/php-provider.d.ts +0 -0
  105. package/lib/{provider → providers}/php-provider.js +2 -2
  106. package/lib/steps/extenders/api-serializer.js +2 -3
  107. package/lib/steps/extenders/base.d.ts +10 -10
  108. package/lib/steps/extenders/base.js +11 -11
  109. package/lib/steps/extenders/console-command.js +2 -3
  110. package/lib/steps/extenders/event.js +2 -3
  111. package/lib/steps/extenders/policy.js +2 -3
  112. package/lib/steps/extenders/route.js +2 -3
  113. package/lib/steps/extenders/service-provider.js +2 -3
  114. package/lib/steps/gen-ext-scaffolder.d.ts +6 -0
  115. package/lib/steps/gen-ext-scaffolder.js +508 -0
  116. package/lib/steps/js/base.d.ts +9 -9
  117. package/lib/steps/js/base.js +11 -11
  118. package/lib/steps/js/model.d.ts +5 -5
  119. package/lib/steps/js/model.js +8 -13
  120. package/lib/steps/misc/composer.d.ts +5 -6
  121. package/lib/steps/misc/composer.js +3 -3
  122. package/lib/steps/misc/git.d.ts +11 -0
  123. package/lib/steps/misc/git.js +20 -0
  124. package/lib/steps/misc/yarn.d.ts +5 -6
  125. package/lib/steps/misc/yarn.js +3 -3
  126. package/lib/steps/stubs/backend/api-controller.d.ts +1 -8
  127. package/lib/steps/stubs/backend/api-controller.js +2 -3
  128. package/lib/steps/stubs/backend/api-serializer.d.ts +4 -9
  129. package/lib/steps/stubs/backend/api-serializer.js +4 -4
  130. package/lib/steps/stubs/backend/command.d.ts +0 -5
  131. package/lib/steps/stubs/backend/command.js +1 -1
  132. package/lib/steps/stubs/backend/event-listener.d.ts +0 -5
  133. package/lib/steps/stubs/backend/event-listener.js +1 -1
  134. package/lib/steps/stubs/backend/handler-command.js +1 -1
  135. package/lib/steps/stubs/backend/handler.js +1 -1
  136. package/lib/steps/stubs/backend/migration.d.ts +4 -5
  137. package/lib/steps/stubs/backend/migration.js +8 -8
  138. package/lib/steps/stubs/backend/model.d.ts +4 -4
  139. package/lib/steps/stubs/backend/model.js +4 -4
  140. package/lib/steps/stubs/backend/policy.d.ts +0 -5
  141. package/lib/steps/stubs/backend/policy.js +1 -1
  142. package/lib/steps/stubs/backend/repository.d.ts +0 -5
  143. package/lib/steps/stubs/backend/repository.js +1 -1
  144. package/lib/steps/stubs/flarum-base.d.ts +9 -0
  145. package/lib/steps/stubs/flarum-base.js +10 -0
  146. package/lib/steps/stubs/frontend/component.js +0 -1
  147. package/lib/steps/stubs/frontend/modal.js +0 -1
  148. package/lib/steps/stubs/frontend/model.d.ts +4 -4
  149. package/lib/steps/stubs/frontend/model.js +3 -3
  150. package/lib/steps/stubs/js-base.d.ts +6 -7
  151. package/lib/steps/stubs/js-base.js +11 -16
  152. package/lib/steps/stubs/php-base.d.ts +7 -8
  153. package/lib/steps/stubs/php-base.js +12 -20
  154. package/lib/steps/update/js-imports.d.ts +5 -6
  155. package/lib/steps/update/js-imports.js +13 -17
  156. package/lib/utils/composer.d.ts +64 -0
  157. package/lib/utils/composer.js +8 -0
  158. package/lib/utils/migration.js +3 -3
  159. package/lib/utils/model-name.js +6 -6
  160. package/lib/utils/validation.d.ts +10 -7
  161. package/lib/utils/validation.js +9 -6
  162. package/oclif.manifest.json +1 -1
  163. package/package.json +53 -31
  164. package/php-subsystem/src/NodeVisitors/AddExtender.php +2 -1
  165. package/boilerplate/skeleton/extension/.github/workflows/build.yml +0 -32
  166. package/boilerplate/skeleton/extension/.github/workflows/lint.yml +0 -32
  167. package/boilerplate/skeleton/extension/.github/workflows/test.yml +0 -78
  168. package/lib/commands/infra/backend-testing.d.ts +0 -14
  169. package/lib/commands/infra/backend-testing.js +0 -26
  170. package/lib/provider/param-provider.d.ts +0 -15
  171. package/lib/provider/param-provider.js +0 -39
  172. package/lib/provider/path-provider.d.ts +0 -19
  173. package/lib/provider/path-provider.js +0 -24
  174. package/lib/steps/infra/backend-testing.d.ts +0 -8
  175. package/lib/steps/infra/backend-testing.js +0 -22
  176. package/lib/steps/infra/base.d.ts +0 -20
  177. package/lib/steps/infra/base.js +0 -36
  178. package/lib/steps/init/extension-skeleton.d.ts +0 -12
  179. package/lib/steps/init/extension-skeleton.js +0 -142
  180. package/lib/steps/step-manager.d.ts +0 -71
  181. package/lib/steps/step-manager.js +0 -173
  182. package/lib/steps/stubs/base.d.ts +0 -49
  183. package/lib/steps/stubs/base.js +0 -58
  184. package/lib/utils/extension-metadata.d.ts +0 -2
  185. package/lib/utils/extension-metadata.js +0 -21
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
+ import { FlarumProviders } from '../../../providers';
2
3
  import BaseCommand from '../../../base-command';
3
4
  export default class Migration extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
5
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
6
  const migration_1 = require("../../../steps/stubs/backend/migration");
6
7
  class Migration extends base_command_1.default {
7
8
  steps(stepManager) {
8
9
  return stepManager
9
- .step(new migration_1.GenerateMigrationStub());
10
+ .step(new migration_1.GenerateMigrationStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()));
10
11
  }
11
12
  }
12
13
  exports.default = Migration;
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
2
  import BaseCommand from '../../../base-command';
3
+ import { FlarumProviders } from '../../../providers';
3
4
  export default class Model extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  /* eslint-disable no-warning-comments */
5
- const pluralize_1 = tslib_1.__importDefault(require("pluralize"));
6
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
5
+ const pluralize_1 = (0, tslib_1.__importDefault)(require("pluralize"));
6
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
7
7
  const model_1 = require("../../../steps/stubs/backend/model");
8
8
  const migration_1 = require("../../../steps/stubs/backend/migration");
9
9
  const api_serializer_1 = require("../../../steps/stubs/backend/api-serializer");
@@ -15,20 +15,21 @@ const api_controller_1 = require("../../../steps/stubs/backend/api-controller");
15
15
  const handler_1 = require("../../../steps/stubs/backend/handler");
16
16
  const handler_command_1 = require("../../../steps/stubs/backend/handler-command");
17
17
  const route_1 = require("../../../steps/extenders/route");
18
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
18
19
  class Model extends base_command_1.default {
19
20
  steps(stepManager) {
20
21
  return stepManager
21
22
  .atomicGroup(stepManager => {
22
23
  stepManager
23
- .namedStep('model', new model_1.GenerateModelStub())
24
- .step(new migration_1.GenerateMigrationStub(), { optional: true, confirmationMessage: 'Generate corresponding Migration?', default: true }, [
24
+ .namedStep('model', new model_1.GenerateModelStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()))
25
+ .step(new migration_1.GenerateMigrationStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), { optional: true, confirmationMessage: 'Generate corresponding Migration?', default: true }, [
25
26
  {
26
27
  sourceStep: 'model',
27
28
  exposedName: 'migrationName',
28
29
  consumedName: 'name',
29
30
  },
30
31
  ])
31
- .namedStep('serializer', new api_serializer_1.GenerateApiSerializerStub(), { optional: true, confirmationMessage: 'Generate corresponding API Serializer?', default: true }, [
32
+ .namedStep('serializer', new api_serializer_1.GenerateApiSerializerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), { optional: true, confirmationMessage: 'Generate corresponding API Serializer?', default: true }, [
32
33
  {
33
34
  sourceStep: 'model',
34
35
  exposedName: 'class',
@@ -41,7 +42,7 @@ class Model extends base_command_1.default {
41
42
  modifier: (modelClassName) => `${modelClassName}Serializer`,
42
43
  },
43
44
  ])
44
- .namedStep('validator', new validator_1.GenerateValidatorStub(), { optional: true, confirmationMessage: 'Generate corresponding Validator?', default: true }, [
45
+ .namedStep('validator', new validator_1.GenerateValidatorStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), { optional: true, confirmationMessage: 'Generate corresponding Validator?', default: true }, [
45
46
  {
46
47
  sourceStep: 'model',
47
48
  exposedName: 'className',
@@ -49,7 +50,7 @@ class Model extends base_command_1.default {
49
50
  modifier: (modelClassName) => `${modelClassName}Validator`,
50
51
  },
51
52
  ])
52
- .namedStep('repository', new repository_1.GenerateRepositoryStub(), { optional: true, confirmationMessage: 'Generate corresponding Repository?', default: true }, [
53
+ .namedStep('repository', new repository_1.GenerateRepositoryStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), { optional: true, confirmationMessage: 'Generate corresponding Repository?', default: true }, [
53
54
  {
54
55
  sourceStep: 'model',
55
56
  exposedName: 'class',
@@ -62,7 +63,7 @@ class Model extends base_command_1.default {
62
63
  modifier: (modelClassName) => `${modelClassName}Repository`,
63
64
  },
64
65
  ])
65
- .namedStep('policy', new policy_1.GeneratePolicyStub(), { optional: true, confirmationMessage: 'Generate corresponding Policy?', default: true }, [
66
+ .namedStep('policy', new policy_1.GeneratePolicyStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), { optional: true, confirmationMessage: 'Generate corresponding Policy?', default: true }, [
66
67
  {
67
68
  sourceStep: 'model',
68
69
  exposedName: 'class',
@@ -92,7 +93,7 @@ class Model extends base_command_1.default {
92
93
  ]);
93
94
  // Domain Handler Commands
94
95
  stepManager
95
- .namedStep('createHandlerCommand', new handler_command_1.GenerateHandlerCommandStub(), { optional: true, confirmationMessage: 'Generate corresponding Domain Handlers?', default: true }, [
96
+ .namedStep('createHandlerCommand', new handler_command_1.GenerateHandlerCommandStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), { optional: true, confirmationMessage: 'Generate corresponding Domain Handlers?', default: true }, [
96
97
  {
97
98
  sourceStep: 'model',
98
99
  exposedName: 'className',
@@ -101,7 +102,7 @@ class Model extends base_command_1.default {
101
102
  ], {
102
103
  classType: 'create',
103
104
  })
104
- .namedStep('updateHandlerCommand', new handler_command_1.GenerateHandlerCommandStub(), {}, [
105
+ .namedStep('updateHandlerCommand', new handler_command_1.GenerateHandlerCommandStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
105
106
  {
106
107
  sourceStep: 'createHandlerCommand',
107
108
  exposedName: '__succeeded',
@@ -114,7 +115,7 @@ class Model extends base_command_1.default {
114
115
  ], {
115
116
  classType: 'update',
116
117
  })
117
- .namedStep('deleteHandlerCommand', new handler_command_1.GenerateHandlerCommandStub(), {}, [
118
+ .namedStep('deleteHandlerCommand', new handler_command_1.GenerateHandlerCommandStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
118
119
  {
119
120
  sourceStep: 'createHandlerCommand',
120
121
  exposedName: '__succeeded',
@@ -129,7 +130,7 @@ class Model extends base_command_1.default {
129
130
  });
130
131
  // Domain Handlers
131
132
  stepManager
132
- .step(new handler_1.GenerateHandlerStub(), {}, [
133
+ .step(new handler_1.GenerateHandlerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
133
134
  {
134
135
  sourceStep: 'createHandlerCommand',
135
136
  exposedName: '__succeeded',
@@ -159,7 +160,7 @@ class Model extends base_command_1.default {
159
160
  exposedName: 'classType',
160
161
  },
161
162
  ])
162
- .step(new handler_1.GenerateHandlerStub(), {}, [
163
+ .step(new handler_1.GenerateHandlerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
163
164
  {
164
165
  sourceStep: 'updateHandlerCommand',
165
166
  exposedName: '__succeeded',
@@ -189,7 +190,7 @@ class Model extends base_command_1.default {
189
190
  exposedName: 'classType',
190
191
  },
191
192
  ])
192
- .step(new handler_1.GenerateHandlerStub(), {}, [
193
+ .step(new handler_1.GenerateHandlerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
193
194
  {
194
195
  sourceStep: 'deleteHandlerCommand',
195
196
  exposedName: '__succeeded',
@@ -214,17 +215,17 @@ class Model extends base_command_1.default {
214
215
  exposedName: 'classType',
215
216
  },
216
217
  ], {
217
- validatorClass: '',
218
+ validatorClass: '', // TODO: This type of parameter is a bit of a mess
218
219
  });
219
220
  // API Controllers
220
221
  stepManager
221
- .namedStep('listApiController', new api_controller_1.GenerateApiControllerStub(), { optional: true, confirmationMessage: 'Generate corresponding CRUD API Controllers?', default: true }, [
222
+ .namedStep('listApiController', new api_controller_1.GenerateApiControllerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), { optional: true, confirmationMessage: 'Generate corresponding CRUD API Controllers?', default: true }, [
222
223
  {
223
224
  sourceStep: 'model',
224
225
  exposedName: 'className',
225
226
  consumedName: 'className',
226
227
  modifier: (modelClassName) => {
227
- const pluralModelClassName = pluralize_1.default(modelClassName);
228
+ const pluralModelClassName = (0, pluralize_1.default)(modelClassName);
228
229
  return `List${pluralModelClassName}Controller`;
229
230
  },
230
231
  },
@@ -237,7 +238,7 @@ class Model extends base_command_1.default {
237
238
  classType: 'list',
238
239
  handlerCommandClass: '',
239
240
  })
240
- .namedStep('showApiController', new api_controller_1.GenerateApiControllerStub(), {}, [
241
+ .namedStep('showApiController', new api_controller_1.GenerateApiControllerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
241
242
  {
242
243
  sourceStep: 'listApiController',
243
244
  exposedName: '__succeeded',
@@ -257,7 +258,7 @@ class Model extends base_command_1.default {
257
258
  classType: 'show',
258
259
  handlerCommandClass: '',
259
260
  })
260
- .namedStep('createApiController', new api_controller_1.GenerateApiControllerStub(), {}, [
261
+ .namedStep('createApiController', new api_controller_1.GenerateApiControllerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
261
262
  {
262
263
  sourceStep: 'listApiController',
263
264
  exposedName: '__succeeded',
@@ -281,7 +282,7 @@ class Model extends base_command_1.default {
281
282
  ], {
282
283
  classType: 'create',
283
284
  })
284
- .namedStep('updateApiController', new api_controller_1.GenerateApiControllerStub(), {}, [
285
+ .namedStep('updateApiController', new api_controller_1.GenerateApiControllerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
285
286
  {
286
287
  sourceStep: 'listApiController',
287
288
  exposedName: '__succeeded',
@@ -305,7 +306,7 @@ class Model extends base_command_1.default {
305
306
  ], {
306
307
  classType: 'update',
307
308
  })
308
- .namedStep('deleteApiController', new api_controller_1.GenerateApiControllerStub(), {}, [
309
+ .namedStep('deleteApiController', new api_controller_1.GenerateApiControllerStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()), {}, [
309
310
  {
310
311
  sourceStep: 'listApiController',
311
312
  exposedName: '__succeeded',
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
2
  import BaseCommand from '../../../base-command';
3
+ import { FlarumProviders } from '../../../providers';
3
4
  export default class Policy extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
5
  const policy_1 = require("../../../steps/stubs/backend/policy");
6
6
  const policy_2 = require("../../../steps/extenders/policy");
7
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
7
8
  class Policy extends base_command_1.default {
8
9
  steps(stepManager) {
9
10
  return stepManager
10
11
  .atomicGroup(stepManager => {
11
12
  stepManager
12
- .namedStep('policy', new policy_1.GeneratePolicyStub())
13
+ .namedStep('policy', new policy_1.GeneratePolicyStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()))
13
14
  .step(new policy_2.GeneratePolicyExtender(), { optional: true, confirmationMessage: 'Generate corresponding extender?', default: true }, [
14
15
  {
15
16
  sourceStep: 'policy',
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
+ import { FlarumProviders } from '../../../providers';
2
3
  import BaseCommand from '../../../base-command';
3
4
  export default class Repository extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
5
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
6
  const repository_1 = require("../../../steps/stubs/backend/repository");
6
7
  class Repository extends base_command_1.default {
7
8
  steps(stepManager) {
8
- return stepManager.step(new repository_1.GenerateRepositoryStub());
9
+ return stepManager.step(new repository_1.GenerateRepositoryStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()));
9
10
  }
10
11
  }
11
12
  exports.default = Repository;
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
+ import { FlarumProviders } from '../../../providers';
2
3
  import BaseCommand from '../../../base-command';
3
4
  export default class Route extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
5
  const route_1 = require("../../../steps/extenders/route");
6
6
  class Route extends base_command_1.default {
7
7
  steps(stepManager) {
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
2
  import BaseCommand from '../../../base-command';
3
+ import { FlarumProviders } from '../../../providers';
3
4
  export default class ServiceProvider extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
5
  const service_provider_1 = require("../../../steps/stubs/backend/service-provider");
6
6
  const service_provider_2 = require("../../../steps/extenders/service-provider");
7
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
7
8
  class ServiceProvider extends base_command_1.default {
8
9
  steps(stepManager) {
9
10
  return stepManager
10
11
  .atomicGroup(stepManager => {
11
12
  stepManager
12
- .namedStep('provider', new service_provider_1.GenerateServiceProviderStub())
13
+ .namedStep('provider', new service_provider_1.GenerateServiceProviderStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()))
13
14
  .step(new service_provider_2.GenerateServiceProviderExtender(), { optional: true, confirmationMessage: 'Generate corresponding extender?', default: true }, [
14
15
  {
15
16
  sourceStep: 'provider',
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
+ import { FlarumProviders } from '../../../providers';
2
3
  import BaseCommand from '../../../base-command';
3
4
  export default class Validator extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
5
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
6
  const validator_1 = require("../../../steps/stubs/backend/validator");
6
7
  class Validator extends base_command_1.default {
7
8
  steps(stepManager) {
8
- return stepManager.step(new validator_1.GenerateValidatorStub());
9
+ return stepManager.step(new validator_1.GenerateValidatorStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()));
9
10
  }
10
11
  }
11
12
  exports.default = Validator;
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
+ import { FlarumProviders } from '../../../providers';
2
3
  import BaseCommand from '../../../base-command';
3
4
  export default class Component extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
5
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
6
  const component_1 = require("../../../steps/stubs/frontend/component");
6
7
  class Component extends base_command_1.default {
7
8
  steps(stepManager) {
8
- return stepManager.step(new component_1.GenerateComponentStub());
9
+ return stepManager.step(new component_1.GenerateComponentStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()));
9
10
  }
10
11
  }
11
12
  exports.default = Component;
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
+ import { FlarumProviders } from '../../../providers';
2
3
  import BaseCommand from '../../../base-command';
3
4
  export default class Modal extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
5
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
6
  const modal_1 = require("../../../steps/stubs/frontend/modal");
6
7
  class Modal extends base_command_1.default {
7
8
  steps(stepManager) {
8
- return stepManager.step(new modal_1.GenerateModalStub());
9
+ return stepManager.step(new modal_1.GenerateModalStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()));
9
10
  }
10
11
  }
11
12
  exports.default = Modal;
@@ -1,13 +1,14 @@
1
- import { StepManager } from '../../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
2
  import BaseCommand from '../../../base-command';
3
+ import { FlarumProviders } from '../../../providers';
3
4
  export default class Model extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  }
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const base_command_1 = tslib_1.__importDefault(require("../../../base-command"));
4
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../../base-command"));
5
5
  const model_1 = require("../../../steps/stubs/frontend/model");
6
6
  const model_2 = require("../../../steps/js/model");
7
+ const gen_ext_scaffolder_1 = require("../../../steps/gen-ext-scaffolder");
7
8
  class Model extends base_command_1.default {
8
9
  steps(stepManager) {
9
10
  return stepManager
10
11
  .atomicGroup(stepManager => {
11
12
  stepManager
12
- .namedStep('model', new model_1.GenerateModelStub())
13
+ .namedStep('model', new model_1.GenerateModelStub(this.STUB_PATH, (0, gen_ext_scaffolder_1.genExtScaffolder)()))
13
14
  .step(new model_2.GenerateModelDefinition(), {}, [
14
15
  {
15
16
  sourceStep: 'model',
@@ -1,14 +1,15 @@
1
- import { StepManager } from '../../steps/step-manager';
1
+ import { StepManager } from 'boilersmith/step-manager';
2
2
  import BaseCommand from '../../base-command';
3
+ import { FlarumProviders } from '../../providers';
3
4
  export default class UpdateJsImports extends BaseCommand {
4
5
  static description: string;
5
6
  static flags: {
6
- [x: string]: import("@oclif/command/lib/flags").IFlag<any>;
7
+ [x: string]: import("@oclif/core/lib/interfaces").CompletableFlag<any>;
7
8
  };
8
9
  static args: {
9
10
  name: string;
10
11
  description: string;
11
12
  }[];
12
- protected steps(stepManager: StepManager): StepManager;
13
+ protected steps(stepManager: StepManager<FlarumProviders>): StepManager<FlarumProviders>;
13
14
  protected additionalPreRunChecks(extRoot: string): Promise<void>;
14
15
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const js_imports_1 = require("../../steps/update/js-imports");
5
- const base_command_1 = tslib_1.__importDefault(require("../../base-command"));
5
+ const base_command_1 = (0, tslib_1.__importDefault)(require("../../base-command"));
6
6
  class UpdateJsImports extends base_command_1.default {
7
7
  steps(stepManager) {
8
8
  return stepManager
package/lib/help.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- import { Command, Topic } from '@oclif/config';
2
- import { Help as HelpDefault } from '@oclif/plugin-help';
1
+ import { Interfaces, Help as HelpDefault } from '@oclif/core';
3
2
  export default class Help extends HelpDefault {
4
3
  protected formatRoot(): string;
5
- protected formatCommand(command: Command): string;
6
- protected formatCommands(commands: Command[]): string;
7
- protected formatTopic(topic: Topic): string;
8
- protected formatTopics(topics: Topic[]): string;
4
+ protected formatCommand(command: Interfaces.Command): string;
5
+ protected formatCommands(commands: Interfaces.Command[]): string;
6
+ protected formatTopic(topic: Interfaces.Topic): string;
7
+ protected formatTopics(topics: Interfaces.Topic[]): string;
9
8
  }
package/lib/help.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const plugin_help_1 = require("@oclif/plugin-help");
5
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
4
+ const core_1 = require("@oclif/core");
5
+ const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
6
6
  const COLON_REGEX = /:/g;
7
7
  function prepCommand(command) {
8
- return Object.assign({}, command, { id: chalk_1.default.green(command.id.replace(COLON_REGEX, ' ')) });
8
+ var _a, _b;
9
+ return Object.assign({}, command, { id: chalk_1.default.green((_b = (_a = command.id) === null || _a === void 0 ? void 0 : _a.replace(COLON_REGEX, ' ')) !== null && _b !== void 0 ? _b : '') });
9
10
  }
10
11
  function prepTopic(topic) {
11
12
  return Object.assign({}, topic, { name: chalk_1.default.green(topic.name.replace(COLON_REGEX, ' ')) });
@@ -15,7 +16,7 @@ function colorHeaders(text) {
15
16
  return chalk_1.default.yellow(match);
16
17
  });
17
18
  }
18
- class Help extends plugin_help_1.Help {
19
+ class Help extends core_1.Help {
19
20
  formatRoot() {
20
21
  return colorHeaders(super.formatRoot());
21
22
  }
package/lib/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { run } from '@oclif/command';
1
+ export { run } from '@oclif/core';
package/lib/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var command_1 = require("@oclif/command");
4
- Object.defineProperty(exports, "run", { enumerable: true, get: function () { return command_1.run; } });
3
+ exports.run = void 0;
4
+ var core_1 = require("@oclif/core");
5
+ Object.defineProperty(exports, "run", { enumerable: true, get: function () { return core_1.run; } });
@@ -0,0 +1,5 @@
1
+ import { DefaultProviders } from 'boilersmith/step-manager';
2
+ import { PhpProvider } from './php-provider';
3
+ export interface FlarumProviders extends DefaultProviders {
4
+ php: PhpProvider;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
File without changes