evaengine 0.11.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/.ai/analysis.md +657 -0
  2. package/.ai/architecture/runtime.md +504 -0
  3. package/.ai/contracts/public-api.md +447 -0
  4. package/.ai/external-project-guide.md +248 -0
  5. package/.ai/vision.md +314 -0
  6. package/README.md +51 -62
  7. package/bin/engine +15 -21
  8. package/index.js +2 -18
  9. package/package.json +60 -64
  10. package/src/commands/index.js +12 -0
  11. package/{lib → src}/commands/interface.js +5 -11
  12. package/src/commands/make_entity.js +490 -0
  13. package/src/commands/tramp.js +34 -0
  14. package/{lib → src}/config/index.js +7 -9
  15. package/{lib → src}/di.js +11 -26
  16. package/src/engine.js +551 -0
  17. package/{lib → src}/entities/index.js +72 -82
  18. package/{lib → src}/exceptions/index.js +71 -92
  19. package/src/index.js +57 -0
  20. package/src/middlewares/auth.js +67 -0
  21. package/src/middlewares/auth_kong.js +28 -0
  22. package/src/middlewares/debug.js +88 -0
  23. package/src/middlewares/index.js +18 -0
  24. package/src/middlewares/providers.js +73 -0
  25. package/src/middlewares/session.js +58 -0
  26. package/{lib → src}/middlewares/trace.js +74 -86
  27. package/src/middlewares/validator.js +50 -0
  28. package/src/middlewares/view_cache.js +127 -0
  29. package/{lib → src}/services/cache.js +45 -56
  30. package/src/services/config.js +111 -0
  31. package/src/services/env.js +28 -0
  32. package/src/services/event_manager.js +84 -0
  33. package/src/services/http_client.js +160 -0
  34. package/src/services/index.js +27 -0
  35. package/src/services/interface.js +5 -0
  36. package/src/services/joi.js +13 -0
  37. package/src/services/jwt_token.js +89 -0
  38. package/src/services/jwt_token_kong.js +75 -0
  39. package/src/services/logger.js +148 -0
  40. package/src/services/namespace.js +176 -0
  41. package/src/services/now.js +49 -0
  42. package/src/services/providers.js +158 -0
  43. package/src/services/redis.js +55 -0
  44. package/src/services/rest_client.js +112 -0
  45. package/src/swagger/index.js +668 -0
  46. package/{lib → src}/utils/api_scaffold.js +26 -39
  47. package/src/utils/case_converter.js +33 -0
  48. package/src/utils/crc32.js +44 -0
  49. package/src/utils/datetime.js +13 -0
  50. package/src/utils/host.js +39 -0
  51. package/src/utils/index.js +35 -0
  52. package/{lib → src}/utils/pagination.js +22 -31
  53. package/src/utils/random.js +23 -0
  54. package/{lib → src}/utils/smart_query.js +27 -27
  55. package/src/utils/test.js +48 -0
  56. package/src/utils/wrapper.js +8 -0
  57. package/bin/engine-babel +0 -38
  58. package/lib/commands/index.js +0 -25
  59. package/lib/commands/index.js.map +0 -1
  60. package/lib/commands/interface.js.map +0 -1
  61. package/lib/commands/make_entity.js +0 -549
  62. package/lib/commands/make_entity.js.map +0 -1
  63. package/lib/commands/tramp.js +0 -53
  64. package/lib/commands/tramp.js.map +0 -1
  65. package/lib/config/index.js.map +0 -1
  66. package/lib/di.js.map +0 -1
  67. package/lib/engine.js +0 -558
  68. package/lib/engine.js.map +0 -1
  69. package/lib/entities/index.js.map +0 -1
  70. package/lib/exceptions/index.js.map +0 -1
  71. package/lib/index.js +0 -105
  72. package/lib/index.js.map +0 -1
  73. package/lib/middlewares/auth.js +0 -97
  74. package/lib/middlewares/auth.js.map +0 -1
  75. package/lib/middlewares/auth_kong.js +0 -48
  76. package/lib/middlewares/auth_kong.js.map +0 -1
  77. package/lib/middlewares/debug.js +0 -68
  78. package/lib/middlewares/debug.js.map +0 -1
  79. package/lib/middlewares/index.js +0 -45
  80. package/lib/middlewares/index.js.map +0 -1
  81. package/lib/middlewares/providers.js +0 -102
  82. package/lib/middlewares/providers.js.map +0 -1
  83. package/lib/middlewares/session.js +0 -76
  84. package/lib/middlewares/session.js.map +0 -1
  85. package/lib/middlewares/trace.js.map +0 -1
  86. package/lib/middlewares/validator.js +0 -71
  87. package/lib/middlewares/validator.js.map +0 -1
  88. package/lib/middlewares/view_cache.js +0 -160
  89. package/lib/middlewares/view_cache.js.map +0 -1
  90. package/lib/services/cache.js.map +0 -1
  91. package/lib/services/config.js +0 -140
  92. package/lib/services/config.js.map +0 -1
  93. package/lib/services/env.js +0 -40
  94. package/lib/services/env.js.map +0 -1
  95. package/lib/services/event_manager.js +0 -110
  96. package/lib/services/event_manager.js.map +0 -1
  97. package/lib/services/http_client.js +0 -178
  98. package/lib/services/http_client.js.map +0 -1
  99. package/lib/services/index.js +0 -70
  100. package/lib/services/index.js.map +0 -1
  101. package/lib/services/interface.js +0 -12
  102. package/lib/services/interface.js.map +0 -1
  103. package/lib/services/joi.js +0 -28
  104. package/lib/services/joi.js.map +0 -1
  105. package/lib/services/jwt_token.js +0 -120
  106. package/lib/services/jwt_token.js.map +0 -1
  107. package/lib/services/jwt_token_kong.js +0 -111
  108. package/lib/services/jwt_token_kong.js.map +0 -1
  109. package/lib/services/logger.js +0 -172
  110. package/lib/services/logger.js.map +0 -1
  111. package/lib/services/namespace.js +0 -188
  112. package/lib/services/namespace.js.map +0 -1
  113. package/lib/services/now.js +0 -69
  114. package/lib/services/now.js.map +0 -1
  115. package/lib/services/providers.js +0 -195
  116. package/lib/services/providers.js.map +0 -1
  117. package/lib/services/redis.js +0 -77
  118. package/lib/services/redis.js.map +0 -1
  119. package/lib/services/rest_client.js +0 -136
  120. package/lib/services/rest_client.js.map +0 -1
  121. package/lib/swagger/index.js +0 -684
  122. package/lib/swagger/index.js.map +0 -1
  123. package/lib/utils/api_scaffold.js.map +0 -1
  124. package/lib/utils/case_converter.js +0 -48
  125. package/lib/utils/case_converter.js.map +0 -1
  126. package/lib/utils/crc32.js +0 -22
  127. package/lib/utils/crc32.js.map +0 -1
  128. package/lib/utils/datetime.js +0 -21
  129. package/lib/utils/datetime.js.map +0 -1
  130. package/lib/utils/host.js +0 -48
  131. package/lib/utils/host.js.map +0 -1
  132. package/lib/utils/index.js +0 -61
  133. package/lib/utils/index.js.map +0 -1
  134. package/lib/utils/pagination.js.map +0 -1
  135. package/lib/utils/random.js +0 -33
  136. package/lib/utils/random.js.map +0 -1
  137. package/lib/utils/smart_query.js.map +0 -1
  138. package/lib/utils/test.js +0 -62
  139. package/lib/utils/test.js.map +0 -1
  140. package/lib/utils/wrapper.js +0 -9
  141. package/lib/utils/wrapper.js.map +0 -1
