nodefony 7.0.0-beta.13 → 7.0.0-beta.15
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 +40 -1
- package/README.md +9 -9
- package/autoloader.es6 +44 -46
- 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 +24 -25
- package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +40 -32
- 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 +12 -14
- 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 -35
- 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 +5 -5
- package/cli/builder/bundles/users-bundle/readme.md +7 -7
- package/cli/builder/bundles/users-bundle/services/usersService.js +287 -291
- 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 +71 -74
- package/cli/builder/bundles/users-bundle/usersBundle.js +2 -3
- package/cli/builder/microService/microService.js +139 -141
- package/cli/builder/project/project.js +187 -187
- package/cli/builder/project/skeletons/README.md +9 -9
- package/cli/builder/project/skeletons/eslintignore.skeleton +15 -0
- package/cli/builder/project/skeletons/eslintrc.js.skeleton +97 -0
- package/cli/builder/project/skeletons/{package.json.skeleton → package.json.twig} +12 -3
- package/cli/builder/react/reactBuilder.js +59 -65
- package/cli/builder/sandbox/sandBoxBuilder.js +131 -133
- package/cli/builder/skeletons/{package.json → package.json.twig} +3 -4
- package/cli/builder/vue/vueBuilder.js +136 -141
- package/cli/generate/generate.es6 +38 -39
- package/cli/install/install.js +42 -59
- package/cli/sequelize/sequelize.js +50 -39
- package/cli/start.js +348 -371
- package/cli/tools/pm2.es6 +55 -57
- package/cli/tools/tools.es6 +36 -37
- package/cli.es6 +277 -276
- 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 +49 -51
- package/kernel/babylon.es6 +31 -38
- package/kernel/bundle.es6 +314 -318
- package/kernel/cliKernel.es6 +196 -217
- package/kernel/command.es6 +17 -20
- package/kernel/commands/nodefonyCommand.es6 +67 -66
- package/kernel/commands/tasks/bundlesTask.es6 +14 -19
- package/kernel/controllers/controller.es6 +166 -179
- package/kernel/fixture.es6 +4 -7
- package/kernel/injections/injections.es6 +155 -159
- package/kernel/kernel.es6 +396 -402
- package/kernel/kernelWatcher.es6 +278 -278
- package/kernel/orm/entity.es6 +10 -12
- package/kernel/orm/orm.es6 +48 -58
- 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 -152
- 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 -48
- package/kernel/tests/cliTest.js +7 -11
- package/kernel/tests/containerTest.js +25 -37
- package/kernel/tests/kernelTest.js +9 -16
- package/nodefony.es6 +426 -430
- package/notificationsCenter.es6 +28 -20
- package/package.json +24 -23
- 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/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,43 @@
|
|
|
1
|
-
## [7.0.0-beta.
|
|
1
|
+
## [7.0.0-beta.14](https://github.com/nodefony/nodefony/compare/v7.0.0-beta.15...v7.0.0-beta.14) (2023-03-07)
|
|
2
|
+
|
|
3
|
+
## [7.0.0-beta.15](https://github.com/nodefony/nodefony/compare/v7.0.0-beta.14...v7.0.0-beta.15) (2023-03-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **builder:** rename skeleton package.json ([d7f047a](https://github.com/nodefony/nodefony/commit/d7f047a3735efd1c7ea77e65eb2a40a6c1b4886a))
|
|
9
|
+
* **datatable:** monitoring add datatable vuetify lab ([5de67f3](https://github.com/nodefony/nodefony/commit/5de67f369d7207a624ba4c9c87fd5b35d21114d0))
|
|
10
|
+
* **datatable:** offset null ([3788257](https://github.com/nodefony/nodefony/commit/3788257d39336621a1ecb911aea2af75109d39a1))
|
|
11
|
+
* **eslint:** add config eslint and rules ([f782f45](https://github.com/nodefony/nodefony/commit/f782f456a1fbd83377287f8a9e10f2e0a815944e))
|
|
12
|
+
* **eslint:** add rules ([27b3912](https://github.com/nodefony/nodefony/commit/27b39122bee0c9e4f08ddbf1744099fa5fab57d5))
|
|
13
|
+
* **eslint:** add rules ([32f28ff](https://github.com/nodefony/nodefony/commit/32f28ff3193b9e9448f854befdde4b9ad067ea8c))
|
|
14
|
+
* **eslint:** add rules ([7c20f34](https://github.com/nodefony/nodefony/commit/7c20f34ea5468a1639baba889dca60f5317611e0))
|
|
15
|
+
* **eslint:** change config | add rules ([091c81e](https://github.com/nodefony/nodefony/commit/091c81ee74d0f1ef742314aa1578f079047e5267))
|
|
16
|
+
* **eslint:** fix rules ([b9ea975](https://github.com/nodefony/nodefony/commit/b9ea975da67481f09f79357a10270487500c8516))
|
|
17
|
+
* **eslint:** upgrade rules ([ba0d412](https://github.com/nodefony/nodefony/commit/ba0d41247dd007c95431d6638ef862ba658054e6))
|
|
18
|
+
* **security:** clean session and security management ([5e47b05](https://github.com/nodefony/nodefony/commit/5e47b05815382d8db689a1dce77ed355e84ef2a9))
|
|
19
|
+
* **sequelize:** create database on install ([48215da](https://github.com/nodefony/nodefony/commit/48215dac1a0284ad3d84a99975d059d5d1011189))
|
|
20
|
+
* **sequelize:** reformat config ([676b062](https://github.com/nodefony/nodefony/commit/676b062a12cb8617f647f083faef7f192d4bac0c))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Performance Improvements
|
|
24
|
+
|
|
25
|
+
* **extend:** nodefony.extend ([2c0e3ef](https://github.com/nodefony/nodefony/commit/2c0e3ef26f7fd6f0318910ecd574dca5f6b62815))
|
|
26
|
+
|
|
27
|
+
## [7.0.0-beta.14](https://github.com/nodefony/nodefony/compare/v7.0.0-beta.13...v7.0.0-beta.14) (2023-01-06)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* **sequelize:** add sync alter on cli || manage response prompt ([e4ce684](https://github.com/nodefony/nodefony/commit/e4ce684e2625d788c3d97d6088b37b2dabb3fdc1))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* **build:** changelog ([c6f3db9](https://github.com/nodefony/nodefony/commit/c6f3db9965572bef6b4e0c557cf4ef871fa29d3a))
|
|
38
|
+
* **sequelize:** add users seeder ([ab36609](https://github.com/nodefony/nodefony/commit/ab3660978c6700cd90a9ea0cd98e5815dc616667))
|
|
39
|
+
* **sequelize:** hash user password on seed ([765e1c9](https://github.com/nodefony/nodefony/commit/765e1c9483a1ae3740fdd6720395ad453035dba7))
|
|
40
|
+
* **sequelize:** sync and seed on install ([7a8cd21](https://github.com/nodefony/nodefony/commit/7a8cd21a233d7af59b4b5cddecb07f298633c11e))
|
|
2
41
|
|
|
3
42
|
## [7.0.0-beta.13](https://github.com/nodefony/nodefony/compare/v7.0.0-beta.12...v7.0.0-beta.13) (2023-01-03)
|
|
4
43
|
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
[](https://github.com/nodefony/nodefony/issues) [](https://github.com/nodefony/nodefony/actions) [](https://bestpractices.coreinfrastructure.org/projects/495)
|
|
9
9
|
|
|
10
|
-
Nodefony is Node.js full-stack web framework.
|
|
10
|
+
Nodefony is Node.js full-stack web framework.
|
|
11
11
|
|
|
12
12
|
Nodefony can be used to develop a complete solution to create a Fullstack Web Application, Secure Api, or Microservices.
|
|
13
13
|
|
|
@@ -127,7 +127,7 @@ The development framework will not be ported to typescript, but will wait for th
|
|
|
127
127
|
|
|
128
128
|
- ~~[ELECTRON](https://github.com/nodefony/nodefony-electron) Experimental Nodefony Electron ( Now an Electron Context can be use in Nodefony Project )~~
|
|
129
129
|
|
|
130
|
-
- EMBEDDED SYSTEM ( Very difficult : large memory footprint )
|
|
130
|
+
- EMBEDDED SYSTEM ( Very difficult : large memory footprint )
|
|
131
131
|
|
|
132
132
|
## <a name="install"></a> Linux or OSX Installation
|
|
133
133
|
|
|
@@ -141,7 +141,7 @@ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
|
|
|
141
141
|
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
|
|
142
142
|
|
|
143
143
|
$ source ~/.bashrc # or source ~/.bash_profile
|
|
144
|
-
$ nvm ls-remote # show all remote versions
|
|
144
|
+
$ nvm ls-remote # show all remote versions
|
|
145
145
|
$ nvm ls # show local versions
|
|
146
146
|
```
|
|
147
147
|
|
|
@@ -254,8 +254,8 @@ $ cd myproject
|
|
|
254
254
|
```bash
|
|
255
255
|
$ npx nodefony -h
|
|
256
256
|
|
|
257
|
-
nodefony
|
|
258
|
-
create [-i] name [path] Create New Nodefony Project
|
|
257
|
+
nodefony
|
|
258
|
+
create [-i] name [path] Create New Nodefony Project
|
|
259
259
|
```
|
|
260
260
|
|
|
261
261
|
## <a name="buildstarter"></a> Build Project with Github Starter :
|
|
@@ -326,14 +326,14 @@ OR YOU CAN USE CLI INTERACTIVE MODE (nodefony without args)
|
|
|
326
326
|
_ _ ___ ____ _____ _____ ___ _ _ __ __
|
|
327
327
|
| \ | | / _ \ | _ \ | ____| | ___| / _ \ | \ | | \ \ / /
|
|
328
328
|
| \| | | | | | | | | | | _| | |_ | | | | | \| | \ V /
|
|
329
|
-
| |\ | | |_| | | |_| | | |___ | _| | |_| | | |\ | | |
|
|
330
|
-
|_| \_| \___/ |____/ |_____| |_| \___/ |_| \_| |_|
|
|
329
|
+
| |\ | | |_| | | |_| | | |___ | _| | |_| | | |\ | | |
|
|
330
|
+
|_| \_| \___/ |____/ |_____| |_| \___/ |_| \_| |_|
|
|
331
331
|
|
|
332
332
|
Version : 4.0.0 Platform : linux Process : nodefony PID : 31635
|
|
333
333
|
|
|
334
334
|
Fri Jul 27 2018 17:01:11 INFO nodefony : WELCOME PROJECT : myproject 1.0.0
|
|
335
335
|
|
|
336
|
-
? Nodefony CLI :
|
|
336
|
+
? Nodefony CLI :
|
|
337
337
|
❯ Start Servers Development
|
|
338
338
|
Start Servers Pre-Production
|
|
339
339
|
Start Servers Production
|
|
@@ -594,7 +594,7 @@ class defaultController extends nodefony.Controller {
|
|
|
594
594
|
indexAction() {
|
|
595
595
|
return this.render("hello-bundle::index.html.twig", {
|
|
596
596
|
name: this.bundle.name,
|
|
597
|
-
description: this.bundle.package.description
|
|
597
|
+
description: this.bundle.package.description
|
|
598
598
|
});
|
|
599
599
|
}
|
|
600
600
|
}
|
package/autoloader.es6
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
const vm = require("vm");
|
|
2
2
|
const path = require("path");
|
|
3
3
|
const Module = require("module");
|
|
4
|
-
const fs = require(
|
|
5
|
-
const pm2 = require(
|
|
6
|
-
//console.log(require.resolve("pm2"))
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const pm2 = require("pm2");
|
|
6
|
+
// console.log(require.resolve("pm2"))
|
|
7
7
|
const Nodefony = require(path.resolve(__dirname, "nodefony.es6"));
|
|
8
8
|
|
|
9
|
-
module.exports = function () {
|
|
9
|
+
module.exports = (function () {
|
|
10
10
|
// Create Context copy library in context see load runInThisContext
|
|
11
11
|
const context = vm.createContext(this);
|
|
12
12
|
|
|
13
|
-
//context.require = require;
|
|
14
|
-
//context.module = module;
|
|
15
|
-
//context.exports = exports;
|
|
16
|
-
//context.__dirname = __dirname;
|
|
17
|
-
//context.__filename = __filename;
|
|
13
|
+
// context.require = require;
|
|
14
|
+
// context.module = module;
|
|
15
|
+
// context.exports = exports;
|
|
16
|
+
// context.__dirname = __dirname;
|
|
17
|
+
// context.__filename = __filename;
|
|
18
18
|
context.path = require("path");
|
|
19
19
|
context.fs = require("fs");
|
|
20
20
|
context.yaml = require("js-yaml");
|
|
21
|
-
context.util = require(
|
|
22
|
-
context.cluster = require(
|
|
21
|
+
context.util = require("util");
|
|
22
|
+
context.cluster = require("cluster");
|
|
23
23
|
context.url = require("url");
|
|
24
|
-
context.xmlParser = require(
|
|
25
|
-
context.dns = require(
|
|
26
|
-
//context.async = require('async');
|
|
27
|
-
//context.nodedomain = require('domain');
|
|
28
|
-
context.Promise = require(
|
|
29
|
-
//context.inquirer = require('inquirer');
|
|
30
|
-
context.clc = require(
|
|
24
|
+
context.xmlParser = require("xml2js").Parser;
|
|
25
|
+
context.dns = require("dns");
|
|
26
|
+
// context.async = require('async');
|
|
27
|
+
// context.nodedomain = require('domain');
|
|
28
|
+
context.Promise = require("promise");
|
|
29
|
+
// context.inquirer = require('inquirer');
|
|
30
|
+
context.clc = require("cli-color");
|
|
31
31
|
context.shell = require("shelljs");
|
|
32
32
|
context.twig = require("twig");
|
|
33
|
-
//context.crypto = crypto;
|
|
33
|
+
// context.crypto = crypto;
|
|
34
34
|
context.BlueBird = require("bluebird");
|
|
35
35
|
context.pm2 = pm2;
|
|
36
|
-
//context.Rx = require("rxjs");
|
|
36
|
+
// context.Rx = require("rxjs");
|
|
37
37
|
const nodefony = new Nodefony(context);
|
|
38
38
|
|
|
39
39
|
/**
|
|
@@ -47,8 +47,7 @@ module.exports = function () {
|
|
|
47
47
|
const regJs = /.*\.js$|.*\.es6$|.*\.es7$|.*\.(mjs)$/;
|
|
48
48
|
|
|
49
49
|
class Autoload {
|
|
50
|
-
|
|
51
|
-
constructor() {
|
|
50
|
+
constructor () {
|
|
52
51
|
this.versions = this.getVersion();
|
|
53
52
|
this.timeout = 20000;
|
|
54
53
|
this.displayError = true;
|
|
@@ -59,7 +58,7 @@ module.exports = function () {
|
|
|
59
58
|
|
|
60
59
|
try {
|
|
61
60
|
nodefony.Error = require(path.resolve(__dirname, "error.es6"));
|
|
62
|
-
//this.load(path.resolve(__dirname, "error.es6"));
|
|
61
|
+
// this.load(path.resolve(__dirname, "error.es6"));
|
|
63
62
|
nodefony.Container = require(path.resolve(__dirname, "container.es6"));
|
|
64
63
|
require(path.resolve(__dirname, "notificationsCenter.es6"));
|
|
65
64
|
nodefony.PDU = require(path.resolve(__dirname, "syslog", "pdu.es6"));
|
|
@@ -75,7 +74,7 @@ module.exports = function () {
|
|
|
75
74
|
nodefony.Watcher = require(path.resolve(__dirname, "watcher.es6"));
|
|
76
75
|
nodefony.cli = require(path.resolve(__dirname, "cli.es6"));
|
|
77
76
|
|
|
78
|
-
//builders
|
|
77
|
+
// builders
|
|
79
78
|
nodefony.Builder = require(path.resolve(__dirname, "builder.es6"));
|
|
80
79
|
require(path.resolve(__dirname, "cli", "builder", "bundles", "bundle.js"));
|
|
81
80
|
require(path.resolve(__dirname, "cli", "builder", "microService", "microService.js"));
|
|
@@ -90,7 +89,7 @@ module.exports = function () {
|
|
|
90
89
|
context.nodefony.cliStart = require(path.resolve(__dirname, "cli", "start.js"));
|
|
91
90
|
context.nodefony.appKernel = this.loadAppKernel(undefined, true);
|
|
92
91
|
|
|
93
|
-
//services
|
|
92
|
+
// services
|
|
94
93
|
} catch (e) {
|
|
95
94
|
throw e;
|
|
96
95
|
}
|
|
@@ -98,11 +97,11 @@ module.exports = function () {
|
|
|
98
97
|
this.setEnv();
|
|
99
98
|
}
|
|
100
99
|
|
|
101
|
-
getVersion() {
|
|
100
|
+
getVersion () {
|
|
102
101
|
return process.versions;
|
|
103
102
|
}
|
|
104
103
|
|
|
105
|
-
fileExist(file) {
|
|
104
|
+
fileExist (file) {
|
|
106
105
|
try {
|
|
107
106
|
fs.statSync(file);
|
|
108
107
|
} catch (e) {
|
|
@@ -110,11 +109,11 @@ module.exports = function () {
|
|
|
110
109
|
}
|
|
111
110
|
}
|
|
112
111
|
|
|
113
|
-
isElectron() {
|
|
112
|
+
isElectron () {
|
|
114
113
|
return this.versions.electron || null;
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
loadAppKernel() {
|
|
116
|
+
loadAppKernel () {
|
|
118
117
|
try {
|
|
119
118
|
return require(path.resolve("app", "appKernel.js"));
|
|
120
119
|
} catch (e) {
|
|
@@ -122,11 +121,11 @@ module.exports = function () {
|
|
|
122
121
|
}
|
|
123
122
|
}
|
|
124
123
|
|
|
125
|
-
createContext(sandbox) {
|
|
124
|
+
createContext (sandbox) {
|
|
126
125
|
return vm.createContext(sandbox);
|
|
127
126
|
}
|
|
128
127
|
|
|
129
|
-
setEnv(environment) {
|
|
128
|
+
setEnv (environment) {
|
|
130
129
|
this.environment = environment;
|
|
131
130
|
switch (this.environment) {
|
|
132
131
|
case "production":
|
|
@@ -153,18 +152,18 @@ module.exports = function () {
|
|
|
153
152
|
* @param {String} file Path to load
|
|
154
153
|
*
|
|
155
154
|
*/
|
|
156
|
-
load(file, force) {
|
|
155
|
+
load (file, force) {
|
|
157
156
|
let filename = null;
|
|
158
157
|
try {
|
|
159
158
|
filename = Module._resolveFilename(file, module, false);
|
|
160
|
-
|
|
159
|
+
const cachedModule = Module._cache[filename];
|
|
161
160
|
if (cachedModule && !force) {
|
|
162
161
|
return cachedModule.exports;
|
|
163
162
|
}
|
|
164
163
|
if (cachedModule && force) {
|
|
165
164
|
delete Module._cache[filename];
|
|
166
165
|
}
|
|
167
|
-
|
|
166
|
+
const myModule = new Module(filename, module);
|
|
168
167
|
Module._cache[filename] = myModule;
|
|
169
168
|
myModule.load(filename);
|
|
170
169
|
return myModule.exports;
|
|
@@ -172,8 +171,8 @@ module.exports = function () {
|
|
|
172
171
|
if (Module._cache[filename]) {
|
|
173
172
|
delete Module._cache[filename];
|
|
174
173
|
}
|
|
175
|
-
//console.error(e);
|
|
176
|
-
/*if (this.kernel) {
|
|
174
|
+
// console.error(e);
|
|
175
|
+
/* if (this.kernel) {
|
|
177
176
|
this.kernel.terminate(1);
|
|
178
177
|
}*/
|
|
179
178
|
throw e;
|
|
@@ -188,14 +187,14 @@ module.exports = function () {
|
|
|
188
187
|
* @param {String} msgid informations for message. example(Name of function for debug)
|
|
189
188
|
* @param {String} msg message to add in log. example (I18N)
|
|
190
189
|
*/
|
|
191
|
-
log(pci, severity, msgid, msg) {
|
|
190
|
+
log (pci, severity, msgid, msg) {
|
|
192
191
|
if (this.syslog) {
|
|
193
192
|
if (!msgid) {
|
|
194
193
|
msgid = "AUTOLOADER ";
|
|
195
194
|
}
|
|
196
195
|
return this.syslog.log(pci, severity, msgid, msg);
|
|
197
196
|
}
|
|
198
|
-
//console.log(pci);
|
|
197
|
+
// console.log(pci);
|
|
199
198
|
}
|
|
200
199
|
|
|
201
200
|
/**
|
|
@@ -204,10 +203,10 @@ module.exports = function () {
|
|
|
204
203
|
* @param {String} path Path to directory to autoload
|
|
205
204
|
*
|
|
206
205
|
*/
|
|
207
|
-
loadDirectory(path, exclude) {
|
|
206
|
+
loadDirectory (path, exclude) {
|
|
208
207
|
let finder = null;
|
|
209
|
-
|
|
210
|
-
path
|
|
208
|
+
const settings = {
|
|
209
|
+
path,
|
|
211
210
|
onFinish: (error, res) => {
|
|
212
211
|
if (error) {
|
|
213
212
|
throw error;
|
|
@@ -233,9 +232,9 @@ module.exports = function () {
|
|
|
233
232
|
throw new Error("AUTOLOADER finder not found Load nodefony finder ");
|
|
234
233
|
}
|
|
235
234
|
|
|
236
|
-
autoloadEach(ele) {
|
|
235
|
+
autoloadEach (ele) {
|
|
237
236
|
if (!ele.isDirectory()) {
|
|
238
|
-
|
|
237
|
+
const res = regJs.exec(ele.path);
|
|
239
238
|
if (res) {
|
|
240
239
|
this.load.call(this, ele.path);
|
|
241
240
|
this.log(ele.path, "DEBUG");
|
|
@@ -243,13 +242,12 @@ module.exports = function () {
|
|
|
243
242
|
}
|
|
244
243
|
}
|
|
245
244
|
|
|
246
|
-
setKernel(kernel) {
|
|
245
|
+
setKernel (kernel) {
|
|
247
246
|
context.kernel = kernel;
|
|
248
247
|
this.syslog = kernel.syslog;
|
|
249
248
|
}
|
|
250
|
-
|
|
251
249
|
}
|
|
252
250
|
|
|
253
251
|
nodefony.autoloader = new Autoload();
|
|
254
252
|
return nodefony;
|
|
255
|
-
}();
|
|
253
|
+
}());
|
package/builder.es6
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
class Builder extends nodefony.Service {
|
|
2
|
-
|
|
3
|
-
constructor(cli, cmd, args) {
|
|
2
|
+
constructor (cli, cmd, args) {
|
|
4
3
|
super("BUILDER", cli.container, cli.notificationsCenter);
|
|
5
4
|
this.cli = cli;
|
|
6
5
|
this.twig = twig;
|
|
@@ -11,7 +10,7 @@ class Builder extends nodefony.Service {
|
|
|
11
10
|
this.force = false;
|
|
12
11
|
this.twigOptions = {
|
|
13
12
|
views: process.cwd(),
|
|
14
|
-
|
|
13
|
+
"twig options": {
|
|
15
14
|
async: false,
|
|
16
15
|
cache: false
|
|
17
16
|
}
|
|
@@ -19,62 +18,55 @@ class Builder extends nodefony.Service {
|
|
|
19
18
|
this.response = nodefony.extend(true, {}, this.cli.response);
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
setLocation(location) {
|
|
21
|
+
setLocation (location) {
|
|
23
22
|
if (location instanceof nodefony.fileClass) {
|
|
24
23
|
return this.location = location.path;
|
|
25
24
|
}
|
|
26
25
|
return this.location = path.resolve(location);
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
setEnv(env) {
|
|
28
|
+
setEnv (env) {
|
|
30
29
|
process.env.NODE_ENV = env || "development";
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
async run(interactive) {
|
|
32
|
+
async run (interactive) {
|
|
34
33
|
if (interactive) {
|
|
35
34
|
this.interactive = interactive;
|
|
36
35
|
return this.interaction()
|
|
37
36
|
.then((response) => {
|
|
38
|
-
//this.log(this.response, "WARNING")
|
|
37
|
+
// this.log(this.response, "WARNING")
|
|
39
38
|
nodefony.extend(true, this.response, response);
|
|
40
|
-
//this.log(this.response)
|
|
39
|
+
// this.log(this.response)
|
|
41
40
|
nodefony.extend(true, this.cli.response, this.response);
|
|
42
|
-
//this.log(this.cli.response,"CRITIC")
|
|
41
|
+
// this.log(this.cli.response,"CRITIC")
|
|
43
42
|
return this.generate(response, this.force)
|
|
44
|
-
.then((response) => {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
})
|
|
50
|
-
.catch(e => {
|
|
43
|
+
.then((response) => ({
|
|
44
|
+
response,
|
|
45
|
+
builder: this
|
|
46
|
+
}))
|
|
47
|
+
.catch((e) => {
|
|
51
48
|
throw e;
|
|
52
49
|
});
|
|
53
50
|
})
|
|
54
|
-
.catch(e => {
|
|
55
|
-
throw e;
|
|
56
|
-
});
|
|
57
|
-
} else {
|
|
58
|
-
return this.generate(null, this.force)
|
|
59
|
-
.then((response) => {
|
|
60
|
-
return {
|
|
61
|
-
response: response,
|
|
62
|
-
builder: this
|
|
63
|
-
};
|
|
64
|
-
})
|
|
65
|
-
.catch(e => {
|
|
51
|
+
.catch((e) => {
|
|
66
52
|
throw e;
|
|
67
53
|
});
|
|
68
54
|
}
|
|
55
|
+
return this.generate(null, this.force)
|
|
56
|
+
.then((response) => ({
|
|
57
|
+
response,
|
|
58
|
+
builder: this
|
|
59
|
+
}))
|
|
60
|
+
.catch((e) => {
|
|
61
|
+
throw e;
|
|
62
|
+
});
|
|
69
63
|
}
|
|
70
64
|
|
|
71
|
-
interaction() {
|
|
72
|
-
return new Promise(resolve =>
|
|
73
|
-
return resolve(this.cli.response);
|
|
74
|
-
});
|
|
65
|
+
interaction () {
|
|
66
|
+
return new Promise((resolve) => resolve(this.cli.response));
|
|
75
67
|
}
|
|
76
68
|
|
|
77
|
-
generate(response, force = false) {
|
|
69
|
+
generate (response, force = false) {
|
|
78
70
|
return new Promise((resolve, reject) => {
|
|
79
71
|
try {
|
|
80
72
|
if (this.createBuilder) {
|
|
@@ -88,7 +80,7 @@ class Builder extends nodefony.Service {
|
|
|
88
80
|
});
|
|
89
81
|
}
|
|
90
82
|
|
|
91
|
-
buildFront(response, Path) {
|
|
83
|
+
buildFront (response, Path) {
|
|
92
84
|
this.Front = null;
|
|
93
85
|
switch (response.front) {
|
|
94
86
|
case "vue":
|
|
@@ -97,13 +89,13 @@ class Builder extends nodefony.Service {
|
|
|
97
89
|
case "react":
|
|
98
90
|
this.Front = new nodefony.builders.react(this.cli, this.cmd, this.args, response);
|
|
99
91
|
break;
|
|
100
|
-
case
|
|
92
|
+
case "electron":
|
|
101
93
|
this.Front = null;
|
|
102
94
|
break;
|
|
103
|
-
case
|
|
95
|
+
case "api":
|
|
104
96
|
this.Front = null;
|
|
105
97
|
break;
|
|
106
|
-
case
|
|
98
|
+
case "sandbox":
|
|
107
99
|
default:
|
|
108
100
|
this.Front = new nodefony.builders.sandbox(this.cli, this.cmd, this.args, response);
|
|
109
101
|
break;
|
|
@@ -112,12 +104,12 @@ class Builder extends nodefony.Service {
|
|
|
112
104
|
return this.Front;
|
|
113
105
|
}
|
|
114
106
|
|
|
115
|
-
async removeInteractivePath(file) {
|
|
107
|
+
async removeInteractivePath (file) {
|
|
116
108
|
return this.cli.prompt([{
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
109
|
+
type: "confirm",
|
|
110
|
+
name: "remove",
|
|
111
|
+
message: `Do You Want Remove : ${file}?`,
|
|
112
|
+
default: false
|
|
121
113
|
}])
|
|
122
114
|
.then((response) => {
|
|
123
115
|
if (response.remove) {
|
|
@@ -133,12 +125,13 @@ class Builder extends nodefony.Service {
|
|
|
133
125
|
} else {
|
|
134
126
|
return response;
|
|
135
127
|
}
|
|
136
|
-
})
|
|
128
|
+
})
|
|
129
|
+
.catch((e) => {
|
|
137
130
|
throw e;
|
|
138
131
|
});
|
|
139
132
|
}
|
|
140
133
|
|
|
141
|
-
buildSkeleton(skeleton, parse = true, obj = {}, callback = null) {
|
|
134
|
+
buildSkeleton (skeleton, parse = true, obj = {}, callback = null) {
|
|
142
135
|
let skelete = null;
|
|
143
136
|
if (!callback) {
|
|
144
137
|
return new Promise((resolve, reject) => {
|
|
@@ -159,7 +152,7 @@ class Builder extends nodefony.Service {
|
|
|
159
152
|
});
|
|
160
153
|
} else {
|
|
161
154
|
fs.readFile(skelete.path, {
|
|
162
|
-
encoding:
|
|
155
|
+
encoding: "utf8"
|
|
163
156
|
}, (error, result) => {
|
|
164
157
|
if (error) {
|
|
165
158
|
return reject(error);
|
|
@@ -168,7 +161,7 @@ class Builder extends nodefony.Service {
|
|
|
168
161
|
});
|
|
169
162
|
}
|
|
170
163
|
} else {
|
|
171
|
-
|
|
164
|
+
const error = new Error(` skeleton must be file !!! : ${skelete.path}`);
|
|
172
165
|
return reject(error);
|
|
173
166
|
}
|
|
174
167
|
} catch (e) {
|
|
@@ -188,11 +181,11 @@ class Builder extends nodefony.Service {
|
|
|
188
181
|
this.twig.renderFile(skelete.path, obj, callback);
|
|
189
182
|
} else {
|
|
190
183
|
callback(null, fs.readFileSync(skelete.path, {
|
|
191
|
-
encoding:
|
|
184
|
+
encoding: "utf8"
|
|
192
185
|
}));
|
|
193
186
|
}
|
|
194
187
|
} else {
|
|
195
|
-
throw new Error(
|
|
188
|
+
throw new Error(` skeleton must be file !!! : ${skelete.path}`);
|
|
196
189
|
}
|
|
197
190
|
} catch (e) {
|
|
198
191
|
this.log(e, "ERROR");
|
|
@@ -200,7 +193,7 @@ class Builder extends nodefony.Service {
|
|
|
200
193
|
return skelete;
|
|
201
194
|
}
|
|
202
195
|
|
|
203
|
-
build(obj, parent, force) {
|
|
196
|
+
build (obj, parent, force) {
|
|
204
197
|
let child = null;
|
|
205
198
|
try {
|
|
206
199
|
if (!(parent instanceof nodefony.fileClass)) {
|
|
@@ -220,8 +213,8 @@ class Builder extends nodefony.Service {
|
|
|
220
213
|
break;
|
|
221
214
|
case "object":
|
|
222
215
|
let name = null;
|
|
223
|
-
for (
|
|
224
|
-
|
|
216
|
+
for (const ele in obj) {
|
|
217
|
+
const value = obj[ele];
|
|
225
218
|
switch (ele) {
|
|
226
219
|
case "name":
|
|
227
220
|
name = value;
|
|
@@ -230,12 +223,12 @@ class Builder extends nodefony.Service {
|
|
|
230
223
|
switch (value) {
|
|
231
224
|
case "directory":
|
|
232
225
|
try {
|
|
233
|
-
|
|
226
|
+
const directory = path.resolve(parent.path, name);
|
|
234
227
|
child = this.cli.createDirectory(directory, 0o755, (ele) => {
|
|
235
228
|
if (force) {
|
|
236
|
-
this.log(
|
|
229
|
+
this.log(`Force Create Directory :${ele.name}`);
|
|
237
230
|
} else {
|
|
238
|
-
this.log(
|
|
231
|
+
this.log(`Create Directory :${ele.name}`);
|
|
239
232
|
}
|
|
240
233
|
if (obj.chmod) {
|
|
241
234
|
this.cli.chmod(obj.chmod, directory);
|
|
@@ -248,9 +241,9 @@ class Builder extends nodefony.Service {
|
|
|
248
241
|
break;
|
|
249
242
|
case "file":
|
|
250
243
|
try {
|
|
251
|
-
|
|
244
|
+
const file = path.resolve(parent.path, name);
|
|
252
245
|
this.createFile(file, obj.skeleton, obj.parse, obj.params, (ele) => {
|
|
253
|
-
this.log(
|
|
246
|
+
this.log(`Create File :${ele.name}`);
|
|
254
247
|
});
|
|
255
248
|
if (obj.chmod) {
|
|
256
249
|
this.cli.chmod(obj.chmod, file);
|
|
@@ -263,11 +256,11 @@ class Builder extends nodefony.Service {
|
|
|
263
256
|
case "symlink":
|
|
264
257
|
try {
|
|
265
258
|
if (force) {
|
|
266
|
-
this.cli.ln(
|
|
259
|
+
this.cli.ln("-sf", path.resolve(parent.path, obj.params.source), path.resolve(parent.path, obj.params.dest));
|
|
267
260
|
} else {
|
|
268
|
-
this.cli.ln(
|
|
261
|
+
this.cli.ln("-s", path.resolve(parent.path, obj.params.source), path.resolve(parent.path, obj.params.dest));
|
|
269
262
|
}
|
|
270
|
-
this.log(
|
|
263
|
+
this.log(`Create symbolic link :${obj.name}`);
|
|
271
264
|
} catch (e) {
|
|
272
265
|
this.log(e, "ERROR");
|
|
273
266
|
throw e;
|
|
@@ -275,13 +268,13 @@ class Builder extends nodefony.Service {
|
|
|
275
268
|
break;
|
|
276
269
|
case "copy":
|
|
277
270
|
try {
|
|
278
|
-
|
|
271
|
+
const file = path.resolve(parent.path, name);
|
|
279
272
|
if (obj.params && obj.params.recurse) {
|
|
280
273
|
this.cli.cp("-R", obj.path, file);
|
|
281
274
|
} else {
|
|
282
275
|
this.cli.cp("-f", obj.path, file);
|
|
283
276
|
}
|
|
284
|
-
this.log(
|
|
277
|
+
this.log(`Copy :${obj.name}`);
|
|
285
278
|
if (obj.chmod) {
|
|
286
279
|
this.cli.chmod(obj.chmod, file);
|
|
287
280
|
}
|
|
@@ -313,7 +306,7 @@ class Builder extends nodefony.Service {
|
|
|
313
306
|
return child;
|
|
314
307
|
}
|
|
315
308
|
|
|
316
|
-
createFile(myPath, skeleton, parse = true, params = {}, callback = null) {
|
|
309
|
+
createFile (myPath, skeleton, parse = true, params = {}, callback = null) {
|
|
317
310
|
if (!callback) {
|
|
318
311
|
return new Promise((resolve, reject) => {
|
|
319
312
|
if (skeleton) {
|
|
@@ -328,20 +321,17 @@ class Builder extends nodefony.Service {
|
|
|
328
321
|
return resolve(new nodefony.fileClass(myPath));
|
|
329
322
|
});
|
|
330
323
|
})
|
|
331
|
-
.catch((e) =>
|
|
332
|
-
return reject(e);
|
|
333
|
-
});
|
|
334
|
-
} else {
|
|
335
|
-
let data = " ";
|
|
336
|
-
fs.writeFile(myPath, data, {
|
|
337
|
-
mode: params.mode || "644"
|
|
338
|
-
}, (err) => {
|
|
339
|
-
if (err) {
|
|
340
|
-
return reject(err);
|
|
341
|
-
}
|
|
342
|
-
return resolve(new nodefony.fileClass(myPath));
|
|
343
|
-
});
|
|
324
|
+
.catch((e) => reject(e));
|
|
344
325
|
}
|
|
326
|
+
const data = " ";
|
|
327
|
+
fs.writeFile(myPath, data, {
|
|
328
|
+
mode: params.mode || "644"
|
|
329
|
+
}, (err) => {
|
|
330
|
+
if (err) {
|
|
331
|
+
return reject(err);
|
|
332
|
+
}
|
|
333
|
+
return resolve(new nodefony.fileClass(myPath));
|
|
334
|
+
});
|
|
345
335
|
});
|
|
346
336
|
}
|
|
347
337
|
if (skeleton) {
|
|
@@ -360,7 +350,7 @@ class Builder extends nodefony.Service {
|
|
|
360
350
|
}
|
|
361
351
|
});
|
|
362
352
|
} else {
|
|
363
|
-
|
|
353
|
+
const data = " ";
|
|
364
354
|
try {
|
|
365
355
|
fs.writeFileSync(myPath, data, {
|
|
366
356
|
mode: params.mode || "644"
|