nodefony 7.0.0-beta.2 → 7.0.0-beta.21
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 +534 -8028
- package/README.md +33 -30
- package/autoloader.es6 +46 -48
- package/builder.es6 +66 -76
- package/cli/builder/bundles/bundle.js +57 -63
- package/cli/builder/bundles/controller.js +34 -38
- package/cli/builder/bundles/users-bundle/Command/fixtureTask.js +11 -12
- package/cli/builder/bundles/users-bundle/Command/usersCommand.js +23 -24
- package/cli/builder/bundles/users-bundle/Entity/mongoose/userEntity.js +25 -30
- package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +42 -31
- package/cli/builder/bundles/users-bundle/Fixtures/users.js +24 -26
- package/cli/builder/bundles/users-bundle/Fixtures/usersFixtures.js +28 -29
- package/cli/builder/bundles/users-bundle/Resources/config/config.js +4 -3
- package/cli/builder/bundles/users-bundle/Resources/config/routing.js +2 -2
- package/cli/builder/bundles/users-bundle/Resources/config/security.js +9 -8
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.dev.config.js +3 -3
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.prod.config.js +4 -3
- package/cli/builder/bundles/users-bundle/Resources/config/webpack.config.js +74 -75
- package/cli/builder/bundles/users-bundle/Resources/scss/awesome/font-awesome.config.js +9 -9
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/login.js +13 -13
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/users.js +14 -14
- package/cli/builder/bundles/users-bundle/controller/api/graphql/graphqlController.js +13 -15
- package/cli/builder/bundles/users-bundle/controller/api/graphql/userResolver.js +29 -29
- package/cli/builder/bundles/users-bundle/controller/api/graphql/usertype.js +2 -2
- package/cli/builder/bundles/users-bundle/controller/api/openapi/loginApiController.js +34 -36
- package/cli/builder/bundles/users-bundle/controller/api/openapi/restUserController.js +32 -36
- package/cli/builder/bundles/users-bundle/controller/loginController.js +30 -34
- package/cli/builder/bundles/users-bundle/controller/usersController.js +54 -60
- package/cli/builder/bundles/users-bundle/package.json +27 -25
- package/cli/builder/bundles/users-bundle/pnpm-lock.yaml +4262 -0
- package/cli/builder/bundles/users-bundle/readme.md +7 -7
- package/cli/builder/bundles/users-bundle/services/usersService.js +97 -102
- package/cli/builder/bundles/users-bundle/src/providers/mongoose/userProvider.js +6 -8
- package/cli/builder/bundles/users-bundle/src/providers/sequelize/userProvider.js +9 -10
- package/cli/builder/bundles/users-bundle/tests/loginTest.js +119 -70
- package/cli/builder/bundles/users-bundle/usersBundle.js +2 -3
- package/cli/builder/microService/microService.js +139 -141
- package/cli/builder/microService/skeletons/package.json +23 -22
- package/cli/builder/project/project.js +228 -181
- package/cli/builder/project/skeletons/README.md +33 -30
- package/cli/builder/project/skeletons/bin/dev-deploy.sh +5 -0
- package/cli/builder/project/skeletons/bin/prod-deploy.sh +3 -0
- package/cli/builder/project/skeletons/config/config.js.skeleton +1 -0
- package/cli/builder/project/skeletons/config/pm2.config.js.skeleton +41 -17
- package/cli/builder/project/skeletons/eslintignore.skeleton +15 -0
- package/cli/builder/project/skeletons/eslintrc.js.skeleton +97 -0
- package/cli/builder/project/skeletons/gitignore.skeleton +1 -0
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.37.entity-user.js +137 -0
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.38.entity-session.js +97 -0
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.39.entity-requests.js +115 -0
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.40.entity-jwts.js +97 -0
- package/cli/builder/project/skeletons/migrations/migrations.skeleton.js +0 -2
- package/cli/builder/project/skeletons/package.json.twig +70 -0
- package/cli/builder/react/reactBuilder.js +59 -65
- package/cli/builder/sandbox/sandBoxBuilder.js +132 -134
- package/cli/builder/skeletons/app/appKernel.js +120 -2
- package/cli/builder/skeletons/config/config.js +1 -1
- package/cli/builder/skeletons/config/nodefony/framework-bundle.js +2 -1
- package/cli/builder/skeletons/config/nodefony/http-bundle.js +1 -0
- package/cli/builder/skeletons/config/nodefony/mongoose-bundle.js +38 -12
- package/cli/builder/skeletons/config/nodefony/monitoring-bundle.js +21 -2
- package/cli/builder/skeletons/config/nodefony/sequelize-bundle.js +122 -13
- package/cli/builder/skeletons/package.json.twig +57 -0
- package/cli/builder/skeletons/unittest/testFile.js +44 -45
- package/cli/builder/vue/skeletons/vue.config.js +84 -10
- package/cli/builder/vue/vueBuilder.js +116 -114
- package/cli/generate/generate.es6 +38 -39
- package/cli/install/install.js +45 -58
- package/cli/sequelize/sequelize.js +50 -39
- package/cli/start.js +353 -347
- package/cli/tools/pm2.es6 +55 -57
- package/cli/tools/tools.es6 +36 -37
- package/cli.es6 +280 -228
- package/container.es6 +51 -59
- package/error.es6 +25 -27
- package/fileClass.es6 +53 -55
- package/finder/file.es6 +5 -4
- package/finder/fileResult.es6 +23 -22
- package/finder/finder2.es6 +46 -54
- package/finder.es6 +88 -97
- package/kernel/annotations/annotations.es6 +44 -46
- package/kernel/api/api.es6 +6 -8
- package/kernel/api/graphqlApi.es6 +21 -21
- package/kernel/api/jsonApi.es6 +40 -45
- package/kernel/api/openApi.es6 +9 -11
- package/kernel/api/schemas/openApiSchema.js +61 -32
- package/kernel/babylon.es6 +31 -38
- package/kernel/bundle.es6 +252 -220
- package/kernel/cliKernel.es6 +157 -170
- package/kernel/command.es6 +17 -20
- package/kernel/commands/nodefonyCommand.es6 +111 -58
- package/kernel/commands/tasks/bundlesTask.es6 +14 -19
- package/kernel/controllers/controller.es6 +167 -180
- package/kernel/fixture.es6 +4 -7
- package/kernel/injections/injections.es6 +97 -103
- package/kernel/kernel.es6 +476 -384
- package/kernel/kernelWatcher.es6 +64 -54
- package/kernel/orm/entity.es6 +10 -12
- package/kernel/orm/orm.es6 +68 -48
- package/kernel/reader.es6 +45 -47
- package/kernel/security/encoder.es6 +8 -6
- package/kernel/security/factories/factory.es6 +34 -37
- package/kernel/security/factories/passeportFactory.es6 +13 -14
- package/kernel/security/provider.es6 +11 -13
- package/kernel/security/providers/chainProvider.es6 +13 -28
- package/kernel/security/providers/memoryProvider.es6 +7 -11
- package/kernel/security/providers/providerManager.es6 +11 -14
- package/kernel/security/providers/userEntityProvider.es6 +7 -8
- package/kernel/security/role.es6 +3 -3
- package/kernel/security/secureArea.es6 +143 -149
- package/kernel/security/tokens/token.es6 +30 -32
- package/kernel/security/user.es6 +19 -19
- package/kernel/serviceRealTime.es6 +5 -7
- package/kernel/services/connectionsService.es6 +20 -22
- package/kernel/services/cron/cronService.es6 +14 -16
- package/kernel/task.es6 +20 -26
- package/kernel/templates.es6 +4 -5
- package/kernel/templating/twig.es6 +56 -47
- package/kernel/tests/cliTest.js +7 -11
- package/kernel/tests/containerTest.js +25 -37
- package/kernel/tests/kernelTest.js +9 -16
- package/nodefony.es6 +279 -256
- package/notificationsCenter.es6 +28 -20
- package/package.json +40 -40
- package/protocol.es6 +19 -21
- package/protocols/bayeux.es6 +35 -38
- package/protocols/jsonRpc/jsonrpc.es6 +12 -14
- package/result.es6 +11 -12
- package/service.es6 +62 -62
- package/syslog/pdu.es6 +99 -91
- package/syslog/syslog.es6 +101 -102
- package/watcher.es6 +21 -20
- package/cli/builder/project/skeletons/jshintignore.skeleton +0 -1
- package/cli/builder/project/skeletons/jshintrc.skeleton +0 -60
- package/cli/builder/project/skeletons/package.json.skeleton +0 -52
- package/cli/builder/skeletons/package.json +0 -61
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
class Vue extends nodefony.builders.sandbox {
|
|
2
|
-
constructor(cli, cmd, args, options) {
|
|
2
|
+
constructor (cli, cmd, args, options) {
|
|
3
3
|
super(cli, cmd, args, nodefony.extend(true, {}, options, {
|
|
4
4
|
typescript: false,
|
|
5
5
|
addons: {
|
|
@@ -7,7 +7,7 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
7
7
|
bootstrap: false,
|
|
8
8
|
vuetify: true,
|
|
9
9
|
i18n: true,
|
|
10
|
-
apollo:false
|
|
10
|
+
apollo: false
|
|
11
11
|
}
|
|
12
12
|
}));
|
|
13
13
|
this.pathSkeleton = path.resolve(__dirname, "skeletons");
|
|
@@ -15,13 +15,13 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
15
15
|
this.vueLocation = null;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
run() {
|
|
18
|
+
run () {
|
|
19
19
|
return super.run(true).
|
|
20
|
-
then(async (res)=>{
|
|
21
|
-
if(this.response.addons.i18n){
|
|
22
|
-
try{
|
|
20
|
+
then(async (res) => {
|
|
21
|
+
if (this.response.addons.i18n) {
|
|
22
|
+
try {
|
|
23
23
|
await this.addI18n();
|
|
24
|
-
}catch(e){
|
|
24
|
+
} catch (e) {
|
|
25
25
|
this.log(e, "WARNING");
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -29,31 +29,34 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
async interaction() {
|
|
32
|
+
async interaction () {
|
|
33
33
|
this.cli.reset();
|
|
34
34
|
await this.cli.showAsciify("Vue");
|
|
35
|
-
|
|
36
|
-
type:
|
|
37
|
-
message:
|
|
38
|
-
name:
|
|
35
|
+
const promtOptions = [{
|
|
36
|
+
type: "checkbox",
|
|
37
|
+
message: "Select vue addons",
|
|
38
|
+
name: "addons",
|
|
39
39
|
pageSize: 10,
|
|
40
40
|
choices: [{
|
|
41
41
|
name: "vuetify",
|
|
42
42
|
checked: this.response.addons.vuetify
|
|
43
43
|
}, {
|
|
44
|
-
name:
|
|
44
|
+
name: "i18n",
|
|
45
45
|
checked: this.response.addons.i18n
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* , {
|
|
49
|
+
name: 'apollo-client',
|
|
50
|
+
checked: this.response.addons.apollo
|
|
51
|
+
}*/
|
|
52
|
+
]
|
|
50
53
|
}];
|
|
51
54
|
return this.cli.prompt(promtOptions)
|
|
52
55
|
.then((response) => {
|
|
53
|
-
|
|
56
|
+
const addons = {
|
|
54
57
|
vuetify: false,
|
|
55
58
|
i18n: false,
|
|
56
|
-
apollo:false
|
|
59
|
+
apollo: false
|
|
57
60
|
};
|
|
58
61
|
for (let i = 0; i < response.addons.length; i++) {
|
|
59
62
|
switch (response.addons[i]) {
|
|
@@ -74,71 +77,71 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
74
77
|
});
|
|
75
78
|
}
|
|
76
79
|
|
|
77
|
-
generate(response, force) {
|
|
80
|
+
generate (response, force) {
|
|
78
81
|
return this.builVue()
|
|
79
|
-
.then((location) =>
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
.catch((e) => {
|
|
101
|
-
throw e;
|
|
102
|
-
});
|
|
103
|
-
})
|
|
82
|
+
.then((location) => this.checkTypeScript()
|
|
83
|
+
.then(async () => {
|
|
84
|
+
// let packages = ["clean-webpack-plugin"];
|
|
85
|
+
const packagesDev = ["@vue/cli", "webpack-dev-server", "clean-webpack-plugin", "webpack"];
|
|
86
|
+
// await this.addPackage(packages, false);
|
|
87
|
+
await this.addPackage(packagesDev, true);
|
|
88
|
+
if (this.response.addons.vuetify) {
|
|
89
|
+
await this.addVuetify();
|
|
90
|
+
}
|
|
91
|
+
if (this.response.addons.apollo) {
|
|
92
|
+
await this.addApolloClient();
|
|
93
|
+
}
|
|
94
|
+
return super.generate(response, force)
|
|
95
|
+
.then(() => this.response)
|
|
96
|
+
.catch((e) => {
|
|
97
|
+
throw e;
|
|
98
|
+
});
|
|
99
|
+
})
|
|
100
|
+
.catch((e) => {
|
|
101
|
+
throw e;
|
|
102
|
+
}))
|
|
104
103
|
.catch((e) => {
|
|
105
104
|
throw e;
|
|
106
105
|
});
|
|
107
106
|
}
|
|
108
107
|
|
|
109
|
-
async addPackage(name, env = null, location = this.vueLocation) {
|
|
108
|
+
async addPackage (name, env = null, location = this.vueLocation) {
|
|
110
109
|
let args = [];
|
|
111
110
|
let packageManager = null;
|
|
112
|
-
let command = null
|
|
113
|
-
switch(
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
let command = null;
|
|
112
|
+
switch (nodefony.typeOf(name)) {
|
|
113
|
+
case "array":
|
|
114
|
+
args = name;
|
|
116
115
|
break;
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
case "string":
|
|
117
|
+
args.push(name);
|
|
119
118
|
break;
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
default:
|
|
120
|
+
return location;
|
|
122
121
|
}
|
|
123
122
|
switch (nodefony.packageManager) {
|
|
124
|
-
case
|
|
123
|
+
case "yarn":
|
|
125
124
|
packageManager = this.cli.yarn.bind(this.cli);
|
|
126
125
|
command = ["add"].concat(args);
|
|
127
126
|
break;
|
|
127
|
+
case "pnpm":
|
|
128
|
+
packageManager = this.cli.pnpm.bind(this.cli);
|
|
129
|
+
command = ["install"].concat(args);
|
|
130
|
+
break;
|
|
128
131
|
default:
|
|
129
132
|
packageManager = this.cli.npm.bind(this.cli);
|
|
130
|
-
command = ["install"].concat(args)
|
|
133
|
+
command = ["install"].concat(args);
|
|
131
134
|
}
|
|
132
|
-
if(env){
|
|
133
|
-
|
|
135
|
+
if (env) {
|
|
136
|
+
command.push("-D");
|
|
134
137
|
}
|
|
135
138
|
await packageManager(command, location);
|
|
136
139
|
return location;
|
|
137
140
|
}
|
|
138
141
|
|
|
139
|
-
addVuePlugin(args = [], location = this.vueLocation){
|
|
142
|
+
addVuePlugin (args = [], location = this.vueLocation) {
|
|
140
143
|
return new Promise(async (resolve, reject) => {
|
|
141
|
-
this.log(
|
|
144
|
+
this.log(`install Vue plugin : ${args.join(" ")}`);
|
|
142
145
|
let cmd = null;
|
|
143
146
|
try {
|
|
144
147
|
cmd = await this.cli.spawn("npx", args, {
|
|
@@ -147,8 +150,8 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
147
150
|
stdio: "inherit"
|
|
148
151
|
}, (code) => {
|
|
149
152
|
if (code === 1) {
|
|
150
|
-
this.log(
|
|
151
|
-
//return reject(new Error("install Vue cli new error : " + code));
|
|
153
|
+
this.log(new Error(`install Vue cli new error : ${code} ${args}`), "ERROR");
|
|
154
|
+
// return reject(new Error("install Vue cli new error : " + code));
|
|
152
155
|
return resolve(cmd);
|
|
153
156
|
}
|
|
154
157
|
return resolve(cmd);
|
|
@@ -161,41 +164,42 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
161
164
|
});
|
|
162
165
|
}
|
|
163
166
|
|
|
164
|
-
addVuetify(location = this.vueLocation) {
|
|
165
|
-
|
|
167
|
+
addVuetify (location = this.vueLocation) {
|
|
168
|
+
const args = ["vue", "add", "vuetify"];
|
|
166
169
|
return this.addVuePlugin(args, location);
|
|
167
170
|
}
|
|
168
171
|
|
|
169
|
-
addI18n(location = this.vueLocation) {
|
|
170
|
-
|
|
172
|
+
addI18n (location = this.vueLocation) {
|
|
173
|
+
const args = ["vue", "add", "i18n"];
|
|
171
174
|
return this.addVuePlugin(args, location);
|
|
172
175
|
}
|
|
173
176
|
|
|
174
177
|
// TODO: apollo
|
|
175
|
-
async addApolloClient(location = this.vueLocation) {
|
|
176
|
-
|
|
178
|
+
async addApolloClient (location = this.vueLocation) {
|
|
179
|
+
const packages = [
|
|
177
180
|
"apollo-cache-inmemory",
|
|
178
181
|
"apollo-client",
|
|
179
182
|
"apollo-link",
|
|
180
183
|
"apollo-link-context",
|
|
181
|
-
"apollo-link-http"
|
|
184
|
+
"apollo-link-http"
|
|
185
|
+
];
|
|
182
186
|
await this.addPackage(packages);
|
|
183
|
-
return Promise.resolve(this.vueLocation)
|
|
187
|
+
return Promise.resolve(this.vueLocation);
|
|
184
188
|
}
|
|
185
189
|
|
|
186
|
-
checkTypeScript() {
|
|
190
|
+
checkTypeScript () {
|
|
187
191
|
return new Promise((resolve) => {
|
|
188
192
|
try {
|
|
189
193
|
if (this.response.command === "project") {
|
|
190
194
|
new nodefony.fileClass(path.resolve(this.location, "app", "src", "main.ts"));
|
|
191
195
|
this.response.typescript = true;
|
|
192
|
-
//let skelete = path.resolve(this.pathSkeleton, "vue.config.js.ts");
|
|
193
|
-
//this.cli.cp("-f", skelete, path.resolve(this.location, "app", "vue.config.js"));
|
|
196
|
+
// let skelete = path.resolve(this.pathSkeleton, "vue.config.js.ts");
|
|
197
|
+
// this.cli.cp("-f", skelete, path.resolve(this.location, "app", "vue.config.js"));
|
|
194
198
|
} else {
|
|
195
199
|
new nodefony.fileClass(path.resolve(this.location, "src", "main.ts"));
|
|
196
200
|
this.response.typescript = true;
|
|
197
|
-
//let skelete = path.resolve(this.pathSkeleton, "vue.config.js.ts");
|
|
198
|
-
//this.cli.cp("-f", skelete, path.resolve(this.location, "vue.config.js"));
|
|
201
|
+
// let skelete = path.resolve(this.pathSkeleton, "vue.config.js.ts");
|
|
202
|
+
// this.cli.cp("-f", skelete, path.resolve(this.location, "vue.config.js"));
|
|
199
203
|
}
|
|
200
204
|
return resolve(true);
|
|
201
205
|
} catch (e) {
|
|
@@ -205,7 +209,7 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
205
209
|
});
|
|
206
210
|
}
|
|
207
211
|
|
|
208
|
-
getCli() {
|
|
212
|
+
getCli () {
|
|
209
213
|
let cliPath = null;
|
|
210
214
|
try {
|
|
211
215
|
cliPath = path.resolve(__dirname, "..", "..", "..", "node_modules", ".bin", "vue");
|
|
@@ -228,18 +232,18 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
228
232
|
return cliPath;
|
|
229
233
|
}
|
|
230
234
|
|
|
231
|
-
getLocation(){
|
|
235
|
+
getLocation () {
|
|
232
236
|
switch (this.cli.response.command) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
+
case "bundle":
|
|
238
|
+
return this.cli.response.location;
|
|
239
|
+
default:
|
|
240
|
+
return this.location;
|
|
237
241
|
}
|
|
238
242
|
}
|
|
239
243
|
|
|
240
|
-
builVue() {
|
|
244
|
+
builVue () {
|
|
241
245
|
let name = null;
|
|
242
|
-
|
|
246
|
+
const location = this.getLocation();
|
|
243
247
|
switch (this.cli.response.command) {
|
|
244
248
|
case "project":
|
|
245
249
|
name = "app";
|
|
@@ -250,8 +254,8 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
250
254
|
}
|
|
251
255
|
this.vueLocation = path.resolve(location, name);
|
|
252
256
|
return new Promise((resolve, reject) => {
|
|
253
|
-
|
|
254
|
-
this.log(
|
|
257
|
+
const args = ["create", "-n", name];
|
|
258
|
+
this.log(`install Vue cli : vue ${args.join(" ")}`);
|
|
255
259
|
let cmd = null;
|
|
256
260
|
try {
|
|
257
261
|
cmd = this.cli.spawn(this.cliVue, args, {
|
|
@@ -260,7 +264,7 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
260
264
|
stdio: "inherit"
|
|
261
265
|
}, (code) => {
|
|
262
266
|
if (code === 1) {
|
|
263
|
-
return reject(new Error(
|
|
267
|
+
return reject(new Error(`install Vue cli new error : ${code}`));
|
|
264
268
|
}
|
|
265
269
|
return resolve(path.resolve(this.location, this.response.name));
|
|
266
270
|
});
|
|
@@ -271,34 +275,33 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
271
275
|
});
|
|
272
276
|
}
|
|
273
277
|
|
|
274
|
-
builderProject() {
|
|
278
|
+
builderProject () {
|
|
275
279
|
try {
|
|
276
280
|
return {
|
|
277
281
|
name: "app",
|
|
278
282
|
type: "directory",
|
|
279
283
|
childs: [{
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
]
|
|
284
|
+
name: "appKernel.js",
|
|
285
|
+
type: "file",
|
|
286
|
+
skeleton: path.resolve(this.globalSkeleton, "app", "appKernel.js"),
|
|
287
|
+
params: this.response
|
|
288
|
+
}, {
|
|
289
|
+
name: "vue.config.js",
|
|
290
|
+
type: "file",
|
|
291
|
+
skeleton: path.resolve(this.pathSkeleton, "vue.config.js"),
|
|
292
|
+
params: this.response
|
|
293
|
+
},
|
|
294
|
+
this.generateController(),
|
|
295
|
+
this.generateConfig(false, true),
|
|
296
|
+
this.generateRessources()]
|
|
294
297
|
};
|
|
295
298
|
} catch (e) {
|
|
296
299
|
throw e;
|
|
297
300
|
}
|
|
298
301
|
}
|
|
299
302
|
|
|
300
|
-
builderBundle() {
|
|
301
|
-
|
|
303
|
+
builderBundle () {
|
|
304
|
+
const bundle = [];
|
|
302
305
|
bundle.push({
|
|
303
306
|
name: `${this.response.name}Bundle.js`,
|
|
304
307
|
type: "file",
|
|
@@ -312,7 +315,7 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
312
315
|
params: this.response
|
|
313
316
|
});
|
|
314
317
|
bundle.push(this.generateController());
|
|
315
|
-
//bundle.push(this.generateConfig(this.response.addons.webpack));
|
|
318
|
+
// bundle.push(this.generateConfig(this.response.addons.webpack));
|
|
316
319
|
bundle.push(this.generateRessources());
|
|
317
320
|
bundle.push({
|
|
318
321
|
name: "Entity",
|
|
@@ -325,8 +328,8 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
325
328
|
return bundle;
|
|
326
329
|
}
|
|
327
330
|
|
|
328
|
-
generateRessources() {
|
|
329
|
-
|
|
331
|
+
generateRessources () {
|
|
332
|
+
const resources = {
|
|
330
333
|
name: "Resources",
|
|
331
334
|
type: "directory",
|
|
332
335
|
childs: []
|
|
@@ -349,7 +352,7 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
349
352
|
resources.childs.push(this.generateViews());
|
|
350
353
|
// public
|
|
351
354
|
resources.childs.push(this.generatePublic());
|
|
352
|
-
//translations
|
|
355
|
+
// translations
|
|
353
356
|
resources.childs.push({
|
|
354
357
|
name: "translations",
|
|
355
358
|
type: "copy",
|
|
@@ -361,8 +364,8 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
361
364
|
return resources;
|
|
362
365
|
}
|
|
363
366
|
|
|
364
|
-
generatePublic() {
|
|
365
|
-
|
|
367
|
+
generatePublic () {
|
|
368
|
+
const publicWeb = {
|
|
366
369
|
name: "public",
|
|
367
370
|
type: "directory",
|
|
368
371
|
childs: []
|
|
@@ -370,7 +373,7 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
370
373
|
publicWeb.childs.push({
|
|
371
374
|
name: "favicon.ico",
|
|
372
375
|
type: "copy",
|
|
373
|
-
path: path.resolve(this.globalSkeleton, "Resources", "public", "favicon.ico")
|
|
376
|
+
path: path.resolve(this.globalSkeleton, "Resources", "public", "favicon.ico")
|
|
374
377
|
});
|
|
375
378
|
publicWeb.childs.push({
|
|
376
379
|
name: "images",
|
|
@@ -378,14 +381,14 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
378
381
|
childs: [{
|
|
379
382
|
name: this.cli.response.command === "project" ? "app-logo.png" : `${this.response.shortName}-logo.png`,
|
|
380
383
|
type: "copy",
|
|
381
|
-
path: path.resolve(this.globalSkeleton, "Resources", "public", "images", "app-logo.png")
|
|
384
|
+
path: path.resolve(this.globalSkeleton, "Resources", "public", "images", "app-logo.png")
|
|
382
385
|
}]
|
|
383
386
|
});
|
|
384
387
|
return publicWeb;
|
|
385
388
|
}
|
|
386
389
|
|
|
387
|
-
generateViews() {
|
|
388
|
-
|
|
390
|
+
generateViews () {
|
|
391
|
+
const views = {
|
|
389
392
|
name: "views",
|
|
390
393
|
type: "directory",
|
|
391
394
|
childs: []
|
|
@@ -402,7 +405,6 @@ class Vue extends nodefony.builders.sandbox {
|
|
|
402
405
|
}
|
|
403
406
|
return views;
|
|
404
407
|
}
|
|
405
|
-
|
|
406
408
|
}
|
|
407
409
|
nodefony.builders.vue = Vue;
|
|
408
410
|
module.exports = Vue;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
module.exports = class generateBuilder extends nodefony.Builder {
|
|
2
|
-
|
|
3
|
-
constructor(cli) {
|
|
2
|
+
constructor (cli) {
|
|
4
3
|
super(cli);
|
|
5
4
|
this.choices = [];
|
|
6
5
|
if (nodefony.isTrunk) {
|
|
@@ -20,7 +19,7 @@ module.exports = class generateBuilder extends nodefony.Builder {
|
|
|
20
19
|
this.choices.push("Quit");
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
log(pci, severity, msgid, msg) {
|
|
22
|
+
log (pci, severity, msgid, msg) {
|
|
24
23
|
try {
|
|
25
24
|
if (!msgid) {
|
|
26
25
|
msgid = "GENERATER";
|
|
@@ -31,50 +30,50 @@ module.exports = class generateBuilder extends nodefony.Builder {
|
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
interaction() {
|
|
33
|
+
interaction () {
|
|
35
34
|
return this.cli.prompt([{
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
35
|
+
type: "list",
|
|
36
|
+
name: "command",
|
|
37
|
+
message: " Nodefony CLI : ",
|
|
38
|
+
default: 0,
|
|
39
|
+
pageSize: this.choices.length,
|
|
40
|
+
choices: this.choices,
|
|
41
|
+
filter: (val) => {
|
|
42
|
+
switch (val) {
|
|
43
|
+
case "Generate New Nodefony Project":
|
|
44
|
+
return "project";
|
|
45
|
+
case "Generate Openssl Certificates":
|
|
46
|
+
return "certificates";
|
|
47
|
+
case "Generate New Bundle":
|
|
48
|
+
return "bundle";
|
|
49
|
+
case "Generate New Controller":
|
|
50
|
+
return "controller";
|
|
51
|
+
case "Generate New Service":
|
|
52
|
+
return "service";
|
|
53
|
+
case "Generate New Entity":
|
|
54
|
+
return "entity";
|
|
55
|
+
case "Generate Haproxy Configuration":
|
|
56
|
+
return "haproxy";
|
|
57
|
+
case "Generate Nginx Configuration":
|
|
58
|
+
return "nginx";
|
|
59
|
+
case "Generate letsEncrypt Webroot Configuration":
|
|
60
|
+
return "letsencrypt";
|
|
61
|
+
case "Quit":
|
|
62
|
+
return "quit";
|
|
63
|
+
default:
|
|
64
|
+
console.log("\n");
|
|
65
|
+
this.log(`command not found : ${val}`, "INFO");
|
|
66
|
+
this.cli.terminate(1);
|
|
69
67
|
}
|
|
70
|
-
}
|
|
68
|
+
}
|
|
69
|
+
}])
|
|
71
70
|
.then((response) => {
|
|
72
71
|
this.start(response);
|
|
73
72
|
return response;
|
|
74
73
|
});
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
start(response) {
|
|
76
|
+
start (response) {
|
|
78
77
|
switch (response.command) {
|
|
79
78
|
case "project":
|
|
80
79
|
return this.cli.createProject(response.command, this.cli.args, true);
|