package/package.json CHANGED
@@ -1,25 +1,27 @@
1
1
  {
2
2
  "name": "evaengine",
3
- "version": "0.11.2",
3
+ "version": "1.0.1",
4
4
  "description": "EvaEngine for Node.js, a micro service development engine",
5
5
  "license": "MIT",
6
+ "type": "module",
6
7
  "package-lock": false,
7
8
  "repository": {
8
9
  "type": "git",
9
10
  "url": "https://github.com/EvaEngine/EvaEngine.js.git"
10
11
  },
11
12
  "scripts": {
12
- "prestart": "npm run build",
13
- "prepublish": "rm -rf ./lib && npm run build",
13
+ "prestart": "node src/index.js",
14
+ "prepublish": "npm run test",
14
15
  "ava": "cross-env LOG_LEVEL=error NODE_ENV=test ava --verbose --serial",
15
16
  "test": "nyc -a --reporter=lcov --reporter=text --reporter=html npm run ava",
16
- "lint": "eslint src/* --ext .js",
17
- "build": "./node_modules/.bin/babel -D -s -d lib/ src/",
18
- "travis-deploy-once": "travis-deploy-once",
19
- "semantic-release": "semantic-release"
17
+ "lint": "eslint src test index.js",
18
+ "build": "node --check src/index.js",
19
+ "ci:check": "npm run lint && npm run build",
20
+ "semantic-release": "semantic-release",
21
+ "release": "semantic-release"
20
22
  },
21
23
  "engines": {
22
- "node": ">=6.0.0"
24
+ "node": ">=24.0.0"
23
25
  },
24
26
  "keywords": [
25
27
  "es7",
@@ -28,10 +30,9 @@
28
30
  "micro service",
29
31
  "orm"
30
32
  ],
31
- "main": "index.js",
33
+ "main": "src/index.js",
32
34
  "bin": {
33
- "engine": "./bin/engine",
34
- "engine-babel": "./bin/engine-babel"
35
+ "engine": "./bin/engine"
35
36
  },
36
37
  "pre-commit": [
37
38
  "lint"
@@ -50,11 +51,8 @@
50
51
  "failFast": false,
51
52
  "tap": false,
52
53
  "require": [
53
- "babel-core/register",
54
- "babel-polyfill",
55
- "./test/bootstrap"
56
- ],
57
- "babel": "inherit"
54
+ "./test/bootstrap.js"
55
+ ]
58
56
  },
