org-core-js 0.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 (63) hide show
  1. package/README.md +446 -0
  2. package/babel.config.json +13 -0
  3. package/cjs/core/driverCore.js +37 -0
  4. package/cjs/core/drivers/bull.js +56 -0
  5. package/cjs/core/drivers/fogu.js +14 -0
  6. package/cjs/core/drivers/mq.js +50 -0
  7. package/cjs/core/drivers/nats.js +161 -0
  8. package/cjs/core/drivers/osone.js +14 -0
  9. package/cjs/core/drivers/rabbitmq.js +68 -0
  10. package/cjs/core/drivers/redis.js +68 -0
  11. package/cjs/core/drivers/socket.js +36 -0
  12. package/cjs/core/entityCore.js +22 -0
  13. package/cjs/core/eventCore.js +26 -0
  14. package/cjs/core/index.js +477 -0
  15. package/cjs/core/libCore.js +22 -0
  16. package/cjs/core/repositoryCore.js +30 -0
  17. package/cjs/core/serverCore.js +142 -0
  18. package/cjs/core/serviceCore.js +26 -0
  19. package/cjs/core/utilCore.js +22 -0
  20. package/cjs/core/workerCore.js +27 -0
  21. package/cjs/fileCore.js +27 -0
  22. package/cjs/forawait.js +55 -0
  23. package/cjs/index.js +117 -0
  24. package/cjs/package.json +3 -0
  25. package/esm/core/driverCore.js +33 -0
  26. package/esm/core/drivers/bull.js +49 -0
  27. package/esm/core/drivers/fogu.js +12 -0
  28. package/esm/core/drivers/nats.js +160 -0
  29. package/esm/core/drivers/rabbitmq.js +64 -0
  30. package/esm/core/drivers/redis.js +71 -0
  31. package/esm/core/drivers/socket.js +28 -0
  32. package/esm/core/entityCore.js +12 -0
  33. package/esm/core/eventCore.js +17 -0
  34. package/esm/core/index.js +440 -0
  35. package/esm/core/libCore.js +13 -0
  36. package/esm/core/repositoryCore.js +25 -0
  37. package/esm/core/serverCore.js +155 -0
  38. package/esm/core/serviceCore.js +17 -0
  39. package/esm/core/utilCore.js +12 -0
  40. package/esm/core/workerCore.js +20 -0
  41. package/esm/fileCore.js +19 -0
  42. package/esm/forawait.js +48 -0
  43. package/esm/index.js +128 -0
  44. package/esm/package.json +3 -0
  45. package/lib/index.html +1021 -0
  46. package/package.json +73 -0
  47. package/src/app/events/test/app.js +13 -0
  48. package/src/app/events/test/ws.js +14 -0
  49. package/src/app/services/test/app.js +14 -0
  50. package/src/app/services/test/app1.js +11 -0
  51. package/src/core/entities/user.js +14 -0
  52. package/src/core/libs/hash.js +10 -0
  53. package/src/core/utils/auth.js +19 -0
  54. package/src/index.js +11 -0
  55. package/src/infra/db/index.js +7 -0
  56. package/src/infra/repositories/test/app.js +6 -0
  57. package/src/infra/web/http.js +15 -0
  58. package/src/infra/web/routers/auth.js +30 -0
  59. package/src/infra/web/routers/test.js +26 -0
  60. package/src/infra/web/ws/test.js +35 -0
  61. package/src/infra/workers/test/test.md +14 -0
  62. package/src/start.js +39 -0
  63. package/test/core.test.js +46 -0
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "org-core-js",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "main": "src/start.js",
6
+ "scripts": {
7
+ "convert": "npx babel esm --out-dir cjs",
8
+ "ts": "npx babel esm --out-dir ts --extensions '.js,.ts' --only '**/*.d.ts'",
9
+ "push": "npx babel esm --out-dir cjs && npm publish",
10
+ "npm": "npm publish",
11
+ "dev": "node --watch .",
12
+ "test": "vitest"
13
+ },
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "import": "./esm/index.js",
20
+ "require": "./cjs/index.js",
21
+ "forawait": "./esm/forawait.js",
22
+ "default": "./esm/index.js"
23
+ },
24
+ "./core": {
25
+ "import": "./esm/core.js",
26
+ "require": "./cjs/core.js"
27
+ },
28
+ "./forawait": {
29
+ "import": "./esm/forawait.js",
30
+ "require": "./cjs/forawait.js"
31
+ },
32
+ "./fileCore": {
33
+ "import": "./esm/fileCore.js",
34
+ "require": "./cjs/fileCore.js"
35
+ },
36
+ "./drivers/nats": {
37
+ "import": "./esm/core/drivers/nats.js",
38
+ "require": "./cjs/core/drivers/nats.js"
39
+ },
40
+ "./drivers/rabbitmq": {
41
+ "import": "./esm/core/drivers/rabbitmq.js",
42
+ "require": "./cjs/core/drivers/rabbitmq.js"
43
+ },
44
+ "./drivers/redis": {
45
+ "import": "./esm/core/drivers/redis.js",
46
+ "require": "./cjs/core/drivers/redis.js"
47
+ },
48
+ "./drivers/socket": {
49
+ "import": "./esm/core/drivers/socket.js",
50
+ "require": "./cjs/core/drivers/socket.js"
51
+ },
52
+ "./drivers/fogu": {
53
+ "import": "./esm/core/drivers/fogu.js",
54
+ "require": "./cjs/core/drivers/fogu.js"
55
+ }
56
+ },
57
+ "keywords": [],
58
+ "author": "",
59
+ "license": "MIT",
60
+ "description": "",
61
+ "dependencies": {
62
+ "dotenv": "^17.2.1",
63
+ "zod": "^4.0.17"
64
+ },
65
+ "devDependencies": {
66
+ "@babel/cli": "^7.28.0",
67
+ "@babel/core": "^7.28.0",
68
+ "@babel/preset-env": "^7.28.0",
69
+ "@babel/preset-typescript": "^7.27.1",
70
+ "babel-cli": "^6.26.0",
71
+ "vitest": "^4.0.6"
72
+ }
73
+ }
@@ -0,0 +1,13 @@
1
+ export default ({ }) => {
2
+
3
+
4
+ return {
5
+ event: {
6
+ method: "node",
7
+ // topic: "test.app"
8
+ },
9
+ execute: (data) => {
10
+ console.log(data, "event")
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,14 @@
1
+ export default ({ }) => {
2
+
3
+
4
+ return {
5
+ event: {
6
+ method: "ws",
7
+ route: "/test",
8
+ topic: "test.app"
9
+ },
10
+ execute: (data) => {
11
+ console.log(data, "event")
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ export default ({ entity, repository }) => ({
2
+ driver: {
3
+ "node": true,
4
+ },
5
+ async execute(data) {
6
+
7
+ const app = await entity("user").entity(data)
8
+ const res = await repository("test.app").execute(app.id || "ddddddddddd")
9
+ return {
10
+ data: res
11
+ }
12
+ }
13
+
14
+ })
@@ -0,0 +1,11 @@
1
+ export default ({ entity }) => ({
2
+ async execute(data) {
3
+
4
+ const app = await entity("user").entity({})
5
+ console.log(app)
6
+ console.log(data)
7
+
8
+
9
+ }
10
+
11
+ })
@@ -0,0 +1,14 @@
1
+ export default ({ }) => {
2
+ return {
3
+ entity({ }) {
4
+ return {
5
+ id: "sss"
6
+ }
7
+ },
8
+ dto() {
9
+ return {
10
+ name: "sss"
11
+ }
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,10 @@
1
+
2
+ export default ({ }) => ({
3
+ password(text) {
4
+ return text
5
+ },
6
+ compare(password, hash) {
7
+ return password == hash
8
+ }
9
+
10
+ })
@@ -0,0 +1,19 @@
1
+ export default ({ }) => {
2
+ return {
3
+ auth(listapp = []) {
4
+
5
+ return {
6
+
7
+ }
8
+
9
+ },
10
+ apiKey(headers) {
11
+
12
+ console.log(headers)
13
+
14
+ return false
15
+
16
+ }
17
+
18
+ }
19
+ }
package/src/index.js ADDED
@@ -0,0 +1,11 @@
1
+ export default {
2
+ async bootstrap({ core }) {
3
+ core.service("test.app").execute({})
4
+ /*core.driver("nats").command("test.app1", { name: "ssssss" }, {
5
+ apiKey: "sssss"
6
+ })*/
7
+ },
8
+ async distroy(core) {
9
+ console.log("close", e)
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ export default () => ({
2
+ app: {
3
+ findUnique(id) {
4
+ return id
5
+ }
6
+ }
7
+ })
@@ -0,0 +1,6 @@
1
+ export default ({ db, driver }) => ({
2
+ execute: async (id) => {
3
+ return await db.app.findUnique(id)
4
+
5
+ }
6
+ })
@@ -0,0 +1,15 @@
1
+
2
+
3
+ export default ({ routers = [], ws = [] }) => ({
4
+ io: null,
5
+
6
+ async start() {
7
+
8
+ console.log(routers, ws)
9
+
10
+ },
11
+ async stop() {
12
+
13
+ }
14
+
15
+ })
@@ -0,0 +1,30 @@
1
+ export default ({ service, event, command, lib, util }) => ({
2
+ prefix: '/api',
3
+
4
+ routers: [{
5
+ url: '/auth',
6
+ method: 'get',
7
+ schema: {
8
+
9
+ },
10
+ middlewares: [util("auth").auth([])],
11
+ async handler(request, reply) {
12
+ const { user } = request
13
+ try {
14
+
15
+ reply.send({
16
+ data: user
17
+ })
18
+ } catch (error) {
19
+ reply.status(500).send({
20
+ error: error.message
21
+ })
22
+ }
23
+
24
+
25
+ }
26
+
27
+ }]
28
+
29
+
30
+ })
@@ -0,0 +1,26 @@
1
+ export default ({ service, event, command, lib, util }) => ([
2
+
3
+ {
4
+ url: '/api/test',
5
+ method: 'get',
6
+ schema: {
7
+
8
+ },
9
+ middlewares: [], ///[util("auth").auth([])],
10
+ async handler(request, reply) {
11
+ const { user } = request
12
+ try {
13
+
14
+ reply.send({
15
+ data: user
16
+ })
17
+ } catch (error) {
18
+ reply.status(500).send({
19
+ error: error.message
20
+ })
21
+ }
22
+
23
+
24
+ }
25
+ },
26
+ ])
@@ -0,0 +1,35 @@
1
+ import forawait from "./../../../../esm/forawait.js"
2
+
3
+ export default ({ lib, event, events, util, job, service }) => ({
4
+ route: "/test",
5
+ async auth(socket, next) {
6
+
7
+ try {
8
+ next()
9
+ } catch (error) {
10
+ next(error)
11
+ }
12
+
13
+ },
14
+ async connection(socket) {
15
+ console.info("Socket connected!", socket.user)
16
+
17
+ socket.join("test");
18
+
19
+ forawait.generate(events, (io) => {
20
+ socket.on(io.event.topic, (input, cb) => {
21
+ io.execute({
22
+ input,
23
+ cb
24
+ }, { socket, io: this })
25
+ })
26
+ })
27
+
28
+ socket.on('disconnect', async () => {
29
+ console.log("disconnect:" + socket.id)
30
+
31
+ });
32
+
33
+ }
34
+
35
+ })
@@ -0,0 +1,14 @@
1
+ export default ({ lib, service, grpc }) => ({
2
+ job: {
3
+ name: 'test.app',
4
+ method: 'node'
5
+
6
+ },
7
+ execute: async ({ data }) => {
8
+
9
+
10
+ await service("test.app").execute(data)
11
+ return {}
12
+
13
+ }
14
+ })
package/src/start.js ADDED
@@ -0,0 +1,39 @@
1
+ import { app } from "../esm/index.js";
2
+ //import { app } from "create-org-app";
3
+ await app.run({
4
+ drivers: [
5
+ /*{
6
+ type: "nats",
7
+ name: "nats",
8
+ config: {
9
+ servers: process.env.NATS_URL
10
+ }
11
+ }, {
12
+ type: "redis",
13
+ name: "redis",
14
+ config: {
15
+ url: process.env.REDIS_URL
16
+ }
17
+ }, {
18
+ type: "bull",
19
+ name: "bull",
20
+ config: {
21
+ url: process.env.REDIS_URL
22
+ }
23
+ }*/],
24
+ servers: [{
25
+ type: "http",
26
+ rootPasth: ""
27
+ }, /*{
28
+ type: "nats",
29
+ driver: "nats",
30
+ prefix: "test.app1",
31
+ services: ["test.*"]
32
+ services: ["test.app", {
33
+ name: "test.app1",
34
+
35
+ auth: "util:auth.apiKey"
36
+ }]
37
+
38
+ }*/]
39
+ })
@@ -0,0 +1,46 @@
1
+ import { expect, describe, beforeAll, afterEach, test } from 'vitest'
2
+ import { testApp } from '../esm/index.js'
3
+
4
+
5
+ let core = {}
6
+ afterEach(async () => {
7
+
8
+ })
9
+
10
+ beforeAll(async () => {
11
+ const { core: Core } = await testApp.run({
12
+ db: {
13
+ app: {
14
+ async findUnique(id) {
15
+ return {
16
+ id,
17
+ name: "dddd",
18
+ desc: "ddddddd"
19
+
20
+ }
21
+ }
22
+ }
23
+ }
24
+ })
25
+ core = Core
26
+
27
+ Core.event("node").sub({ topic: "service::test.app" }, ({ data }) => {
28
+ console.log(data)
29
+ Core.event("node").pub({ topic: "test.app" }, { id: data.id })
30
+ })
31
+ })
32
+ describe('core', () => {
33
+
34
+ test(' test ', async () => {
35
+
36
+ const res = await core.service("test.app").execute({
37
+ name: "ddd"
38
+ }, "node")
39
+
40
+
41
+ expect(res.data).toBeDefined()
42
+ expect(res.error).toBeUndefined()
43
+ expect(res.data.id).toBeDefined()
44
+
45
+ })
46
+ })