@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.
- package/README.md +2 -2
- package/bin/run +5 -3
- package/boilerplate/skeleton/extension/.gitattributes +16 -3
- package/boilerplate/skeleton/extension/.github/workflows/backend.yml +15 -0
- package/boilerplate/skeleton/extension/.github/workflows/frontend.yml +20 -0
- package/boilerplate/skeleton/extension/.styleci.yml +14 -0
- package/boilerplate/skeleton/extension/LICENSE.md +1 -0
- package/boilerplate/skeleton/extension/README.md +7 -7
- package/boilerplate/skeleton/extension/composer.json +11 -9
- package/boilerplate/skeleton/extension/extend.php +10 -10
- package/boilerplate/skeleton/extension/js/admin.js +2 -1
- package/boilerplate/skeleton/extension/js/forum.js +2 -1
- package/boilerplate/skeleton/extension/js/package.json +13 -9
- package/boilerplate/skeleton/extension/js/src/admin/index.js +4 -2
- package/boilerplate/skeleton/extension/js/src/common/index.js +5 -0
- package/boilerplate/skeleton/extension/js/src/forum/index.js +4 -2
- package/boilerplate/skeleton/extension/js/tsconfig.json +6 -1
- package/boilerplate/skeleton/extension/locale/en.yml +1 -1
- package/boilerplate/stubs/migration.php +1 -1
- package/lib/base-command.d.ts +27 -6
- package/lib/base-command.js +131 -41
- package/lib/boilersmith/exposed-param-manager.d.ts +8 -0
- package/lib/boilersmith/exposed-param-manager.js +31 -0
- package/lib/boilersmith/io.d.ts +50 -0
- package/lib/boilersmith/io.js +72 -0
- package/lib/boilersmith/paths.d.ts +22 -0
- package/lib/boilersmith/paths.js +29 -0
- package/lib/boilersmith/scaffolding/audit-step-factory.d.ts +5 -0
- package/lib/boilersmith/scaffolding/audit-step-factory.js +54 -0
- package/lib/boilersmith/scaffolding/infra-step-factory.d.ts +5 -0
- package/lib/boilersmith/scaffolding/infra-step-factory.js +34 -0
- package/lib/boilersmith/scaffolding/init-step-factory.d.ts +5 -0
- package/lib/boilersmith/scaffolding/init-step-factory.js +34 -0
- package/lib/boilersmith/scaffolding/module.d.ts +68 -0
- package/lib/boilersmith/scaffolding/module.js +111 -0
- package/lib/boilersmith/scaffolding/scaffolder.d.ts +32 -0
- package/lib/boilersmith/scaffolding/scaffolder.js +203 -0
- package/lib/boilersmith/scaffolding/template-param.d.ts +23 -0
- package/lib/boilersmith/scaffolding/template-param.js +46 -0
- package/lib/boilersmith/step-manager.d.ts +85 -0
- package/lib/boilersmith/step-manager.js +234 -0
- package/lib/boilersmith/steps/stub-base.d.ts +53 -0
- package/lib/boilersmith/steps/stub-base.js +54 -0
- package/lib/{utils → boilersmith/utils}/clone-and-fill.d.ts +0 -0
- package/lib/{utils → boilersmith/utils}/clone-and-fill.js +2 -2
- package/lib/boilersmith/utils/cond-format.d.ts +1 -0
- package/lib/boilersmith/utils/cond-format.js +8 -0
- package/lib/boilersmith/utils/json-leaf-paths.d.ts +7 -0
- package/lib/boilersmith/utils/json-leaf-paths.js +17 -0
- package/lib/boilersmith/utils/read-tpl.d.ts +2 -0
- package/lib/boilersmith/utils/read-tpl.js +10 -0
- package/lib/boilersmith/utils/rename-keys.d.ts +1 -0
- package/lib/boilersmith/utils/rename-keys.js +7 -0
- package/lib/commands/audit/infra.d.ts +16 -0
- package/lib/commands/audit/infra.js +27 -0
- package/lib/commands/infra.d.ts +20 -0
- package/lib/commands/infra.js +55 -0
- package/lib/commands/init.d.ts +4 -3
- package/lib/commands/init.js +8 -6
- package/lib/commands/make/backend/api-controller.d.ts +4 -3
- package/lib/commands/make/backend/api-controller.js +3 -2
- package/lib/commands/make/backend/api-serializer-attributes.d.ts +4 -3
- package/lib/commands/make/backend/api-serializer-attributes.js +1 -1
- package/lib/commands/make/backend/api-serializer.d.ts +4 -3
- package/lib/commands/make/backend/api-serializer.js +3 -2
- package/lib/commands/make/backend/command.d.ts +4 -3
- package/lib/commands/make/backend/command.js +3 -2
- package/lib/commands/make/backend/event-listener.d.ts +4 -3
- package/lib/commands/make/backend/event-listener.js +3 -2
- package/lib/commands/make/backend/handler.d.ts +4 -3
- package/lib/commands/make/backend/handler.js +4 -3
- package/lib/commands/make/backend/integration-test.d.ts +4 -3
- package/lib/commands/make/backend/integration-test.js +3 -2
- package/lib/commands/make/backend/job.d.ts +4 -3
- package/lib/commands/make/backend/job.js +3 -2
- package/lib/commands/make/backend/migration.d.ts +4 -3
- package/lib/commands/make/backend/migration.js +3 -2
- package/lib/commands/make/backend/model.d.ts +4 -3
- package/lib/commands/make/backend/model.js +22 -21
- package/lib/commands/make/backend/policy.d.ts +4 -3
- package/lib/commands/make/backend/policy.js +3 -2
- package/lib/commands/make/backend/repository.d.ts +4 -3
- package/lib/commands/make/backend/repository.js +3 -2
- package/lib/commands/make/backend/route.d.ts +4 -3
- package/lib/commands/make/backend/route.js +1 -1
- package/lib/commands/make/backend/service-provider.d.ts +4 -3
- package/lib/commands/make/backend/service-provider.js +3 -2
- package/lib/commands/make/backend/validator.d.ts +4 -3
- package/lib/commands/make/backend/validator.js +3 -2
- package/lib/commands/make/frontend/component.d.ts +4 -3
- package/lib/commands/make/frontend/component.js +3 -2
- package/lib/commands/make/frontend/modal.d.ts +4 -3
- package/lib/commands/make/frontend/modal.js +3 -2
- package/lib/commands/make/frontend/model.d.ts +4 -3
- package/lib/commands/make/frontend/model.js +3 -2
- package/lib/commands/update/js-imports.d.ts +4 -3
- package/lib/commands/update/js-imports.js +1 -1
- package/lib/help.d.ts +5 -6
- package/lib/help.js +5 -4
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -2
- package/lib/providers/index.d.ts +5 -0
- package/lib/providers/index.js +2 -0
- package/lib/{provider → providers}/php-provider.d.ts +0 -0
- package/lib/{provider → providers}/php-provider.js +2 -2
- package/lib/steps/extenders/api-serializer.js +2 -3
- package/lib/steps/extenders/base.d.ts +10 -10
- package/lib/steps/extenders/base.js +11 -11
- package/lib/steps/extenders/console-command.js +2 -3
- package/lib/steps/extenders/event.js +2 -3
- package/lib/steps/extenders/policy.js +2 -3
- package/lib/steps/extenders/route.js +2 -3
- package/lib/steps/extenders/service-provider.js +2 -3
- package/lib/steps/gen-ext-scaffolder.d.ts +6 -0
- package/lib/steps/gen-ext-scaffolder.js +508 -0
- package/lib/steps/js/base.d.ts +9 -9
- package/lib/steps/js/base.js +11 -11
- package/lib/steps/js/model.d.ts +5 -5
- package/lib/steps/js/model.js +8 -13
- package/lib/steps/misc/composer.d.ts +5 -6
- package/lib/steps/misc/composer.js +3 -3
- package/lib/steps/misc/git.d.ts +11 -0
- package/lib/steps/misc/git.js +20 -0
- package/lib/steps/misc/yarn.d.ts +5 -6
- package/lib/steps/misc/yarn.js +3 -3
- package/lib/steps/stubs/backend/api-controller.d.ts +1 -8
- package/lib/steps/stubs/backend/api-controller.js +2 -3
- package/lib/steps/stubs/backend/api-serializer.d.ts +4 -9
- package/lib/steps/stubs/backend/api-serializer.js +4 -4
- package/lib/steps/stubs/backend/command.d.ts +0 -5
- package/lib/steps/stubs/backend/command.js +1 -1
- package/lib/steps/stubs/backend/event-listener.d.ts +0 -5
- package/lib/steps/stubs/backend/event-listener.js +1 -1
- package/lib/steps/stubs/backend/handler-command.js +1 -1
- package/lib/steps/stubs/backend/handler.js +1 -1
- package/lib/steps/stubs/backend/migration.d.ts +4 -5
- package/lib/steps/stubs/backend/migration.js +8 -8
- package/lib/steps/stubs/backend/model.d.ts +4 -4
- package/lib/steps/stubs/backend/model.js +4 -4
- package/lib/steps/stubs/backend/policy.d.ts +0 -5
- package/lib/steps/stubs/backend/policy.js +1 -1
- package/lib/steps/stubs/backend/repository.d.ts +0 -5
- package/lib/steps/stubs/backend/repository.js +1 -1
- package/lib/steps/stubs/flarum-base.d.ts +9 -0
- package/lib/steps/stubs/flarum-base.js +10 -0
- package/lib/steps/stubs/frontend/component.js +0 -1
- package/lib/steps/stubs/frontend/modal.js +0 -1
- package/lib/steps/stubs/frontend/model.d.ts +4 -4
- package/lib/steps/stubs/frontend/model.js +3 -3
- package/lib/steps/stubs/js-base.d.ts +6 -7
- package/lib/steps/stubs/js-base.js +11 -16
- package/lib/steps/stubs/php-base.d.ts +7 -8
- package/lib/steps/stubs/php-base.js +12 -20
- package/lib/steps/update/js-imports.d.ts +5 -6
- package/lib/steps/update/js-imports.js +13 -17
- package/lib/utils/composer.d.ts +64 -0
- package/lib/utils/composer.js +8 -0
- package/lib/utils/migration.js +3 -3
- package/lib/utils/model-name.js +6 -6
- package/lib/utils/validation.d.ts +10 -7
- package/lib/utils/validation.js +9 -6
- package/oclif.manifest.json +1 -1
- package/package.json +53 -31
- package/php-subsystem/src/NodeVisitors/AddExtender.php +2 -1
- package/boilerplate/skeleton/extension/.github/workflows/build.yml +0 -32
- package/boilerplate/skeleton/extension/.github/workflows/lint.yml +0 -32
- package/boilerplate/skeleton/extension/.github/workflows/test.yml +0 -78
- package/lib/commands/infra/backend-testing.d.ts +0 -14
- package/lib/commands/infra/backend-testing.js +0 -26
- package/lib/provider/param-provider.d.ts +0 -15
- package/lib/provider/param-provider.js +0 -39
- package/lib/provider/path-provider.d.ts +0 -19
- package/lib/provider/path-provider.js +0 -24
- package/lib/steps/infra/backend-testing.d.ts +0 -8
- package/lib/steps/infra/backend-testing.js +0 -22
- package/lib/steps/infra/base.d.ts +0 -20
- package/lib/steps/infra/base.js +0 -36
- package/lib/steps/init/extension-skeleton.d.ts +0 -12
- package/lib/steps/init/extension-skeleton.js +0 -142
- package/lib/steps/step-manager.d.ts +0 -71
- package/lib/steps/step-manager.js +0 -173
- package/lib/steps/stubs/base.d.ts +0 -49
- package/lib/steps/stubs/base.js +0 -58
- package/lib/utils/extension-metadata.d.ts +0 -2
- package/lib/utils/extension-metadata.js +0 -21
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ComposerInstall = void 0;
|
|
4
|
-
const
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
5
|
class ComposerInstall {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.type = 'Run composer install/update';
|
|
8
8
|
this.composable = false;
|
|
9
9
|
this.exposes = [];
|
|
10
10
|
}
|
|
11
|
-
async run(fs,
|
|
12
|
-
|
|
11
|
+
async run(fs, paths, _paramProvider, _providers) {
|
|
12
|
+
(0, node_child_process_1.execSync)('composer update', { cwd: paths.package('') });
|
|
13
13
|
return fs;
|
|
14
14
|
}
|
|
15
15
|
getExposed() {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Store } from 'mem-fs';
|
|
2
|
+
import { IO } from 'boilersmith/io';
|
|
3
|
+
import { Paths } from 'boilersmith/paths';
|
|
4
|
+
import { DefaultProviders, Step } from 'boilersmith/step-manager';
|
|
5
|
+
export declare class GitInit implements Step {
|
|
6
|
+
type: string;
|
|
7
|
+
composable: boolean;
|
|
8
|
+
run(fs: Store, _paths: Paths, _paramProvider: IO, _providers: DefaultProviders): Promise<Store>;
|
|
9
|
+
exposes: never[];
|
|
10
|
+
getExposed(): Record<string, unknown>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GitInit = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const simple_git_1 = (0, tslib_1.__importDefault)(require("simple-git"));
|
|
6
|
+
class GitInit {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.type = 'Run git init';
|
|
9
|
+
this.composable = false;
|
|
10
|
+
this.exposes = [];
|
|
11
|
+
}
|
|
12
|
+
async run(fs, _paths, _paramProvider, _providers) {
|
|
13
|
+
(0, simple_git_1.default)().init();
|
|
14
|
+
return fs;
|
|
15
|
+
}
|
|
16
|
+
getExposed() {
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.GitInit = GitInit;
|
package/lib/steps/misc/yarn.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Store } from 'mem-fs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { Step } from '../step-manager';
|
|
2
|
+
import { IO } from 'boilersmith/io';
|
|
3
|
+
import { Paths } from 'boilersmith/paths';
|
|
4
|
+
import { DefaultProviders, Step } from 'boilersmith/step-manager';
|
|
6
5
|
export declare class YarnInstall implements Step {
|
|
7
6
|
type: string;
|
|
8
7
|
composable: boolean;
|
|
9
|
-
run(fs: Store,
|
|
8
|
+
run(fs: Store, paths: Paths, _paramProvider: IO, _providers: DefaultProviders): Promise<Store>;
|
|
10
9
|
exposes: never[];
|
|
11
|
-
getExposed():
|
|
10
|
+
getExposed(): Record<string, unknown>;
|
|
12
11
|
}
|
package/lib/steps/misc/yarn.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.YarnInstall = void 0;
|
|
4
|
-
const
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
5
|
class YarnInstall {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.type = 'Run yarn install';
|
|
8
8
|
this.composable = false;
|
|
9
9
|
this.exposes = [];
|
|
10
10
|
}
|
|
11
|
-
async run(fs,
|
|
12
|
-
|
|
11
|
+
async run(fs, paths, _paramProvider, _providers) {
|
|
12
|
+
(0, node_child_process_1.execSync)('yarn install', { cwd: paths.package('js') });
|
|
13
13
|
return fs;
|
|
14
14
|
}
|
|
15
15
|
getExposed() {
|
|
@@ -35,14 +35,7 @@ export declare class GenerateApiControllerStub extends BasePhpStubStep {
|
|
|
35
35
|
name: string;
|
|
36
36
|
type: string;
|
|
37
37
|
message: string;
|
|
38
|
-
validate: typeof Validator.
|
|
39
|
-
choices?: undefined;
|
|
40
|
-
optional?: undefined;
|
|
41
|
-
} | {
|
|
42
|
-
name: string;
|
|
43
|
-
type: string;
|
|
44
|
-
message: string;
|
|
45
|
-
validate: (s: string) => true | "Invalid PHP class. Must be qualified, but not fully qualified.";
|
|
38
|
+
validate: typeof Validator.optionalClass;
|
|
46
39
|
optional: boolean;
|
|
47
40
|
choices?: undefined;
|
|
48
41
|
})[];
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateApiControllerStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
|
|
6
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
7
6
|
const validation_1 = require("../../../utils/validation");
|
|
8
7
|
const php_base_1 = require("../php-base");
|
|
9
8
|
class GenerateApiControllerStub extends php_base_1.BasePhpStubStep {
|
|
@@ -49,7 +48,7 @@ class GenerateApiControllerStub extends php_base_1.BasePhpStubStep {
|
|
|
49
48
|
name: 'handlerCommandClass',
|
|
50
49
|
type: 'text',
|
|
51
50
|
message: `Handler Command Class (${chalk_1.default.dim('Vendor\\Path\\Command')}) (Optional)`,
|
|
52
|
-
validate:
|
|
51
|
+
validate: validation_1.Validator.optionalClass,
|
|
53
52
|
optional: true,
|
|
54
53
|
},
|
|
55
54
|
{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { PathProvider } from '../../../provider/path-provider';
|
|
1
|
+
import { IO } from 'boilersmith/io';
|
|
2
|
+
import { Paths } from 'boilersmith/paths';
|
|
4
3
|
import { Validator } from '../../../utils/validation';
|
|
5
4
|
import { BasePhpStubStep } from '../php-base';
|
|
5
|
+
import { Store } from 'mem-fs';
|
|
6
6
|
export declare class GenerateApiSerializerStub extends BasePhpStubStep {
|
|
7
7
|
type: string;
|
|
8
8
|
protected additionalExposes: string[];
|
|
@@ -21,12 +21,7 @@ export declare class GenerateApiSerializerStub extends BasePhpStubStep {
|
|
|
21
21
|
type: string;
|
|
22
22
|
message?: undefined;
|
|
23
23
|
validate?: undefined;
|
|
24
|
-
} | {
|
|
25
|
-
name: string;
|
|
26
|
-
type: string;
|
|
27
|
-
message: string;
|
|
28
|
-
validate: typeof Validator.class;
|
|
29
24
|
})[];
|
|
30
25
|
};
|
|
31
|
-
protected compileParams(
|
|
26
|
+
protected compileParams(fs: Store, paths: Paths, io: IO): Promise<Record<string, unknown>>;
|
|
32
27
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateApiSerializerStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
6
6
|
const validation_1 = require("../../../utils/validation");
|
|
7
7
|
const model_name_1 = require("../../../utils/model-name");
|
|
8
8
|
const php_base_1 = require("../php-base");
|
|
@@ -44,9 +44,9 @@ class GenerateApiSerializerStub extends php_base_1.BasePhpStubStep {
|
|
|
44
44
|
],
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
async compileParams(
|
|
48
|
-
const params = await super.compileParams(
|
|
49
|
-
params.modelType = model_name_1.pluralKebabCaseModel(params.modelClassName);
|
|
47
|
+
async compileParams(fs, paths, io) {
|
|
48
|
+
const params = await super.compileParams(fs, paths, io);
|
|
49
|
+
params.modelType = (0, model_name_1.pluralKebabCaseModel)(params.modelClassName);
|
|
50
50
|
return params;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -17,11 +17,6 @@ export declare class GenerateCommandStub extends BasePhpStubStep {
|
|
|
17
17
|
type: string;
|
|
18
18
|
message?: undefined;
|
|
19
19
|
validate?: undefined;
|
|
20
|
-
} | {
|
|
21
|
-
name: string;
|
|
22
|
-
type: string;
|
|
23
|
-
message: string;
|
|
24
|
-
validate: typeof Validator.commandName;
|
|
25
20
|
} | {
|
|
26
21
|
name: string;
|
|
27
22
|
type: string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateCommandStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
6
6
|
const validation_1 = require("../../../utils/validation");
|
|
7
7
|
const php_base_1 = require("../php-base");
|
|
8
8
|
class GenerateCommandStub extends php_base_1.BasePhpStubStep {
|
|
@@ -17,11 +17,6 @@ export declare class GenerateEventListenerStub extends BasePhpStubStep {
|
|
|
17
17
|
type: string;
|
|
18
18
|
message?: undefined;
|
|
19
19
|
validate?: undefined;
|
|
20
|
-
} | {
|
|
21
|
-
name: string;
|
|
22
|
-
type: string;
|
|
23
|
-
message: string;
|
|
24
|
-
validate: typeof Validator.class;
|
|
25
20
|
})[];
|
|
26
21
|
};
|
|
27
22
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateEventListenerStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
6
6
|
const validation_1 = require("../../../utils/validation");
|
|
7
7
|
const php_base_1 = require("../php-base");
|
|
8
8
|
class GenerateEventListenerStub extends php_base_1.BasePhpStubStep {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateHandlerCommandStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
6
6
|
const validation_1 = require("../../../utils/validation");
|
|
7
7
|
const php_base_1 = require("../php-base");
|
|
8
8
|
class GenerateHandlerCommandStub extends php_base_1.BasePhpStubStep {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GenerateHandlerStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
/* eslint-disable no-warning-comments */
|
|
6
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
7
7
|
const validation_1 = require("../../../utils/validation");
|
|
8
8
|
const php_base_1 = require("../php-base");
|
|
9
9
|
class GenerateHandlerStub extends php_base_1.BasePhpStubStep {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Store } from 'mem-fs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { PathProvider } from '../../../provider/path-provider';
|
|
2
|
+
import { IO } from 'boilersmith/io';
|
|
3
|
+
import { Paths } from 'boilersmith/paths';
|
|
5
4
|
import { Validator } from '../../../utils/validation';
|
|
6
5
|
import { BasePhpStubStep } from '../php-base';
|
|
7
6
|
export declare class GenerateMigrationStub extends BasePhpStubStep {
|
|
@@ -18,6 +17,6 @@ export declare class GenerateMigrationStub extends BasePhpStubStep {
|
|
|
18
17
|
validate: typeof Validator.migrationName;
|
|
19
18
|
}[];
|
|
20
19
|
};
|
|
21
|
-
protected compileParams(
|
|
22
|
-
protected getFileName(fs: Store,
|
|
20
|
+
protected compileParams(fs: Store, paths: Paths, io: IO): Promise<Record<string, unknown>>;
|
|
21
|
+
protected getFileName(fs: Store, paths: Paths, _paramProvider: IO): Promise<string>;
|
|
23
22
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateMigrationStub = void 0;
|
|
4
|
-
const
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
5
|
const validation_1 = require("../../../utils/validation");
|
|
6
6
|
const migration_1 = require("../../../utils/migration");
|
|
7
7
|
const php_base_1 = require("../php-base");
|
|
@@ -24,25 +24,25 @@ class GenerateMigrationStub extends php_base_1.BasePhpStubStep {
|
|
|
24
24
|
],
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
async compileParams(
|
|
27
|
+
async compileParams(fs, paths, io) {
|
|
28
28
|
var _a;
|
|
29
|
-
const params = await super.compileParams(
|
|
30
|
-
const regex = new RegExp(/^create_([
|
|
29
|
+
const params = await super.compileParams(fs, paths, io);
|
|
30
|
+
const regex = new RegExp(/^create_([\dA-z]+)_table$/);
|
|
31
31
|
if (regex.test(params.name)) {
|
|
32
32
|
params.tableName = (_a = regex.exec(params.name)) === null || _a === void 0 ? void 0 : _a.pop();
|
|
33
33
|
}
|
|
34
34
|
return params;
|
|
35
35
|
}
|
|
36
|
-
async getFileName(fs,
|
|
36
|
+
async getFileName(fs, paths, _paramProvider) {
|
|
37
37
|
let persistedMigrations;
|
|
38
38
|
try {
|
|
39
|
-
persistedMigrations =
|
|
39
|
+
persistedMigrations = (0, node_fs_1.readdirSync)(paths.package('migrations'));
|
|
40
40
|
}
|
|
41
41
|
catch (_a) {
|
|
42
42
|
persistedMigrations = [];
|
|
43
43
|
}
|
|
44
|
-
const memMigrations = fs.all().map(f => f.path).filter(p => p.startsWith(
|
|
45
|
-
return migration_1.getNextMigrationName([...persistedMigrations, ...memMigrations], this.params.name) + '.php';
|
|
44
|
+
const memMigrations = fs.all().map(f => f.path).filter(p => p.startsWith(paths.package('migrations')));
|
|
45
|
+
return (0, migration_1.getNextMigrationName)([...persistedMigrations, ...memMigrations], this.params.name) + '.php';
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
exports.GenerateMigrationStub = GenerateMigrationStub;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { PathProvider } from '../../../provider/path-provider';
|
|
1
|
+
import { IO } from 'boilersmith/io';
|
|
2
|
+
import { Paths } from 'boilersmith/paths';
|
|
4
3
|
import { Validator } from '../../../utils/validation';
|
|
5
4
|
import { BasePhpStubStep } from '../php-base';
|
|
5
|
+
import { Store } from 'mem-fs';
|
|
6
6
|
export declare class GenerateModelStub extends BasePhpStubStep {
|
|
7
7
|
type: string;
|
|
8
8
|
protected additionalExposes: string[];
|
|
@@ -30,5 +30,5 @@ export declare class GenerateModelStub extends BasePhpStubStep {
|
|
|
30
30
|
optional: boolean;
|
|
31
31
|
})[];
|
|
32
32
|
};
|
|
33
|
-
protected compileParams(
|
|
33
|
+
protected compileParams(fs: Store, paths: Paths, io: IO): Promise<Record<string, unknown>>;
|
|
34
34
|
}
|
|
@@ -34,10 +34,10 @@ class GenerateModelStub extends php_base_1.BasePhpStubStep {
|
|
|
34
34
|
],
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
async compileParams(
|
|
38
|
-
const params = await super.compileParams(
|
|
39
|
-
params.modelPluralSnake = model_name_1.pluralSnakeCaseModel(params.className);
|
|
40
|
-
params.modelPluralKebab = model_name_1.pluralKebabCaseModel(params.className);
|
|
37
|
+
async compileParams(fs, paths, io) {
|
|
38
|
+
const params = await super.compileParams(fs, paths, io);
|
|
39
|
+
params.modelPluralSnake = (0, model_name_1.pluralSnakeCaseModel)(params.className);
|
|
40
|
+
params.modelPluralKebab = (0, model_name_1.pluralKebabCaseModel)(params.className);
|
|
41
41
|
if (!params.tableName) {
|
|
42
42
|
params.tableName = params.modelPluralSnake;
|
|
43
43
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GeneratePolicyStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
6
6
|
const validation_1 = require("../../../utils/validation");
|
|
7
7
|
const php_base_1 = require("../php-base");
|
|
8
8
|
class GeneratePolicyStub extends php_base_1.BasePhpStubStep {
|
|
@@ -17,11 +17,6 @@ export declare class GenerateRepositoryStub extends BasePhpStubStep {
|
|
|
17
17
|
type: string;
|
|
18
18
|
message?: undefined;
|
|
19
19
|
validate?: undefined;
|
|
20
|
-
} | {
|
|
21
|
-
name: string;
|
|
22
|
-
type: string;
|
|
23
|
-
message: string;
|
|
24
|
-
validate: typeof Validator.class;
|
|
25
20
|
})[];
|
|
26
21
|
};
|
|
27
22
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateRepositoryStub = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
6
6
|
const validation_1 = require("../../../utils/validation");
|
|
7
7
|
const php_base_1 = require("../php-base");
|
|
8
8
|
class GenerateRepositoryStub extends php_base_1.BasePhpStubStep {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IO } from 'boilersmith/io';
|
|
2
|
+
import { Paths } from 'boilersmith/paths';
|
|
3
|
+
import { BaseStubStep } from 'boilersmith/steps/stub-base';
|
|
4
|
+
import { Store } from 'mem-fs';
|
|
5
|
+
import { FlarumProviders } from '../../providers';
|
|
6
|
+
import { ExtensionModules, ExtensionParams } from '../gen-ext-scaffolder';
|
|
7
|
+
export declare abstract class FlarumBaseStubStep extends BaseStubStep<FlarumProviders, ExtensionParams, ExtensionModules> {
|
|
8
|
+
protected precompileParams(fs: Store, paths: Paths, io: IO): Promise<Record<string, unknown>>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlarumBaseStubStep = void 0;
|
|
4
|
+
const stub_base_1 = require("boilersmith/steps/stub-base");
|
|
5
|
+
class FlarumBaseStubStep extends stub_base_1.BaseStubStep {
|
|
6
|
+
async precompileParams(fs, paths, io) {
|
|
7
|
+
return Object.assign(Object.assign({}, await super.precompileParams(fs, paths, io)), { extensionId: this.scaffolder.templateParamVal('extensionId', fs, paths, io) });
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.FlarumBaseStubStep = FlarumBaseStubStep;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateComponentStub = void 0;
|
|
4
|
-
/* eslint-disable no-template-curly-in-string */
|
|
5
4
|
const validation_1 = require("../../../utils/validation");
|
|
6
5
|
const js_base_1 = require("../js-base");
|
|
7
6
|
class GenerateComponentStub extends js_base_1.BaseJsStubStep {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenerateModalStub = void 0;
|
|
4
|
-
/* eslint-disable no-template-curly-in-string */
|
|
5
4
|
const validation_1 = require("../../../utils/validation");
|
|
6
5
|
const js_base_1 = require("../js-base");
|
|
7
6
|
class GenerateModalStub extends js_base_1.BaseJsStubStep {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { PathProvider } from '../../../provider/path-provider';
|
|
1
|
+
import { IO } from 'boilersmith/io';
|
|
2
|
+
import { Paths } from 'boilersmith/paths';
|
|
4
3
|
import { Validator } from '../../../utils/validation';
|
|
5
4
|
import { BaseJsStubStep } from '../js-base';
|
|
5
|
+
import { Store } from 'mem-fs';
|
|
6
6
|
export declare class GenerateModelStub extends BaseJsStubStep {
|
|
7
7
|
type: string;
|
|
8
8
|
protected additionalExposes: string[];
|
|
@@ -26,5 +26,5 @@ export declare class GenerateModelStub extends BaseJsStubStep {
|
|
|
26
26
|
validate?: undefined;
|
|
27
27
|
})[];
|
|
28
28
|
};
|
|
29
|
-
protected compileParams(
|
|
29
|
+
protected compileParams(fs: Store, paths: Paths, io: IO): Promise<Record<string, unknown>>;
|
|
30
30
|
}
|
|
@@ -31,9 +31,9 @@ class GenerateModelStub extends js_base_1.BaseJsStubStep {
|
|
|
31
31
|
],
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
async compileParams(
|
|
35
|
-
const params = await super.compileParams(
|
|
36
|
-
params.modelType = model_name_1.pluralKebabCaseModel(params.className);
|
|
34
|
+
async compileParams(fs, paths, io) {
|
|
35
|
+
const params = await super.compileParams(fs, paths, io);
|
|
36
|
+
params.modelType = (0, model_name_1.pluralKebabCaseModel)(params.className);
|
|
37
37
|
return params;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Store } from 'mem-fs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
export declare abstract class BaseJsStubStep extends BaseStubStep {
|
|
2
|
+
import { IO } from 'boilersmith/io';
|
|
3
|
+
import { Paths } from 'boilersmith/paths';
|
|
4
|
+
import { FlarumBaseStubStep } from './flarum-base';
|
|
5
|
+
export declare abstract class BaseJsStubStep extends FlarumBaseStubStep {
|
|
7
6
|
protected defaultRoot: string;
|
|
8
7
|
get exposes(): string[];
|
|
9
8
|
get implicitParams(): string[];
|
|
10
|
-
protected precompileParams(
|
|
11
|
-
protected getFileName(_fs: Store,
|
|
9
|
+
protected precompileParams(fs: Store, paths: Paths, io: IO): Promise<Record<string, unknown>>;
|
|
10
|
+
protected getFileName(_fs: Store, _paths: Paths, io: IO): Promise<string>;
|
|
12
11
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseJsStubStep = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
class BaseJsStubStep extends
|
|
4
|
+
const clone_and_fill_1 = require("../../boilersmith/utils/clone-and-fill");
|
|
5
|
+
const flarum_base_1 = require("./flarum-base");
|
|
6
|
+
class BaseJsStubStep extends flarum_base_1.FlarumBaseStubStep {
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
9
|
this.defaultRoot = './js/src';
|
|
@@ -14,23 +14,18 @@ class BaseJsStubStep extends base_1.BaseStubStep {
|
|
|
14
14
|
get implicitParams() {
|
|
15
15
|
return [...super.implicitParams, 'classNamespace'];
|
|
16
16
|
}
|
|
17
|
-
async precompileParams(
|
|
18
|
-
const params = await super.precompileParams(
|
|
17
|
+
async precompileParams(fs, paths, io) {
|
|
18
|
+
const params = await super.precompileParams(fs, paths, io);
|
|
19
19
|
const paramDefs = this.schema.params.filter(param => !this.implicitParams.includes(param.name));
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.subdir = pathProvider.requestedDir().slice(`${pathProvider.ext('js/src')}/`.length);
|
|
25
|
-
}
|
|
26
|
-
params.frontend = await paramProvider.get(paramDefs.find(param => param.name === 'frontend'));
|
|
27
|
-
params.className = await paramProvider.get(paramDefs.find(param => param.name === 'className'));
|
|
28
|
-
this.subdir = clone_and_fill_1.cloneAndFill(this.subdir, params);
|
|
20
|
+
this.subdir = this.schema.forceRecommendedSubdir || paths.requestedDir() === null ? this.schema.recommendedSubdir : paths.requestedDir().slice(`${paths.package('js/src')}/`.length);
|
|
21
|
+
params.frontend = await io.getParam(paramDefs.find(param => param.name === 'frontend'));
|
|
22
|
+
params.className = await io.getParam(paramDefs.find(param => param.name === 'className'));
|
|
23
|
+
this.subdir = (0, clone_and_fill_1.cloneAndFill)(this.subdir, params);
|
|
29
24
|
params.classNamespace = `${this.subdir}/${params.className}`;
|
|
30
25
|
return params;
|
|
31
26
|
}
|
|
32
|
-
async getFileName(_fs,
|
|
33
|
-
return await
|
|
27
|
+
async getFileName(_fs, _paths, io) {
|
|
28
|
+
return await io.getParam({ name: 'className', type: 'text' }) + '.js';
|
|
34
29
|
}
|
|
35
30
|
}
|
|
36
31
|
exports.BaseJsStubStep = BaseJsStubStep;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { Store } from 'mem-fs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
export declare abstract class BasePhpStubStep extends BaseStubStep {
|
|
2
|
+
import { IO } from 'boilersmith/io';
|
|
3
|
+
import { Paths } from 'boilersmith/paths';
|
|
4
|
+
import { FlarumBaseStubStep } from './flarum-base';
|
|
5
|
+
export declare abstract class BasePhpStubStep extends FlarumBaseStubStep {
|
|
7
6
|
protected defaultRoot: string;
|
|
8
7
|
get exposes(): string[];
|
|
9
8
|
get implicitParams(): string[];
|
|
10
9
|
protected phpClassParams: string[];
|
|
11
|
-
protected precompileParams(
|
|
12
|
-
protected getFileName(_fs: Store,
|
|
13
|
-
protected stubNamespace(
|
|
10
|
+
protected precompileParams(fs: Store, paths: Paths, io: IO): Promise<Record<string, unknown>>;
|
|
11
|
+
protected getFileName(_fs: Store, _paths: Paths, io: IO): Promise<string>;
|
|
12
|
+
protected stubNamespace(packageNamespace: string, paths: Paths): string;
|
|
14
13
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BasePhpStubStep = void 0;
|
|
4
|
-
const
|
|
5
|
-
class BasePhpStubStep extends
|
|
4
|
+
const flarum_base_1 = require("./flarum-base");
|
|
5
|
+
class BasePhpStubStep extends flarum_base_1.FlarumBaseStubStep {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
this.defaultRoot = './src';
|
|
@@ -14,46 +14,38 @@ class BasePhpStubStep extends base_1.BaseStubStep {
|
|
|
14
14
|
get implicitParams() {
|
|
15
15
|
return [...super.implicitParams, 'classNamespace'];
|
|
16
16
|
}
|
|
17
|
-
async precompileParams(
|
|
18
|
-
const params = Object.assign(Object.assign({}, await super.precompileParams(
|
|
17
|
+
async precompileParams(fs, paths, io) {
|
|
18
|
+
const params = Object.assign(Object.assign({}, await super.precompileParams(fs, paths, io)), { classNamespace: this.stubNamespace(await this.scaffolder.templateParamVal('packageNamespace', fs, paths, io), paths) });
|
|
19
19
|
let paramDefs = this.schema.params.filter(param => !this.implicitParams.includes(param.name));
|
|
20
20
|
const classParams = [...this.phpClassParams];
|
|
21
21
|
const classNameParam = paramDefs.find(param => param.name === 'className');
|
|
22
22
|
if (classNameParam) {
|
|
23
|
-
params.className = await
|
|
23
|
+
params.className = await io.getParam(classNameParam);
|
|
24
24
|
params.class = `${params.classNamespace}\\${params.className}`;
|
|
25
25
|
paramDefs = paramDefs.filter(param => param.name !== 'class' && param.name !== 'className');
|
|
26
26
|
}
|
|
27
27
|
else {
|
|
28
28
|
classParams.push('class');
|
|
29
29
|
}
|
|
30
|
-
for (
|
|
31
|
-
const classParam = classParams[i];
|
|
30
|
+
for (const classParam of classParams) {
|
|
32
31
|
const paramDef = this.schema.params.find(param => param.name === classParam);
|
|
33
32
|
if (!paramDef) {
|
|
34
33
|
continue;
|
|
35
34
|
}
|
|
36
35
|
// eslint-disable-next-line no-await-in-loop
|
|
37
|
-
params[classParam] = await
|
|
36
|
+
params[classParam] = await io.getParam(paramDef);
|
|
38
37
|
params[`${classParam}Name`] = params[classParam].split('\\').pop();
|
|
39
38
|
paramDefs = paramDefs.filter(param => param.name !== classParam && param.name !== `${classParam}Name`);
|
|
40
39
|
}
|
|
41
40
|
return params;
|
|
42
41
|
}
|
|
43
|
-
async getFileName(_fs,
|
|
44
|
-
return await
|
|
42
|
+
async getFileName(_fs, _paths, io) {
|
|
43
|
+
return await io.getParam({ name: 'className', type: 'text' }) + '.php';
|
|
45
44
|
}
|
|
46
|
-
stubNamespace(
|
|
47
|
-
const
|
|
48
|
-
let subdir;
|
|
49
|
-
if (this.schema.forceRecommendedSubdir || pathProvider.requestedDir() === null) {
|
|
50
|
-
subdir = this.schema.recommendedSubdir.replace('\\', '.').replace('/', '.');
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
subdir = pathProvider.requestedDir().slice(`${pathProvider.ext((this.schema.root || this.defaultRoot).replace('./', ''))}/`.length);
|
|
54
|
-
}
|
|
45
|
+
stubNamespace(packageNamespace, paths) {
|
|
46
|
+
const subdir = this.schema.forceRecommendedSubdir || paths.requestedDir() === null ? this.schema.recommendedSubdir.replace('\\', '.').replace('/', '.') : paths.requestedDir().slice(`${paths.package((this.schema.root || this.defaultRoot).replace('./', ''))}/`.length);
|
|
55
47
|
this.subdir = subdir.replace('.', '/');
|
|
56
|
-
let namespace =
|
|
48
|
+
let namespace = packageNamespace;
|
|
57
49
|
if (this.schema.root === './tests') {
|
|
58
50
|
namespace += '\\tests';
|
|
59
51
|
}
|