59
57
  "nyc": {
60
58
  "require": [],
@@ -66,58 +64,56 @@
66
64
  ]
67
65
  },
68
66
  "dependencies": {
69
- "acorn": "^5.5.3",
70
- "app-root-path": "^2.0.1",
71
- "babel-polyfill": "^6.23.0",
72
- "cloud-config-client": "^1.1.0",
73
- "connect-redis": "^3.3.3",
67
+ "acorn": "^8.18.0",
68
+ "app-root-path": "^3.1.0",
69
+ "cloud-config-client": "^1.6.2",
70
+ "connect-redis": "^10.0.0",
74
71
  "constitute": "^1.6.2",
75
72
  "continuation-local-storage": "^3.2.1",
76
- "doctrine": "^2.1.0",
77
- "express": "^4.16.3",
78
- "express-session": "^1.15.3",
79
- "glob": "^7.1.2",
80
- "ioredis": "^3.1.1",
81
- "joi": "^12.0.0",
82
- "js-yaml": "^3.11.0",
83
- "jwt-simple": "^0.5.1",
73
+ "doctrine": "^3.0.0",
74
+ "express": "^5.2.1",
75
+ "express-session": "^1.19.0",
76
+ "glob": "^13.0.6",
77
+ "ioredis": "^5.11.1",
78
+ "joi": "^18.2.3",
79
+ "js-yaml": "^5.2.2",
80
+ "jwt-simple": "^0.5.6",
84
81
  "later": "^1.2.0",
85
- "lodash": "^4.17.5",
86
- "mkdirp": "^0.5.1",
87
- "moment": "^2.22.0",
88
- "moment-timezone": "^0.5.13",
89
- "morgan": "^1.8.2",
90
- "mysql": "^2.13.0",
91
- "node-mocks-http": "~1.6.6",
92
- "on-headers": "^1.0.1",
93
- "pug": "^2.0.3",
94
- "request": "^2.85.0",
95
- "request-promise-native": "^1.0.4",
96
- "sequelize": "^3.31.0",
97
- "swagger-ui-dist": "^3.13.3",
98
- "winston": "^2.4.1",
99
- "yargs": "^11.0.0"
82
+ "lodash": "^4.18.1",
83
+ "mkdirp": "^3.0.1",
84
+ "moment": "^2.30.1",
85
+ "moment-timezone": "^0.6.3",
86
+ "morgan": "^1.11.0",
87
+ "mysql": "^2.18.1",
88
+ "mysql2": "^3.23.2",
89
+ "node-mocks-http": "~1.18.1",
90
+ "on-headers": "^1.1.0",
91
+ "pug": "^3.0.4",
92
+ "request": "^2.88.2",
93
+ "request-promise-native": "^1.0.9",
94
+ "sequelize": "^6.37.8",
95
+ "swagger-ui-dist": "^5.32.11",
96
+ "winston": "^3.19.0",
97
+ "yargs": "^18.1.0"
100
98
  },
