@lakutata/cli 1.0.37 → 2.1.0-alpha.5
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/CHANGELOG.md +63 -0
- package/README.md +6 -26
- package/dist/CLIApp.d.ts +3 -0
- package/dist/CLIApp.d.ts.map +1 -0
- package/dist/CLIApp.js +75 -0
- package/dist/controllers/CommandLineController.d.ts +20 -0
- package/dist/controllers/CommandLineController.d.ts.map +1 -0
- package/dist/controllers/CommandLineController.js +61 -0
- package/dist/lib/ProjectTypeConfig.d.ts +8 -0
- package/dist/lib/ProjectTypeConfig.d.ts.map +1 -0
- package/dist/lib/ProjectTypeConfig.js +17 -0
- package/dist/lib/SpecialChar.d.ts +9 -0
- package/dist/lib/SpecialChar.d.ts.map +1 -0
- package/dist/lib/SpecialChar.js +11 -0
- package/dist/lib/components/DeGitPuller.d.ts +19 -0
- package/dist/lib/components/DeGitPuller.d.ts.map +1 -0
- package/dist/lib/components/DeGitPuller.js +65 -0
- package/dist/lib/components/Spinner.d.ts +23 -0
- package/dist/lib/components/Spinner.d.ts.map +1 -0
- package/dist/lib/components/Spinner.js +61 -0
- package/dist/lib/providers/Creator.d.ts +38 -0
- package/dist/lib/providers/Creator.d.ts.map +1 -0
- package/dist/lib/providers/Creator.js +142 -0
- package/dist/lib/providers/Information.d.ts +91 -0
- package/dist/lib/providers/Information.d.ts.map +1 -0
- package/dist/lib/providers/Information.js +222 -0
- package/dist/options/CreateProjectOptions.d.ts +15 -0
- package/dist/options/CreateProjectOptions.d.ts.map +1 -0
- package/dist/options/CreateProjectOptions.js +86 -0
- package/dist/options/LakutataInfoOptions.d.ts +4 -0
- package/dist/options/LakutataInfoOptions.d.ts.map +1 -0
- package/dist/options/LakutataInfoOptions.js +7 -0
- package/package.json +31 -56
- package/tsconfig.json +3 -33
- package/.eslintrc.json +0 -47
- package/.idea/codeStyles/Project.xml +0 -18
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/dbnavigator.xml +0 -457
- package/.idea/inspectionProfiles/Project_Default.xml +0 -10
- package/.idea/lakutata-cli.iml +0 -14
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/LICENSE +0 -21
- package/assets/lakutata-banner.png +0 -0
- package/assets/lakutata_logo.jpg +0 -0
- package/build/CLI.d.ts +0 -2
- package/build/CLI.js +0 -13
- package/build/CLI.js.map +0 -1
- package/build/Deploy.d.ts +0 -1
- package/build/Deploy.js +0 -129
- package/build/Deploy.js.map +0 -1
- package/build/constants/GitIgnore.d.ts +0 -1
- package/build/constants/GitIgnore.js +0 -157
- package/build/constants/GitIgnore.js.map +0 -1
- package/build/constants/LicenseList.d.ts +0 -4
- package/build/constants/LicenseList.js +0 -68
- package/build/constants/LicenseList.js.map +0 -1
- package/build/interfaces/IApplicationInfo.d.ts +0 -4
- package/build/interfaces/IApplicationInfo.js +0 -3
- package/build/interfaces/IApplicationInfo.js.map +0 -1
- package/build/interfaces/IComponentInfo.d.ts +0 -4
- package/build/interfaces/IComponentInfo.js +0 -3
- package/build/interfaces/IComponentInfo.js.map +0 -1
- package/build/interfaces/IGenerator.d.ts +0 -3
- package/build/interfaces/IGenerator.js +0 -3
- package/build/interfaces/IGenerator.js.map +0 -1
- package/build/interfaces/IModuleInfo.d.ts +0 -4
- package/build/interfaces/IModuleInfo.js +0 -3
- package/build/interfaces/IModuleInfo.js.map +0 -1
- package/build/interfaces/IPluginInfo.d.ts +0 -4
- package/build/interfaces/IPluginInfo.js +0 -3
- package/build/interfaces/IPluginInfo.js.map +0 -1
- package/build/interfaces/IPreparePackageConfigOptions.d.ts +0 -19
- package/build/interfaces/IPreparePackageConfigOptions.js +0 -3
- package/build/interfaces/IPreparePackageConfigOptions.js.map +0 -1
- package/build/interfaces/IProjectGeneratorOptions.d.ts +0 -16
- package/build/interfaces/IProjectGeneratorOptions.js +0 -3
- package/build/interfaces/IProjectGeneratorOptions.js.map +0 -1
- package/build/interfaces/IProjectInfo.d.ts +0 -14
- package/build/interfaces/IProjectInfo.js +0 -3
- package/build/interfaces/IProjectInfo.js.map +0 -1
- package/build/lib/LatestVersion.d.ts +0 -1
- package/build/lib/LatestVersion.js +0 -13
- package/build/lib/LatestVersion.js.map +0 -1
- package/build/lib/generators/application/ApplicationGenerator.d.ts +0 -18
- package/build/lib/generators/application/ApplicationGenerator.js +0 -84
- package/build/lib/generators/application/ApplicationGenerator.js.map +0 -1
- package/build/lib/generators/application/files/AppFile.d.ts +0 -8
- package/build/lib/generators/application/files/AppFile.js +0 -36
- package/build/lib/generators/application/files/AppFile.js.map +0 -1
- package/build/lib/generators/application/files/ConfigFile.d.ts +0 -9
- package/build/lib/generators/application/files/ConfigFile.js +0 -81
- package/build/lib/generators/application/files/ConfigFile.js.map +0 -1
- package/build/lib/generators/component/ComponentGenerator.d.ts +0 -17
- package/build/lib/generators/component/ComponentGenerator.js +0 -75
- package/build/lib/generators/component/ComponentGenerator.js.map +0 -1
- package/build/lib/generators/component/files/ComponentFile.d.ts +0 -8
- package/build/lib/generators/component/files/ComponentFile.js +0 -45
- package/build/lib/generators/component/files/ComponentFile.js.map +0 -1
- package/build/lib/generators/component/files/ComponentTestFile.d.ts +0 -8
- package/build/lib/generators/component/files/ComponentTestFile.js +0 -35
- package/build/lib/generators/component/files/ComponentTestFile.js.map +0 -1
- package/build/lib/generators/module/ModuleGenerator.d.ts +0 -17
- package/build/lib/generators/module/ModuleGenerator.js +0 -85
- package/build/lib/generators/module/ModuleGenerator.js.map +0 -1
- package/build/lib/generators/module/files/ModuleFile.d.ts +0 -8
- package/build/lib/generators/module/files/ModuleFile.js +0 -116
- package/build/lib/generators/module/files/ModuleFile.js.map +0 -1
- package/build/lib/generators/module/files/ModuleTestFile.d.ts +0 -8
- package/build/lib/generators/module/files/ModuleTestFile.js +0 -35
- package/build/lib/generators/module/files/ModuleTestFile.js.map +0 -1
- package/build/lib/generators/plugin/PluginGenerator.d.ts +0 -17
- package/build/lib/generators/plugin/PluginGenerator.js +0 -75
- package/build/lib/generators/plugin/PluginGenerator.js.map +0 -1
- package/build/lib/generators/plugin/files/PluginFile.d.ts +0 -8
- package/build/lib/generators/plugin/files/PluginFile.js +0 -50
- package/build/lib/generators/plugin/files/PluginFile.js.map +0 -1
- package/build/lib/generators/plugin/files/PluginTestFile.d.ts +0 -8
- package/build/lib/generators/plugin/files/PluginTestFile.js +0 -35
- package/build/lib/generators/plugin/files/PluginTestFile.js.map +0 -1
- package/build/lib/generators/project/ProjectGenerator.d.ts +0 -27
- package/build/lib/generators/project/ProjectGenerator.js +0 -157
- package/build/lib/generators/project/ProjectGenerator.js.map +0 -1
- package/build/lib/generators/project/ProjectSourceFile.d.ts +0 -5
- package/build/lib/generators/project/ProjectSourceFile.js +0 -7
- package/build/lib/generators/project/ProjectSourceFile.js.map +0 -1
- package/build/lib/generators/project/configs/ProjectEslintrcConfig.d.ts +0 -37
- package/build/lib/generators/project/configs/ProjectEslintrcConfig.js +0 -51
- package/build/lib/generators/project/configs/ProjectEslintrcConfig.js.map +0 -1
- package/build/lib/generators/project/configs/ProjectPackageConfig.d.ts +0 -1
- package/build/lib/generators/project/configs/ProjectPackageConfig.js +0 -32
- package/build/lib/generators/project/configs/ProjectPackageConfig.js.map +0 -1
- package/build/lib/generators/project/configs/ProjectTypescriptConfig.d.ts +0 -25
- package/build/lib/generators/project/configs/ProjectTypescriptConfig.js +0 -39
- package/build/lib/generators/project/configs/ProjectTypescriptConfig.js.map +0 -1
- package/build/lib/manipulators/CreateComponentManipulator.d.ts +0 -3
- package/build/lib/manipulators/CreateComponentManipulator.js +0 -71
- package/build/lib/manipulators/CreateComponentManipulator.js.map +0 -1
- package/build/lib/manipulators/CreateDockerFileManipulator.d.ts +0 -3
- package/build/lib/manipulators/CreateDockerFileManipulator.js +0 -124
- package/build/lib/manipulators/CreateDockerFileManipulator.js.map +0 -1
- package/build/lib/manipulators/CreateModuleManipulator.d.ts +0 -3
- package/build/lib/manipulators/CreateModuleManipulator.js +0 -142
- package/build/lib/manipulators/CreateModuleManipulator.js.map +0 -1
- package/build/lib/manipulators/CreatePluginManipulator.d.ts +0 -3
- package/build/lib/manipulators/CreatePluginManipulator.js +0 -76
- package/build/lib/manipulators/CreatePluginManipulator.js.map +0 -1
- package/build/lib/manipulators/CreateProcessManipulator.d.ts +0 -3
- package/build/lib/manipulators/CreateProcessManipulator.js +0 -61
- package/build/lib/manipulators/CreateProcessManipulator.js.map +0 -1
- package/build/lib/manipulators/CreateThreadManipulator.d.ts +0 -3
- package/build/lib/manipulators/CreateThreadManipulator.js +0 -61
- package/build/lib/manipulators/CreateThreadManipulator.js.map +0 -1
- package/build/lib/manipulators/application/ApplicationIndexManipulator.d.ts +0 -1
- package/build/lib/manipulators/application/ApplicationIndexManipulator.js +0 -162
- package/build/lib/manipulators/application/ApplicationIndexManipulator.js.map +0 -1
- package/build/lib/menus/MainMenu.d.ts +0 -1
- package/build/lib/menus/MainMenu.js +0 -160
- package/build/lib/menus/MainMenu.js.map +0 -1
- package/build/lib/menus/initializeMenus/InitializeApplicationProject.d.ts +0 -1
- package/build/lib/menus/initializeMenus/InitializeApplicationProject.js +0 -93
- package/build/lib/menus/initializeMenus/InitializeApplicationProject.js.map +0 -1
- package/build/lib/menus/initializeMenus/InitializeComponentProject.d.ts +0 -1
- package/build/lib/menus/initializeMenus/InitializeComponentProject.js +0 -93
- package/build/lib/menus/initializeMenus/InitializeComponentProject.js.map +0 -1
- package/build/lib/menus/initializeMenus/InitializeModuleProject.d.ts +0 -1
- package/build/lib/menus/initializeMenus/InitializeModuleProject.js +0 -93
- package/build/lib/menus/initializeMenus/InitializeModuleProject.js.map +0 -1
- package/build/lib/menus/initializeMenus/InitializePluginProject.d.ts +0 -1
- package/build/lib/menus/initializeMenus/InitializePluginProject.js +0 -93
- package/build/lib/menus/initializeMenus/InitializePluginProject.js.map +0 -1
- package/build/lib/menus/manipulateMenus/ManipulateApplicationProject.d.ts +0 -1
- package/build/lib/menus/manipulateMenus/ManipulateApplicationProject.js +0 -60
- package/build/lib/menus/manipulateMenus/ManipulateApplicationProject.js.map +0 -1
- package/build/lib/menus/manipulateMenus/ManipulateComponentProject.d.ts +0 -1
- package/build/lib/menus/manipulateMenus/ManipulateComponentProject.js +0 -9
- package/build/lib/menus/manipulateMenus/ManipulateComponentProject.js.map +0 -1
- package/build/lib/menus/manipulateMenus/ManipulateModuleProject.d.ts +0 -1
- package/build/lib/menus/manipulateMenus/ManipulateModuleProject.js +0 -49
- package/build/lib/menus/manipulateMenus/ManipulateModuleProject.js.map +0 -1
- package/build/lib/menus/manipulateMenus/ManipulatePluginProject.d.ts +0 -1
- package/build/lib/menus/manipulateMenus/ManipulatePluginProject.js +0 -9
- package/build/lib/menus/manipulateMenus/ManipulatePluginProject.js.map +0 -1
- package/src/CLI.ts +0 -7
- package/src/Deploy.ts +0 -124
- package/src/constants/GitIgnore.ts +0 -153
- package/src/constants/LicenseList.ts +0 -64
- package/src/interfaces/IApplicationInfo.ts +0 -5
- package/src/interfaces/IComponentInfo.ts +0 -5
- package/src/interfaces/IGenerator.ts +0 -3
- package/src/interfaces/IModuleInfo.ts +0 -5
- package/src/interfaces/IPluginInfo.ts +0 -5
- package/src/interfaces/IPreparePackageConfigOptions.ts +0 -11
- package/src/interfaces/IProjectGeneratorOptions.ts +0 -15
- package/src/interfaces/IProjectInfo.ts +0 -10
- package/src/lib/LatestVersion.ts +0 -6
- package/src/lib/generators/application/ApplicationGenerator.ts +0 -97
- package/src/lib/generators/application/files/AppFile.ts +0 -35
- package/src/lib/generators/application/files/ConfigFile.ts +0 -82
- package/src/lib/generators/component/ComponentGenerator.ts +0 -87
- package/src/lib/generators/component/files/ComponentFile.ts +0 -45
- package/src/lib/generators/component/files/ComponentTestFile.ts +0 -36
- package/src/lib/generators/module/ModuleGenerator.ts +0 -97
- package/src/lib/generators/module/files/ModuleFile.ts +0 -116
- package/src/lib/generators/module/files/ModuleTestFile.ts +0 -36
- package/src/lib/generators/plugin/PluginGenerator.ts +0 -87
- package/src/lib/generators/plugin/files/PluginFile.ts +0 -50
- package/src/lib/generators/plugin/files/PluginTestFile.ts +0 -36
- package/src/lib/generators/project/ProjectGenerator.ts +0 -205
- package/src/lib/generators/project/ProjectSourceFile.ts +0 -7
- package/src/lib/generators/project/configs/ProjectEslintrcConfig.ts +0 -47
- package/src/lib/generators/project/configs/ProjectPackageConfig.ts +0 -28
- package/src/lib/generators/project/configs/ProjectTypescriptConfig.ts +0 -35
- package/src/lib/manipulators/CreateComponentManipulator.ts +0 -66
- package/src/lib/manipulators/CreateDockerFileManipulator.ts +0 -121
- package/src/lib/manipulators/CreateModuleManipulator.ts +0 -137
- package/src/lib/manipulators/CreatePluginManipulator.ts +0 -71
- package/src/lib/manipulators/CreateProcessManipulator.ts +0 -56
- package/src/lib/manipulators/CreateThreadManipulator.ts +0 -56
- package/src/lib/manipulators/application/ApplicationIndexManipulator.ts +0 -169
- package/src/lib/menus/MainMenu.ts +0 -148
- package/src/lib/menus/initializeMenus/InitializeApplicationProject.ts +0 -84
- package/src/lib/menus/initializeMenus/InitializeComponentProject.ts +0 -84
- package/src/lib/menus/initializeMenus/InitializeModuleProject.ts +0 -84
- package/src/lib/menus/initializeMenus/InitializePluginProject.ts +0 -84
- package/src/lib/menus/manipulateMenus/ManipulateApplicationProject.ts +0 -60
- package/src/lib/menus/manipulateMenus/ManipulateComponentProject.ts +0 -13
- package/src/lib/menus/manipulateMenus/ManipulateModuleProject.ts +0 -49
- package/src/lib/menus/manipulateMenus/ManipulatePluginProject.ts +0 -13
- package/src/tests/generators/GenerateApplication.spec.ts +0 -16
- package/src/tests/generators/GenerateComponent.spec.ts +0 -16
- package/src/tests/generators/GenerateModule.spec.ts +0 -16
- package/src/tests/generators/GeneratePlugin.spec.ts +0 -16
- package/typings.d.ts +0 -4
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProjectEslintrcConfig = void 0;
|
|
4
|
-
exports.ProjectEslintrcConfig = {
|
|
5
|
-
env: {
|
|
6
|
-
browser: true,
|
|
7
|
-
es6: true,
|
|
8
|
-
node: true,
|
|
9
|
-
mocha: true
|
|
10
|
-
},
|
|
11
|
-
extends: [
|
|
12
|
-
'plugin:@typescript-eslint/recommended'
|
|
13
|
-
],
|
|
14
|
-
globals: {
|
|
15
|
-
Atomics: 'readonly',
|
|
16
|
-
SharedArrayBuffer: 'readonly'
|
|
17
|
-
},
|
|
18
|
-
parser: '@typescript-eslint/parser',
|
|
19
|
-
parserOptions: {
|
|
20
|
-
ecmaVersion: 2018,
|
|
21
|
-
sourceType: 'module'
|
|
22
|
-
},
|
|
23
|
-
plugins: [
|
|
24
|
-
'@typescript-eslint'
|
|
25
|
-
],
|
|
26
|
-
rules: {
|
|
27
|
-
quotes: [
|
|
28
|
-
'error',
|
|
29
|
-
'single'
|
|
30
|
-
],
|
|
31
|
-
semi: [
|
|
32
|
-
'error',
|
|
33
|
-
'never'
|
|
34
|
-
],
|
|
35
|
-
'comma-dangle': 'error',
|
|
36
|
-
'prefer-spread': 'off',
|
|
37
|
-
strict: 'off',
|
|
38
|
-
'prefer-rest-params': 'off',
|
|
39
|
-
'no-duplicate-imports': 'error',
|
|
40
|
-
'@typescript-eslint/no-explicit-any': 'off',
|
|
41
|
-
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
42
|
-
'@typescript-eslint/no-namespace': 'off',
|
|
43
|
-
'@typescript-eslint/no-empty-interface': 'off',
|
|
44
|
-
'@typescript-eslint/no-unused-vars': 'off',
|
|
45
|
-
'@typescript-eslint/no-inferrable-types': 'off',
|
|
46
|
-
'@typescript-eslint/no-empty-function': 'off',
|
|
47
|
-
'@typescript-eslint/ban-types': 'off',
|
|
48
|
-
'@typescript-eslint/ban-ts-ignore': 'off'
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=ProjectEslintrcConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectEslintrcConfig.js","sourceRoot":"","sources":["../../../../../src/lib/generators/project/configs/ProjectEslintrcConfig.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACjC,GAAG,EAAE;QACD,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IACD,OAAO,EAAE;QACL,uCAAuC;KAC1C;IACD,OAAO,EAAE;QACL,OAAO,EAAE,UAAU;QACnB,iBAAiB,EAAE,UAAU;KAChC;IACD,MAAM,EAAE,2BAA2B;IACnC,aAAa,EAAE;QACX,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,QAAQ;KACvB;IACD,OAAO,EAAE;QACL,oBAAoB;KACvB;IACD,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,OAAO;YACP,QAAQ;SACX;QACD,IAAI,EAAE;YACF,OAAO;YACP,OAAO;SACV;QACD,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,KAAK;QACtB,MAAM,EAAE,KAAK;QACb,oBAAoB,EAAE,KAAK;QAC3B,sBAAsB,EAAE,OAAO;QAC/B,oCAAoC,EAAE,KAAK;QAC3C,kDAAkD,EAAE,KAAK;QACzD,iCAAiC,EAAE,KAAK;QACxC,uCAAuC,EAAE,KAAK;QAC9C,mCAAmC,EAAE,KAAK;QAC1C,wCAAwC,EAAE,KAAK;QAC/C,sCAAsC,EAAE,KAAK;QAC7C,8BAA8B,EAAE,KAAK;QACrC,kCAAkC,EAAE,KAAK;KAC5C;CACJ,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const ProjectPackageConfig: any;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProjectPackageConfig = void 0;
|
|
4
|
-
exports.ProjectPackageConfig = {
|
|
5
|
-
name: '',
|
|
6
|
-
version: '0.0.1',
|
|
7
|
-
description: '',
|
|
8
|
-
main: '',
|
|
9
|
-
types: '',
|
|
10
|
-
scripts: {},
|
|
11
|
-
keywords: ['lakutata'],
|
|
12
|
-
author: '',
|
|
13
|
-
license: '',
|
|
14
|
-
dependencies: {},
|
|
15
|
-
devDependencies: {
|
|
16
|
-
'@types/node': '^16.11.7',
|
|
17
|
-
'@typescript-eslint/eslint-plugin': '^4.27.0',
|
|
18
|
-
'@typescript-eslint/parser': '^4.27.0',
|
|
19
|
-
'eslint': '^7.32.0',
|
|
20
|
-
'eslint-config-standard': '^16.0.3',
|
|
21
|
-
'eslint-plugin-import': '^2.25.3',
|
|
22
|
-
'eslint-plugin-node': '^11.1.0',
|
|
23
|
-
'eslint-plugin-promise': '^5.2.0',
|
|
24
|
-
'shx': '^0.3.4',
|
|
25
|
-
'ts-node': '^10.9.1',
|
|
26
|
-
'typescript': '~4.7.4'
|
|
27
|
-
},
|
|
28
|
-
engines: {
|
|
29
|
-
'node': '>=12.22.1'
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=ProjectPackageConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectPackageConfig.js","sourceRoot":"","sources":["../../../../../src/lib/generators/project/configs/ProjectPackageConfig.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAQ;IACrC,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE;QACb,aAAa,EAAE,UAAU;QACzB,kCAAkC,EAAE,SAAS;QAC7C,2BAA2B,EAAE,SAAS;QACtC,QAAQ,EAAE,SAAS;QACnB,wBAAwB,EAAE,SAAS;QACnC,sBAAsB,EAAE,SAAS;QACjC,oBAAoB,EAAE,SAAS;QAC/B,uBAAuB,EAAE,QAAQ;QACjC,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,QAAQ;KACzB;IACD,OAAO,EAAE;QACL,MAAM,EAAE,WAAW;KACtB;CACJ,CAAA"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export declare const ProjectTypescriptConfig: {
|
|
2
|
-
compilerOptions: {
|
|
3
|
-
strict: boolean;
|
|
4
|
-
module: string;
|
|
5
|
-
target: string;
|
|
6
|
-
declaration: boolean;
|
|
7
|
-
sourceMap: boolean;
|
|
8
|
-
emitDecoratorMetadata: boolean;
|
|
9
|
-
experimentalDecorators: boolean;
|
|
10
|
-
removeComments: boolean;
|
|
11
|
-
allowJs: boolean;
|
|
12
|
-
pretty: boolean;
|
|
13
|
-
noUnusedLocals: boolean;
|
|
14
|
-
noImplicitAny: boolean;
|
|
15
|
-
noUnusedParameters: boolean;
|
|
16
|
-
outDir: string;
|
|
17
|
-
rootDir: string;
|
|
18
|
-
moduleResolution: string;
|
|
19
|
-
esModuleInterop: boolean;
|
|
20
|
-
strictPropertyInitialization: boolean;
|
|
21
|
-
types: string[];
|
|
22
|
-
lib: string[];
|
|
23
|
-
};
|
|
24
|
-
exclude: string[];
|
|
25
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProjectTypescriptConfig = void 0;
|
|
4
|
-
exports.ProjectTypescriptConfig = {
|
|
5
|
-
compilerOptions: {
|
|
6
|
-
strict: true,
|
|
7
|
-
module: 'CommonJS',
|
|
8
|
-
target: 'ES2017',
|
|
9
|
-
declaration: true,
|
|
10
|
-
sourceMap: true,
|
|
11
|
-
emitDecoratorMetadata: true,
|
|
12
|
-
experimentalDecorators: true,
|
|
13
|
-
removeComments: true,
|
|
14
|
-
allowJs: true,
|
|
15
|
-
pretty: true,
|
|
16
|
-
noUnusedLocals: false,
|
|
17
|
-
noImplicitAny: false,
|
|
18
|
-
noUnusedParameters: false,
|
|
19
|
-
outDir: '',
|
|
20
|
-
rootDir: '',
|
|
21
|
-
moduleResolution: 'Node',
|
|
22
|
-
esModuleInterop: true,
|
|
23
|
-
strictPropertyInitialization: false,
|
|
24
|
-
types: [
|
|
25
|
-
'reflect-metadata',
|
|
26
|
-
'node'
|
|
27
|
-
],
|
|
28
|
-
lib: [
|
|
29
|
-
'ESNext',
|
|
30
|
-
'ES2017',
|
|
31
|
-
'dom'
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
exclude: [
|
|
35
|
-
'node_modules',
|
|
36
|
-
'build'
|
|
37
|
-
]
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=ProjectTypescriptConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTypescriptConfig.js","sourceRoot":"","sources":["../../../../../src/lib/generators/project/configs/ProjectTypescriptConfig.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACnC,eAAe,EAAE;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,qBAAqB,EAAE,IAAI;QAC3B,sBAAsB,EAAE,IAAI;QAC5B,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;QACpB,kBAAkB,EAAE,KAAK;QACzB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,gBAAgB,EAAE,MAAM;QACxB,eAAe,EAAE,IAAI;QACrB,4BAA4B,EAAE,KAAK;QACnC,KAAK,EAAE;YACH,kBAAkB;YAClB,MAAM;SACT;QACD,GAAG,EAAE;YACD,QAAQ;YACR,QAAQ;YACR,KAAK;SACR;KACJ;IACD,OAAO,EAAE;QACL,cAAc;QACd,OAAO;KACV;CACJ,CAAA"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.CreateComponentManipulator = void 0;
|
|
7
|
-
const ts_morph_1 = require("ts-morph");
|
|
8
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
-
async function CreateComponentManipulator(projectPath, tsConfigFilePath, directories) {
|
|
10
|
-
const project = new ts_morph_1.Project({ tsConfigFilePath: tsConfigFilePath });
|
|
11
|
-
project.addSourceFilesAtPaths(projectPath);
|
|
12
|
-
if (!directories.components)
|
|
13
|
-
return console.error('项目读取错误: 组件文件夹未找到');
|
|
14
|
-
const componentDir = directories.components.toString();
|
|
15
|
-
const createOptions = await inquirer_1.default.prompt([{
|
|
16
|
-
type: 'input',
|
|
17
|
-
name: 'className',
|
|
18
|
-
message: '请输入创建的组件类名'
|
|
19
|
-
}]);
|
|
20
|
-
if (!createOptions.className)
|
|
21
|
-
return console.error('组件创建错误: 组件类名不可为空');
|
|
22
|
-
const className = createOptions.className;
|
|
23
|
-
const componentPath = `${componentDir}/${className}.ts`;
|
|
24
|
-
let fileExist;
|
|
25
|
-
try {
|
|
26
|
-
fileExist = !!project.getSourceFile(componentPath);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
fileExist = false;
|
|
30
|
-
}
|
|
31
|
-
if (fileExist)
|
|
32
|
-
return console.error('组件创建错误: 已有同名组件存在');
|
|
33
|
-
const file = project.createSourceFile(componentPath);
|
|
34
|
-
file.addImportDeclaration({ namedImports: ['Component', 'Configurable'], moduleSpecifier: '@lakutata/core' });
|
|
35
|
-
const componentClass = file.addClass({
|
|
36
|
-
name: className,
|
|
37
|
-
extends: 'Component',
|
|
38
|
-
isExported: true
|
|
39
|
-
});
|
|
40
|
-
componentClass.addMember({
|
|
41
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
42
|
-
scope: ts_morph_1.Scope.Protected,
|
|
43
|
-
name: 'configureItem',
|
|
44
|
-
type: 'string',
|
|
45
|
-
docs: [{
|
|
46
|
-
kind: ts_morph_1.StructureKind.JSDoc,
|
|
47
|
-
description: 'Configurable item example, do not forget add decorator [Configurable()]'
|
|
48
|
-
}],
|
|
49
|
-
isReadonly: true,
|
|
50
|
-
decorators: [{ kind: ts_morph_1.StructureKind.Decorator, name: 'Configurable()' }]
|
|
51
|
-
});
|
|
52
|
-
const initMethod = componentClass.addMethod({
|
|
53
|
-
name: 'initialize',
|
|
54
|
-
isAsync: true,
|
|
55
|
-
returnType: 'Promise<void>',
|
|
56
|
-
scope: ts_morph_1.Scope.Protected
|
|
57
|
-
});
|
|
58
|
-
initMethod.addStatements(writer => {
|
|
59
|
-
writer.writeLine(`//Initializer for ${className}`);
|
|
60
|
-
writer.writeLine(`//Write your codes here`);
|
|
61
|
-
});
|
|
62
|
-
try {
|
|
63
|
-
await project.save();
|
|
64
|
-
console.info(`组件 ${className} 创建成功`);
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
console.error(`组件创建错误: ${e.message}`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.CreateComponentManipulator = CreateComponentManipulator;
|
|
71
|
-
//# sourceMappingURL=CreateComponentManipulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateComponentManipulator.js","sourceRoot":"","sources":["../../../src/lib/manipulators/CreateComponentManipulator.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAsD;AACtD,wDAA+B;AASxB,KAAK,UAAU,0BAA0B,CAAC,WAAmB,EAAE,gBAAwB,EAAE,WAAuC;IACnI,MAAM,OAAO,GAAG,IAAI,kBAAO,CAAC,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,CAAC,CAAA;IACjE,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;IAC1C,IAAI,CAAC,WAAW,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrE,MAAM,YAAY,GAAW,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;IAC9D,MAAM,aAAa,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,YAAY;SACxB,CAAC,CAAC,CAAA;IACH,IAAI,CAAC,aAAa,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACtE,MAAM,SAAS,GAAW,aAAa,CAAC,SAAS,CAAA;IACjD,MAAM,aAAa,GAAW,GAAG,YAAY,IAAI,SAAS,KAAK,CAAA;IAC/D,IAAI,SAAkB,CAAA;IACtB,IAAI;QACA,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;KACrD;IAAC,OAAO,CAAC,EAAE;QACR,SAAS,GAAG,KAAK,CAAA;KACpB;IACD,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACpD,IAAI,CAAC,oBAAoB,CAAC,EAAC,YAAY,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAC,CAAC,CAAA;IAC3G,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,IAAI;KACnB,CAAC,CAAA;IACF,cAAc,CAAC,SAAS,CAAC;QACrB,IAAI,EAAE,wBAAa,CAAC,QAAQ;QAC5B,KAAK,EAAE,gBAAK,CAAC,SAAS;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC;gBACH,IAAI,EAAE,wBAAa,CAAC,KAAK;gBACzB,WAAW,EAAE,yEAAyE;aACzF,CAAC;QACF,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,EAAC,IAAI,EAAE,wBAAa,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAC,CAAC;KACxE,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC;QACxC,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,eAAe;QAC3B,KAAK,EAAE,gBAAK,CAAC,SAAS;KACzB,CAAC,CAAA;IACF,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QAC9B,MAAM,CAAC,SAAS,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAA;QAClD,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IACF,IAAI;QACA,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,MAAM,SAAS,OAAO,CAAC,CAAA;KACvC;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,WAAY,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;KACnD;AACL,CAAC;AAvDD,gEAuDC"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.CreateDockerFileManipulator = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
10
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
|
-
function generateDockerfileContent(timezone, envName, outDir, runtime, entryPoint) {
|
|
12
|
-
const dockerFileContents = [
|
|
13
|
-
'FROM node:lts-buster',
|
|
14
|
-
'#Set docker timezone',
|
|
15
|
-
`ENV TZ=${timezone}`,
|
|
16
|
-
`ENV NODE_ENV=${envName}`,
|
|
17
|
-
'RUN set -eux',
|
|
18
|
-
'RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime',
|
|
19
|
-
'RUN echo $TZ > /etc/timezone',
|
|
20
|
-
'#Install system level dependencies',
|
|
21
|
-
'RUN npm install -g npm typescript ts-node',
|
|
22
|
-
'#Process project directories',
|
|
23
|
-
'RUN mkdir -p /app',
|
|
24
|
-
'WORKDIR /app',
|
|
25
|
-
'COPY . /app/',
|
|
26
|
-
'RUN rm -rf /app/node_modules',
|
|
27
|
-
`RUN rm -rf ${path_1.default.resolve('/app/', outDir)}`,
|
|
28
|
-
'RUN npm install --build-from-source',
|
|
29
|
-
'RUN tsc',
|
|
30
|
-
'#Expose ports',
|
|
31
|
-
'#TODO export ports or remove this line',
|
|
32
|
-
`ENTRYPOINT ${runtime} ${path_1.default.resolve('/app/', entryPoint)}`
|
|
33
|
-
];
|
|
34
|
-
let content = '';
|
|
35
|
-
dockerFileContents.forEach(line => {
|
|
36
|
-
if (!content) {
|
|
37
|
-
content = line;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
content = `${content}\n${line}`;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
return content;
|
|
44
|
-
}
|
|
45
|
-
async function CreateDockerFileManipulator(projectPath, tsConfigFilePath, directories) {
|
|
46
|
-
var _a, _b;
|
|
47
|
-
try {
|
|
48
|
-
const repositories = await inquirer_1.default.prompt([
|
|
49
|
-
{
|
|
50
|
-
type: 'input',
|
|
51
|
-
name: 'production',
|
|
52
|
-
message: '请输入正式环境仓库地址'
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
type: 'input',
|
|
56
|
-
name: 'development',
|
|
57
|
-
message: '请输入测试环境仓库地址'
|
|
58
|
-
}
|
|
59
|
-
]);
|
|
60
|
-
const productionRepository = repositories.production ? repositories.production : '';
|
|
61
|
-
const developmentRepository = repositories.development ? repositories.development : '';
|
|
62
|
-
const timezone = moment_timezone_1.default.tz.guess();
|
|
63
|
-
const tsConfigJson = JSON.parse(fs_1.default.readFileSync(tsConfigFilePath).toString());
|
|
64
|
-
const outDir = (_a = tsConfigJson === null || tsConfigJson === void 0 ? void 0 : tsConfigJson.compilerOptions) === null || _a === void 0 ? void 0 : _a.outDir;
|
|
65
|
-
if (!outDir)
|
|
66
|
-
return console.error('项目输出目录设置有误');
|
|
67
|
-
const packageJsonFilePath = path_1.default.resolve(projectPath, './package.json');
|
|
68
|
-
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonFilePath).toString());
|
|
69
|
-
const mainEntry = (packageJson === null || packageJson === void 0 ? void 0 : packageJson.main) ? packageJson.main : '';
|
|
70
|
-
if (!mainEntry)
|
|
71
|
-
return console.error('应用程序主入口设置有误');
|
|
72
|
-
const dockerfiles = {};
|
|
73
|
-
if (productionRepository) {
|
|
74
|
-
dockerfiles.Dockerfile = generateDockerfileContent(timezone, 'production', outDir, 'node', mainEntry);
|
|
75
|
-
packageJson.scripts.deploy = `lakutata-deploy --dockerfile ./Dockerfile --repository ${productionRepository}`;
|
|
76
|
-
}
|
|
77
|
-
if (((_b = packageJson === null || packageJson === void 0 ? void 0 : packageJson.scripts) === null || _b === void 0 ? void 0 : _b.test) && developmentRepository) {
|
|
78
|
-
const testScriptString = packageJson.scripts.test;
|
|
79
|
-
const testScriptParams = testScriptString.split(' ').reverse();
|
|
80
|
-
let testEntryPoint = '';
|
|
81
|
-
let runtime = '';
|
|
82
|
-
for (const testScriptParam of testScriptParams) {
|
|
83
|
-
const regExp = /src\//;
|
|
84
|
-
if (['.ts', '.js'].includes(path_1.default.extname(testScriptParam)) && regExp.test(testScriptParam)) {
|
|
85
|
-
switch (path_1.default.extname(testScriptParam)) {
|
|
86
|
-
case '.ts':
|
|
87
|
-
{
|
|
88
|
-
runtime = 'ts-node';
|
|
89
|
-
}
|
|
90
|
-
break;
|
|
91
|
-
case '.js':
|
|
92
|
-
{
|
|
93
|
-
runtime = 'node';
|
|
94
|
-
}
|
|
95
|
-
break;
|
|
96
|
-
default: {
|
|
97
|
-
console.error('不正确的测试主入口扩展名');
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
testEntryPoint = testScriptParam;
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (testEntryPoint && runtime) {
|
|
105
|
-
dockerfiles.DockerfileDev = generateDockerfileContent(timezone, 'development', outDir, runtime, testEntryPoint);
|
|
106
|
-
packageJson.scripts['deploy:dev'] = `lakutata-deploy --dockerfile ./DockerfileDev --repository ${developmentRepository}`;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
for (const dockerfileName of Object.keys(dockerfiles)) {
|
|
110
|
-
fs_1.default.writeFileSync(path_1.default.resolve(projectPath, dockerfileName), dockerfiles[dockerfileName], {
|
|
111
|
-
encoding: 'utf-8',
|
|
112
|
-
flag: 'w'
|
|
113
|
-
});
|
|
114
|
-
console.info(dockerfileName, '写入成功');
|
|
115
|
-
}
|
|
116
|
-
fs_1.default.writeFileSync(packageJsonFilePath, JSON.stringify(packageJson, null, ' '), { encoding: 'utf-8', flag: 'w' });
|
|
117
|
-
console.info('Dockerfile已创建成功');
|
|
118
|
-
}
|
|
119
|
-
catch (e) {
|
|
120
|
-
console.error(`Dockerfile创建错误: ${e.message}`);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
exports.CreateDockerFileManipulator = CreateDockerFileManipulator;
|
|
124
|
-
//# sourceMappingURL=CreateDockerFileManipulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateDockerFileManipulator.js","sourceRoot":"","sources":["../../../src/lib/manipulators/CreateDockerFileManipulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.CreateModuleManipulator = void 0;
|
|
7
|
-
const ts_morph_1 = require("ts-morph");
|
|
8
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
-
async function CreateModuleManipulator(projectPath, tsConfigFilePath, directories) {
|
|
10
|
-
const project = new ts_morph_1.Project({ tsConfigFilePath: tsConfigFilePath });
|
|
11
|
-
project.addSourceFilesAtPaths(projectPath);
|
|
12
|
-
if (!directories.modules)
|
|
13
|
-
return console.error('项目读取错误: 模块文件夹未找到');
|
|
14
|
-
const moduleDir = directories.modules.toString();
|
|
15
|
-
const createOptions = await inquirer_1.default.prompt([{
|
|
16
|
-
type: 'input',
|
|
17
|
-
name: 'className',
|
|
18
|
-
message: '请输入创建的模块类名'
|
|
19
|
-
}]);
|
|
20
|
-
if (!createOptions.className)
|
|
21
|
-
return console.error('模块创建错误: 模块类名不可为空');
|
|
22
|
-
const className = createOptions.className;
|
|
23
|
-
const modulePath = `${moduleDir}/${className}.ts`;
|
|
24
|
-
let fileExist;
|
|
25
|
-
try {
|
|
26
|
-
fileExist = !!project.getSourceFile(modulePath);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
fileExist = false;
|
|
30
|
-
}
|
|
31
|
-
if (fileExist)
|
|
32
|
-
return console.error('模块创建错误: 已有同名模块存在');
|
|
33
|
-
const file = project.createSourceFile(modulePath);
|
|
34
|
-
file.addImportDeclaration({
|
|
35
|
-
namedImports: ['Module', 'Configurable', 'IComponentsConfig', 'IModulesConfig', 'TPluginsConfig', 'TProcessesConfig', 'TThreadsConfig', 'TWorkflowsConfig'],
|
|
36
|
-
moduleSpecifier: '@lakutata/core'
|
|
37
|
-
});
|
|
38
|
-
const moduleClass = file.addClass({
|
|
39
|
-
name: className,
|
|
40
|
-
extends: 'Module',
|
|
41
|
-
isExported: true
|
|
42
|
-
});
|
|
43
|
-
moduleClass.addMembers([
|
|
44
|
-
{
|
|
45
|
-
docs: [{
|
|
46
|
-
kind: ts_morph_1.StructureKind.JSDoc,
|
|
47
|
-
description: 'Module plugins'
|
|
48
|
-
}],
|
|
49
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
50
|
-
name: 'plugins',
|
|
51
|
-
isReadonly: true,
|
|
52
|
-
scope: ts_morph_1.Scope.Protected,
|
|
53
|
-
type: 'TPluginsConfig',
|
|
54
|
-
initializer: '[]',
|
|
55
|
-
decorators: [{ kind: ts_morph_1.StructureKind.Decorator, name: 'Configurable()' }]
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
docs: [{
|
|
59
|
-
kind: ts_morph_1.StructureKind.JSDoc,
|
|
60
|
-
description: 'Module components'
|
|
61
|
-
}],
|
|
62
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
63
|
-
name: 'components',
|
|
64
|
-
isReadonly: true,
|
|
65
|
-
scope: ts_morph_1.Scope.Protected,
|
|
66
|
-
type: 'IComponentsConfig',
|
|
67
|
-
initializer: '{}',
|
|
68
|
-
decorators: [{ kind: ts_morph_1.StructureKind.Decorator, name: 'Configurable()' }]
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
docs: [{
|
|
72
|
-
kind: ts_morph_1.StructureKind.JSDoc,
|
|
73
|
-
description: 'Subset modules'
|
|
74
|
-
}],
|
|
75
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
76
|
-
name: 'modules',
|
|
77
|
-
isReadonly: true,
|
|
78
|
-
scope: ts_morph_1.Scope.Protected,
|
|
79
|
-
type: 'IModulesConfig',
|
|
80
|
-
initializer: '{}',
|
|
81
|
-
decorators: [{ kind: ts_morph_1.StructureKind.Decorator, name: 'Configurable()' }]
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
docs: [{
|
|
85
|
-
kind: ts_morph_1.StructureKind.JSDoc,
|
|
86
|
-
description: 'Module threads'
|
|
87
|
-
}],
|
|
88
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
89
|
-
name: 'threads',
|
|
90
|
-
isReadonly: true,
|
|
91
|
-
scope: ts_morph_1.Scope.Protected,
|
|
92
|
-
type: 'TThreadsConfig',
|
|
93
|
-
initializer: '[]',
|
|
94
|
-
decorators: [{ kind: ts_morph_1.StructureKind.Decorator, name: 'Configurable()' }]
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
docs: [{
|
|
98
|
-
kind: ts_morph_1.StructureKind.JSDoc,
|
|
99
|
-
description: 'Module processes'
|
|
100
|
-
}],
|
|
101
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
102
|
-
name: 'processes',
|
|
103
|
-
isReadonly: true,
|
|
104
|
-
scope: ts_morph_1.Scope.Protected,
|
|
105
|
-
type: 'TProcessesConfig',
|
|
106
|
-
initializer: '[]',
|
|
107
|
-
decorators: [{ kind: ts_morph_1.StructureKind.Decorator, name: 'Configurable()' }]
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
docs: [{
|
|
111
|
-
kind: ts_morph_1.StructureKind.JSDoc,
|
|
112
|
-
description: 'Module workflows'
|
|
113
|
-
}],
|
|
114
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
115
|
-
name: 'workflows',
|
|
116
|
-
isReadonly: true,
|
|
117
|
-
scope: ts_morph_1.Scope.Protected,
|
|
118
|
-
type: 'TWorkflowsConfig',
|
|
119
|
-
initializer: '[]',
|
|
120
|
-
decorators: [{ kind: ts_morph_1.StructureKind.Decorator, name: 'Configurable()' }]
|
|
121
|
-
}
|
|
122
|
-
]);
|
|
123
|
-
const initMethod = moduleClass.addMethod({
|
|
124
|
-
name: 'initialize',
|
|
125
|
-
isAsync: true,
|
|
126
|
-
returnType: 'Promise<void>',
|
|
127
|
-
scope: ts_morph_1.Scope.Protected
|
|
128
|
-
});
|
|
129
|
-
initMethod.addStatements(writer => {
|
|
130
|
-
writer.writeLine(`//Initializer for ${className}`);
|
|
131
|
-
writer.writeLine(`//Write your module initialization codes here`);
|
|
132
|
-
});
|
|
133
|
-
try {
|
|
134
|
-
await project.save();
|
|
135
|
-
console.info(`模块 ${className} 创建成功`);
|
|
136
|
-
}
|
|
137
|
-
catch (e) {
|
|
138
|
-
console.error(`模块创建错误: ${e.message}`);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
exports.CreateModuleManipulator = CreateModuleManipulator;
|
|
142
|
-
//# sourceMappingURL=CreateModuleManipulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateModuleManipulator.js","sourceRoot":"","sources":["../../../src/lib/manipulators/CreateModuleManipulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.CreatePluginManipulator = void 0;
|
|
7
|
-
const ts_morph_1 = require("ts-morph");
|
|
8
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
-
async function CreatePluginManipulator(projectPath, tsConfigFilePath, directories) {
|
|
10
|
-
const project = new ts_morph_1.Project({ tsConfigFilePath: tsConfigFilePath });
|
|
11
|
-
project.addSourceFilesAtPaths(projectPath);
|
|
12
|
-
if (!directories.plugins)
|
|
13
|
-
return console.error('项目读取错误: 插件文件夹未找到');
|
|
14
|
-
const pluginDir = directories.plugins.toString();
|
|
15
|
-
const createOptions = await inquirer_1.default.prompt([{
|
|
16
|
-
type: 'input',
|
|
17
|
-
name: 'className',
|
|
18
|
-
message: '请输入创建的插件类名'
|
|
19
|
-
}]);
|
|
20
|
-
if (!createOptions.className)
|
|
21
|
-
return console.error('插件创建错误: 插件类名不可为空');
|
|
22
|
-
const className = createOptions.className;
|
|
23
|
-
const pluginPath = `${pluginDir}/${className}.ts`;
|
|
24
|
-
let fileExist;
|
|
25
|
-
try {
|
|
26
|
-
fileExist = !!project.getSourceFile(pluginPath);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
fileExist = false;
|
|
30
|
-
}
|
|
31
|
-
if (fileExist)
|
|
32
|
-
return console.error('插件创建错误: 已有同名插件存在');
|
|
33
|
-
const file = project.createSourceFile(pluginPath);
|
|
34
|
-
file.addImportDeclaration({
|
|
35
|
-
namedImports: ['Plugin', 'Configurable'],
|
|
36
|
-
moduleSpecifier: '@lakutata/core'
|
|
37
|
-
});
|
|
38
|
-
file.addStatements([{
|
|
39
|
-
declarationKind: ts_morph_1.ModuleDeclarationKind.Module,
|
|
40
|
-
kind: ts_morph_1.StructureKind.Module,
|
|
41
|
-
hasDeclareKeyword: true,
|
|
42
|
-
name: `'@lakutata/core'`,
|
|
43
|
-
statements: [{
|
|
44
|
-
kind: ts_morph_1.StructureKind.Interface,
|
|
45
|
-
name: 'Application',
|
|
46
|
-
properties: [{
|
|
47
|
-
name: className,
|
|
48
|
-
type: className
|
|
49
|
-
}]
|
|
50
|
-
}]
|
|
51
|
-
}]);
|
|
52
|
-
const pluginClass = file.addClass({
|
|
53
|
-
name: className,
|
|
54
|
-
extends: 'Plugin',
|
|
55
|
-
isExported: true
|
|
56
|
-
});
|
|
57
|
-
const onActivationMethod = pluginClass.addMethod({
|
|
58
|
-
name: 'onActivation',
|
|
59
|
-
isAsync: false,
|
|
60
|
-
returnType: 'void',
|
|
61
|
-
scope: ts_morph_1.Scope.Protected
|
|
62
|
-
});
|
|
63
|
-
onActivationMethod.addStatements(writer => {
|
|
64
|
-
writer.writeLine('//Codes in here will be executed on plugin activation');
|
|
65
|
-
writer.writeLine('//Plugin is always executed in transient mode');
|
|
66
|
-
});
|
|
67
|
-
try {
|
|
68
|
-
await project.save();
|
|
69
|
-
console.info(`插件 ${className} 创建成功`);
|
|
70
|
-
}
|
|
71
|
-
catch (e) {
|
|
72
|
-
console.error(`插件创建错误: ${e.message}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.CreatePluginManipulator = CreatePluginManipulator;
|
|
76
|
-
//# sourceMappingURL=CreatePluginManipulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePluginManipulator.js","sourceRoot":"","sources":["../../../src/lib/manipulators/CreatePluginManipulator.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA6E;AAC7E,wDAA+B;AASxB,KAAK,UAAU,uBAAuB,CAAC,WAAmB,EAAE,gBAAwB,EAAE,WAAuC;IAChI,MAAM,OAAO,GAAG,IAAI,kBAAO,CAAC,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,CAAC,CAAA;IACjE,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;IAC1C,IAAI,CAAC,WAAW,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAW,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IACxD,MAAM,aAAa,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,YAAY;SACxB,CAAC,CAAC,CAAA;IACH,IAAI,CAAC,aAAa,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACtE,MAAM,SAAS,GAAW,aAAa,CAAC,SAAS,CAAA;IACjD,MAAM,UAAU,GAAW,GAAG,SAAS,IAAI,SAAS,KAAK,CAAA;IACzD,IAAI,SAAkB,CAAA;IACtB,IAAI;QACA,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;KAClD;IAAC,OAAO,CAAC,EAAE;QACR,SAAS,GAAG,KAAK,CAAA;KACpB;IACD,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,oBAAoB,CAAC;QACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;QACxC,eAAe,EAAE,gBAAgB;KACpC,CAAC,CAAA;IACF,IAAI,CAAC,aAAa,CAAC,CAAC;YAChB,eAAe,EAAE,gCAAqB,CAAC,MAAM;YAC7C,IAAI,EAAE,wBAAa,CAAC,MAAM;YAC1B,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,CAAC;oBACT,IAAI,EAAE,wBAAa,CAAC,SAAS;oBAC7B,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,CAAC;4BACT,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;yBAClB,CAAC;iBACL,CAAC;SACL,CAAC,CAAC,CAAA;IACH,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,IAAI;KACnB,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC;QAC7C,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,gBAAK,CAAC,SAAS;KACzB,CAAC,CAAA;IACF,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACtC,MAAM,CAAC,SAAS,CAAC,uDAAuD,CAAC,CAAA;QACzE,MAAM,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;IACF,IAAI;QACA,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,MAAM,SAAS,OAAO,CAAC,CAAA;KACvC;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,WAAY,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;KACnD;AACL,CAAC;AA5DD,0DA4DC"}
|