101
99
  "devDependencies": {
102
- "ava": "^0.25.0",
103
- "babel-cli": "^6.24.1",
104
- "babel-core": "^6.25.0",
105
- "babel-eslint": "^8.2.2",
106
- "babel-plugin-transform-builtin-extend": "^1.1.2",
107
- "babel-plugin-transform-decorators-legacy": "^1.3.4",
108
- "babel-plugin-transform-object-rest-spread": "^6.26.0",
109
- "babel-preset-env": "^1.6.1",
110
- "cross-env": "^5.1.4",
111
- "eslint": "^4.19.1",
112
- "eslint-config-airbnb": "^16.1.0",
113
- "eslint-plugin-import": "^2.10.0",
114
- "eslint-plugin-jsx-a11y": "^6.0.2",
115
- "eslint-plugin-react": "^7.7.0",
116
- "is-type-of": "^1.0.0",
117
- "nock": "^9.2.3",
118
- "nyc": "^11.6.0",
119
- "pre-commit": "^1.2.2",
120
- "semantic-release": "^15.1.5",
121
- "travis-deploy-once": "^4.4.1"
100
+ "@eslint/js": "^9.39.5",
101
+ "@semantic-release/changelog": "^6.0.0",
102
+ "@semantic-release/commit-analyzer": "^13.0.0",
103
+ "@semantic-release/git": "^10.0.0",
104
+ "@semantic-release/github": "^11.0.0",
105
+ "@semantic-release/npm": "^12.0.0",
106
+ "@semantic-release/release-notes-generator": "^14.0.0",
107
+ "ava": "^8.0.1",
108
+ "conventional-changelog-conventionalcommits": "^8.0.0",
109
+ "cross-env": "^10.1.0",
110
+ "eslint": "^9.39.5",
111
+ "eslint-plugin-import": "^2.32.0",
112
+ "globals": "^17.8.0",
113
+ "is-type-of": "^2.2.0",
114
+ "nock": "^14.0.17",
115
+ "nyc": "^18.0.0",
116
+ "pre-commit": "^2.0.0",
117
+ "semantic-release": "^25.0.8"
122
118
  }
123
119
  }
@@ -0,0 +1,12 @@
1
+ import Command from './interface.js';
2
+ import { MakeEntity, MakeDbView, MakeGraphql } from './make_entity.js';
3
+ import TrampConfig from './tramp.js';
4
+
5
+ export default Command;
6
+
7
+ export {
8
+ MakeEntity,
9
+ MakeDbView,
10
+ MakeGraphql,
11
+ TrampConfig
12
+ };
@@ -1,9 +1,4 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- let Command = class Command {
1
+ export default class Command {
7
2
  constructor(argv) {
8
3
  this.argv = argv;
9
4
  this.options = null;
@@ -25,7 +20,7 @@ let Command = class Command {
25
20
 
26
21
  getOptions() {
27
22
  const options = {};
28
- Object.keys(this.argv).forEach(key => {
23
+ Object.keys(this.argv).forEach((key) => {
29
24
  if (key !== '$0' && ['string', 'number'].includes(typeof this.argv[key])) {
30
25
  options[key] = this.argv[key];
31
26
  }
@@ -45,7 +40,6 @@ let Command = class Command {
45
40
  return {};
46
41
  }
47
42
 
48
- run() {}
49
- };
50
- exports.default = Command;
51
- //# sourceMappingURL=interface.js.map
43
+ run() {
44
+ }
45
+ }