roadman 1.1.5 → 1.1.10

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.
@@ -4,11 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.expressRoadman = void 0;
7
- const config_1 = require("../config");
8
- const ioredis_1 = __importDefault(require("ioredis"));
9
- const graphql_redis_subscriptions_1 = require("graphql-redis-subscriptions");
10
7
  const http_1 = __importDefault(require("http"));
11
- const lodash_1 = require("lodash");
8
+ const pubsub_1 = require("./pubsub");
12
9
  /**
13
10
  * First Builder Roadman, #1 my g
14
11
  * @param BeforeRoadmanBuild
@@ -16,34 +13,7 @@ const lodash_1 = require("lodash");
16
13
  */
17
14
  const expressRoadman = async ({ app }, args) => {
18
15
  const { defaultIndex = true } = args || {};
19
- const isRedisUrl = !(0, lodash_1.isEmpty)(config_1.REDIS_URL);
20
- const isRedisHost = !(0, lodash_1.isEmpty)(config_1.REDIS_HOST);
21
- let pubsub = null;
22
- if (isRedisHost || isRedisUrl) {
23
- // Create ioredis
24
- const options = isRedisUrl
25
- ? config_1.REDIS_URL
26
- : {
27
- host: config_1.REDIS_HOST,
28
- port: +config_1.REDIS_PORT,
29
- retryStrategy: (times) => {
30
- // reconnect after
31
- return Math.min(times * 50, 2000);
32
- },
33
- tls: config_1.REDIS_TLS
34
- ? {
35
- host: config_1.REDIS_HOST,
36
- port: +config_1.REDIS_PORT,
37
- }
38
- : undefined,
39
- password: config_1.REDIS_PASS,
40
- connectTimeout: 10000,
41
- };
42
- pubsub = new graphql_redis_subscriptions_1.RedisPubSub({
43
- publisher: new ioredis_1.default(options),
44
- subscriber: new ioredis_1.default(options),
45
- });
46
- }
16
+ const pubsub = pubsub_1.pubSub;
47
17
  app.use((req, res, next) => {
48
18
  req.pubsub = pubsub;
49
19
  next();
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/befores/express.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAmF;AACnF,sDAA4C;AAE5C,6EAAwD;AAExD,gDAAwB;AACxB,mCAA+B;AAU/B;;;;GAIG;AACI,MAAM,cAAc,GAAG,KAAK,EAC/B,EAAC,GAAG,EAAe,EACnB,IAAyB,EACJ,EAAE;IACvB,MAAM,EAAC,YAAY,GAAG,IAAI,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAEzC,MAAM,UAAU,GAAG,CAAC,IAAA,gBAAO,EAAC,kBAAS,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,CAAC,IAAA,gBAAO,EAAC,mBAAU,CAAC,CAAC;IAEzC,IAAI,MAAM,GAAW,IAAI,CAAC;IAC1B,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;QAC5B,iBAAiB;QACjB,MAAM,OAAO,GAA0B,UAAU;YAC7C,CAAC,CAAC,kBAAS;YACX,CAAC,CAAC;gBACI,IAAI,EAAE,mBAAU;gBAChB,IAAI,EAAE,CAAC,mBAAU;gBACjB,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC7B,kBAAkB;oBAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;gBACtC,CAAC;gBACD,GAAG,EAAE,kBAAS;oBACV,CAAC,CAAC;wBACI,IAAI,EAAE,mBAAU;wBAChB,IAAI,EAAE,CAAC,mBAAU;qBACpB;oBACH,CAAC,CAAC,SAAS;gBACf,QAAQ,EAAE,mBAAU;gBACpB,cAAc,EAAE,KAAK;aACxB,CAAC;QAER,MAAM,GAAG,IAAI,yCAAW,CAAC;YACrB,SAAS,EAAE,IAAI,iBAAK,CAAC,OAAc,CAAC;YACpC,UAAU,EAAE,IAAI,iBAAK,CAAC,OAAc,CAAC;SACxC,CAAsB,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;QACtC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,cAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAC,CAAC;AACrC,CAAC,CAAC;AApDW,QAAA,cAAc,kBAoDzB;AAEF,kBAAe,sBAAc,CAAC"}
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/befores/express.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AAExB,qCAAgC;AAQhC;;;;GAIG;AACI,MAAM,cAAc,GAAG,KAAK,EAC/B,EAAC,GAAG,EAAe,EACnB,IAAyB,EACJ,EAAE;IACvB,MAAM,EAAC,YAAY,GAAG,IAAI,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAW,eAAM,CAAC;IAE9B,GAAG,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;QACtC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,cAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAC,CAAC;AACrC,CAAC,CAAC;AAvBW,QAAA,cAAc,kBAuBzB;AAEF,kBAAe,sBAAc,CAAC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"express.sls.js","sourceRoot":"","sources":["../../src/befores/express.sls.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAsC;AAItC,kEAAyC;AACzC,gDAAwB;AACxB,mDAAoD;AAEpD;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAC1B,EAAC,GAAG,EAAoB,EACxB,IAAyB,EACR,EAAE;IACnB,MAAM,EAAC,KAAK,GAAG,KAAK,EAAE,WAAW,GAAG,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,YAAY,GAAG,IAAI,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAE/F,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,IAAA,qCAAoB,EAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;IAEvD,GAAG,CAAC,GAAG,CACH,IAAA,cAAI,EAAC;QACD,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,IAAI;KACpB,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IAE9C,IAAI,YAAY,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAC,GAAG,EAAC,CAAC;AACjB,CAAC,CAAC;AA1BW,QAAA,cAAc,kBA0BzB;AAEF,kBAAe,sBAAc,CAAC"}
1
+ {"version":3,"file":"express.sls.js","sourceRoot":"","sources":["../../src/befores/express.sls.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAsC;AAItC,kEAAyC;AACzC,gDAAwB;AACxB,mDAAoD;AAEpD;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAC1B,EAAC,GAAG,EAAoB,EACxB,IAAyB,EACR,EAAE;IACnB,MAAM,EAAC,KAAK,GAAG,KAAK,EAAE,WAAW,GAAG,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,YAAY,GAAG,IAAI,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAE/F,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,IAAA,qCAAoB,EAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;IAEvD,GAAG,CAAC,GAAG,CACH,IAAA,cAAI,EAAC;QACD,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,IAAI;KACpB,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IAE9C,IAAI,YAAY,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAC,GAAG,EAAC,CAAC;AACjB,CAAC,CAAC;AA1BW,QAAA,cAAc,kBA0BzB;AAEF,kBAAe,sBAAc,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import { ExpressRoadmanArgs } from './express';
2
2
  import { RoadmanBuild } from '../shared';
3
+ export interface GraphQLRoadmanArgs {
4
+ useYoga?: boolean;
5
+ }
3
6
  /**
4
7
  * The last Builder Roadman
5
8
  * @param BeforeRoadmanBuild
@@ -15,25 +15,37 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
29
39
  exports.graphQLRoadman = void 0;
30
- const apollo_server_core_1 = require("apollo-server-core");
31
- const graphql_1 = require("graphql");
40
+ const disabled_1 = require("@apollo/server/plugin/disabled");
41
+ const default_1 = require("@apollo/server/plugin/landingPage/default");
32
42
  const express_1 = __importStar(require("express"));
33
43
  const config_1 = require("../config");
34
- /* eslint-disable @typescript-eslint/ban-ts-comment */
35
- const apollo_server_express_1 = require("apollo-server-express");
36
- const subscriptions_transport_ws_1 = require("subscriptions-transport-ws");
44
+ const server_1 = require("@apollo/server");
45
+ const express4_1 = require("@apollo/server/express4");
46
+ const drainHttpServer_1 = require("@apollo/server/plugin/drainHttpServer");
47
+ const ws_1 = require("graphql-ws/lib/use/ws");
48
+ const ws_2 = require("ws");
37
49
  const type_graphql_1 = require("type-graphql");
38
50
  const cookie_parser_1 = __importDefault(require("cookie-parser"));
39
51
  const cors_1 = __importDefault(require("cors"));
@@ -59,32 +71,49 @@ const graphQLRoadman = async ({ app, pubsub, resolvers, httpServer }, args) => {
59
71
  resolvers,
60
72
  skipCheck: true,
61
73
  });
62
- const subscriptionServer = subscriptions_transport_ws_1.SubscriptionServer.create({ schema, execute: graphql_1.execute, subscribe: graphql_1.subscribe }, { server: httpServer, path: config_1.graphqlPath });
74
+ const wsServer = new ws_2.WebSocketServer({
75
+ server: httpServer,
76
+ path: config_1.graphqlPath,
77
+ handleProtocols: (protocols) => {
78
+ if (protocols.includes('graphql-transport-ws'))
79
+ return 'graphql-transport-ws';
80
+ if (protocols.includes('graphql-ws'))
81
+ return 'graphql-ws';
82
+ return false;
83
+ },
84
+ });
85
+ // Save the returned server's info so we can shutdown this server later
86
+ // const serverCleanup = useServer({schema}, wsServer);
87
+ const serverCleanup = (0, ws_1.useServer)({
88
+ schema,
89
+ context: async () => ({ pubsub }),
90
+ }, wsServer);
63
91
  // Build apollo server
64
- const apolloServer = new apollo_server_express_1.ApolloServer({
92
+ const apolloServer = new server_1.ApolloServer({
65
93
  schema,
66
94
  plugins: [
95
+ (0, drainHttpServer_1.ApolloServerPluginDrainHttpServer)({ httpServer }),
67
96
  {
68
97
  async serverWillStart() {
69
98
  return {
70
99
  async drainServer() {
71
- subscriptionServer.close();
100
+ await serverCleanup.dispose();
72
101
  },
73
102
  };
74
103
  },
75
104
  },
76
105
  !config_1.isDev
77
- ? (0, apollo_server_core_1.ApolloServerPluginLandingPageDisabled)()
78
- : (0, apollo_server_core_1.ApolloServerPluginLandingPageGraphQLPlayground)(),
106
+ ? (0, disabled_1.ApolloServerPluginLandingPageDisabled)()
107
+ : (0, default_1.ApolloServerPluginLandingPageLocalDefault)(),
79
108
  ],
80
109
  introspection: true, // enables introspection of the schema
81
110
  // playground: true, // enables the actual playground
82
- context: ({ req, res }) => ({ req, res, pubsub }),
111
+ // context: ({ req, res }) => ({ req, res, pubsub }),
83
112
  csrfPrevention: false,
84
113
  allowBatchedHttpRequests: true, // enables
85
114
  });
86
115
  await apolloServer.start();
87
- app.use((0, graphql_upload_1.graphqlUploadExpress)({ maxFileSize, maxFiles }));
116
+ app.use(config_1.graphqlPath, (0, graphql_upload_1.graphqlUploadExpress)({ maxFileSize, maxFiles }));
88
117
  app.use((0, cors_1.default)({
89
118
  origin: '*',
90
119
  credentials: true,
@@ -101,11 +130,9 @@ const graphQLRoadman = async ({ app, pubsub, resolvers, httpServer }, args) => {
101
130
  }
102
131
  });
103
132
  app.use(express_1.default.urlencoded({ extended: true }));
104
- apolloServer.applyMiddleware({
105
- app,
106
- path: config_1.graphqlPath,
107
- cors: { origin: '*' },
108
- });
133
+ app.use(config_1.graphqlPath, (0, cors_1.default)({ origin: '*' }), (0, express_1.json)({ limit }), (0, express4_1.expressMiddleware)(apolloServer, {
134
+ context: async ({ req, res }) => ({ req, res, pubsub }),
135
+ }));
109
136
  return {
110
137
  app,
111
138
  apolloServer,
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/befores/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/befores/graphql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ExpressRoadmanArgs } from './express';
2
+ import { RoadmanBuild } from '../shared';
3
+ export declare const graphQLRoadmanYoga: ({ app, pubsub, resolvers, httpServer }: RoadmanBuild, args?: ExpressRoadmanArgs) => Promise<RoadmanBuild>;
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.graphQLRoadmanYoga = void 0;
40
+ const express_1 = __importStar(require("express"));
41
+ const config_1 = require("../config");
42
+ const ws_1 = require("graphql-ws/lib/use/ws");
43
+ const ws_2 = require("ws");
44
+ const type_graphql_1 = require("type-graphql");
45
+ const cookie_parser_1 = __importDefault(require("cookie-parser"));
46
+ const cors_1 = __importDefault(require("cors"));
47
+ const graphql_upload_1 = require("graphql-upload");
48
+ const includes_1 = __importDefault(require("lodash/includes"));
49
+ const graphql_scalars_1 = require("graphql-scalars");
50
+ const graphql_1 = require("graphql");
51
+ const graphql_yoga_1 = require("graphql-yoga");
52
+ const graphQLRoadmanYoga = async ({ app, pubsub, resolvers, httpServer }, args) => {
53
+ const { maxFileSize = 10000000, maxFiles = 10, limit = '5mb' } = args || {};
54
+ const AliasedGraphQLDateTimeISO = new graphql_1.GraphQLScalarType(Object.assign(Object.assign({}, graphql_scalars_1.GraphQLDateTimeISO.toConfig()), { name: 'DateTime' }));
55
+ // Build TypeGraphQL executable schema
56
+ const schema = await (0, type_graphql_1.buildSchema)({
57
+ // Array of resolvers
58
+ resolvers: resolvers,
59
+ // Create 'schema.graphql' file with schema definition in current directory
60
+ // emitSchemaFile: path.resolve(__dirname, "schema.graphql"),
61
+ // Publish/Subscribe,
62
+ scalarsMap: [{ type: Date, scalar: AliasedGraphQLDateTimeISO }],
63
+ pubSub: pubsub,
64
+ skipCheck: true,
65
+ validate: false,
66
+ });
67
+ // const app = express();
68
+ app.use((0, cors_1.default)());
69
+ // app.use(express.json({ limit: '10mb' }));
70
+ // app.use(express.urlencoded({ extended: true, limit: '10mb' }));
71
+ const yoga = (0, graphql_yoga_1.createYoga)({
72
+ schema,
73
+ graphqlEndpoint: config_1.graphqlPath,
74
+ landingPage: true,
75
+ graphiql: {
76
+ subscriptionsProtocol: 'WS',
77
+ },
78
+ logging: 'debug',
79
+ });
80
+ // app.get('/', (req, res) => {
81
+ // res.json({ status: 'ok' });
82
+ // });
83
+ app.use(yoga.graphqlEndpoint, yoga);
84
+ app.use((0, cors_1.default)({
85
+ origin: '*',
86
+ credentials: true,
87
+ }));
88
+ app.use((0, cookie_parser_1.default)());
89
+ // Use JSON parser for all non-webhook routes
90
+ app.use((req, res, next) => {
91
+ const isWebHook = (0, includes_1.default)(req.originalUrl, 'webhook');
92
+ if (isWebHook || req.is('multipart/form-data')) {
93
+ next();
94
+ }
95
+ else {
96
+ (0, express_1.json)({ limit })(req, res, next);
97
+ }
98
+ });
99
+ app.use(express_1.default.urlencoded({ extended: true }));
100
+ // Sentry.setupExpressErrorHandler(app);
101
+ // Create WebSocket server instance from our Node server
102
+ const wsServer = new ws_2.WebSocketServer({
103
+ server: httpServer,
104
+ path: yoga.graphqlEndpoint,
105
+ });
106
+ // Integrate Yoga's Envelop instance and NodeJS server with graphql-ws
107
+ (0, ws_1.useServer)({
108
+ execute: (args) => args.rootValue.execute(args),
109
+ subscribe: (args) => args.rootValue.subscribe(args),
110
+ onSubscribe: async (ctx, msg) => {
111
+ const { schema, execute, subscribe, contextFactory, parse, validate } = yoga.getEnveloped(Object.assign(Object.assign({}, ctx), { req: ctx.extra.request, socket: ctx.extra.socket, params: msg.payload }));
112
+ const args = {
113
+ schema,
114
+ operationName: msg.payload.operationName,
115
+ document: parse(msg.payload.query),
116
+ variableValues: msg.payload.variables,
117
+ contextValue: await contextFactory(),
118
+ rootValue: {
119
+ execute,
120
+ subscribe,
121
+ },
122
+ };
123
+ const errors = validate(args.schema, args.document);
124
+ if (errors.length)
125
+ return errors;
126
+ return args;
127
+ },
128
+ }, wsServer);
129
+ app.use(config_1.graphqlPath, (0, graphql_upload_1.graphqlUploadExpress)({ maxFileSize, maxFiles }));
130
+ return {
131
+ app,
132
+ apolloServer: yoga,
133
+ httpServer,
134
+ pubsub,
135
+ };
136
+ };
137
+ exports.graphQLRoadmanYoga = graphQLRoadmanYoga;
138
+ //# sourceMappingURL=graphql.yoga.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.yoga.js","sourceRoot":"","sources":["../../src/befores/graphql.yoga.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './express';
2
2
  export * from './graphql';
3
+ export * from './graphql.yoga';
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./express"), exports);
18
18
  __exportStar(require("./graphql"), exports);
19
+ __exportStar(require("./graphql.yoga"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/befores/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/befores/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B;AAC1B,iDAA+B"}
@@ -0,0 +1,24 @@
1
+ import { Repeater } from '@repeaterjs/repeater';
2
+ export declare const enum Topic {
3
+ PING = "ping",
4
+ LOGS = "logs"
5
+ }
6
+ declare class BoundedPubSub {
7
+ private inner;
8
+ constructor();
9
+ publish(topic: string, payload: any): void;
10
+ subscribe(topic: string): Repeater<unknown, void, unknown>;
11
+ asyncIterator(topics: string | string[]): Repeater<unknown, void, unknown>;
12
+ }
13
+ export declare class RedisPubSub {
14
+ private publisher;
15
+ private subscriber;
16
+ private subscriptions;
17
+ constructor(redisUrl?: string);
18
+ publish(topic: string, payload: any): Promise<void>;
19
+ subscribe(topic: string): Repeater<unknown, void, unknown>;
20
+ asyncIterator(topics: string | string[]): Repeater<unknown, void, unknown>;
21
+ close(): Promise<void>;
22
+ }
23
+ export declare const pubSub: BoundedPubSub | RedisPubSub;
24
+ export {};
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
3
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
+ var m = o[Symbol.asyncIterator], i;
5
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
+ };
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.pubSub = exports.RedisPubSub = void 0;
14
+ const subscription_1 = require("@graphql-yoga/subscription");
15
+ const repeater_1 = require("@repeaterjs/repeater");
16
+ const ioredis_1 = __importDefault(require("ioredis"));
17
+ class BoundedPubSub {
18
+ constructor() {
19
+ this.inner = (0, subscription_1.createPubSub)();
20
+ }
21
+ publish(topic, payload) {
22
+ // The actual publish doesn't queue on our side
23
+ // The queuing happens in the Repeater (subscriber side)
24
+ return this.inner.publish(topic, payload);
25
+ }
26
+ subscribe(topic) {
27
+ return new repeater_1.Repeater(async (push, stop) => {
28
+ var _a;
29
+ let latest = null;
30
+ let pushing = false;
31
+ const iterator = this.inner.subscribe(topic);
32
+ const process = async () => {
33
+ if (pushing || latest === null)
34
+ return;
35
+ pushing = true;
36
+ const value = latest;
37
+ latest = null;
38
+ try {
39
+ await push(value);
40
+ }
41
+ catch (err) {
42
+ return stop(err);
43
+ }
44
+ finally {
45
+ pushing = false;
46
+ process(); // try again if something new came while pushing
47
+ }
48
+ };
49
+ (async () => {
50
+ var _a, e_1, _b, _c;
51
+ try {
52
+ for (var _d = true, iterator_1 = __asyncValues(iterator), iterator_1_1; iterator_1_1 = await iterator_1.next(), _a = iterator_1_1.done, !_a; _d = true) {
53
+ _c = iterator_1_1.value;
54
+ _d = false;
55
+ const value = _c;
56
+ latest = value;
57
+ process();
58
+ }
59
+ }
60
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
61
+ finally {
62
+ try {
63
+ if (!_d && !_a && (_b = iterator_1.return)) await _b.call(iterator_1);
64
+ }
65
+ finally { if (e_1) throw e_1.error; }
66
+ }
67
+ stop();
68
+ })().catch(stop);
69
+ await stop;
70
+ await ((_a = iterator.return) === null || _a === void 0 ? void 0 : _a.call(iterator));
71
+ });
72
+ }
73
+ asyncIterator(topics) {
74
+ return this.subscribe(topics);
75
+ }
76
+ }
77
+ class RedisPubSub {
78
+ constructor(redisUrl) {
79
+ this.subscriptions = new Map();
80
+ const url = redisUrl || process.env.REDIS_URL || 'redis://localhost:6379';
81
+ this.publisher = new ioredis_1.default(url, {
82
+ maxRetriesPerRequest: null, // infinite retries
83
+ enableReadyCheck: true,
84
+ retryStrategy: (times) => {
85
+ const delay = Math.min(times * 100, 30000); // cap at 30s
86
+ if (times === 1) {
87
+ console.log('Redis publisher connecting...');
88
+ }
89
+ else {
90
+ console.log(`Redis publisher reconnecting in ${delay}ms (attempt ${times})`);
91
+ }
92
+ return delay;
93
+ },
94
+ reconnectOnError: (err) => {
95
+ const targetErrors = ['READONLY', 'ECONNRESET', 'ETIMEDOUT'];
96
+ if (targetErrors.some((target) => err.message.includes(target))) {
97
+ return true; // reconnect on these errors
98
+ }
99
+ return false;
100
+ },
101
+ });
102
+ this.subscriber = new ioredis_1.default(url, {
103
+ maxRetriesPerRequest: null, // infinite retries
104
+ enableReadyCheck: true,
105
+ retryStrategy: (times) => {
106
+ const delay = Math.min(times * 100, 30000); // cap at 30s
107
+ if (times === 1) {
108
+ console.log('Redis subscriber connecting...');
109
+ }
110
+ else {
111
+ console.log(`Redis subscriber reconnecting in ${delay}ms (attempt ${times})`);
112
+ }
113
+ return delay;
114
+ },
115
+ reconnectOnError: (err) => {
116
+ const targetErrors = ['READONLY', 'ECONNRESET', 'ETIMEDOUT'];
117
+ if (targetErrors.some((target) => err.message.includes(target))) {
118
+ return true;
119
+ }
120
+ return false;
121
+ },
122
+ });
123
+ this.publisher.on('connect', () => {
124
+ console.log('Redis publisher connected');
125
+ });
126
+ this.publisher.on('ready', () => {
127
+ console.log('Redis publisher ready');
128
+ });
129
+ this.publisher.on('error', (err) => {
130
+ console.error('Redis publisher error:', err.message);
131
+ });
132
+ this.publisher.on('close', () => {
133
+ console.log('Redis publisher connection closed');
134
+ });
135
+ this.subscriber.on('connect', () => {
136
+ console.log('Redis subscriber connected');
137
+ });
138
+ this.subscriber.on('ready', () => {
139
+ console.log('Redis subscriber ready');
140
+ });
141
+ this.subscriber.on('error', (err) => {
142
+ console.error('Redis subscriber error:', err.message);
143
+ });
144
+ this.subscriber.on('close', () => {
145
+ console.log('Redis subscriber connection closed');
146
+ });
147
+ this.subscriber.on('message', (channel, message) => {
148
+ const callbacks = this.subscriptions.get(channel);
149
+ if (callbacks) {
150
+ try {
151
+ const payload = JSON.parse(message);
152
+ callbacks.forEach((callback) => callback(payload));
153
+ }
154
+ catch (err) {
155
+ console.error('Failed to parse Redis message:', err);
156
+ }
157
+ }
158
+ });
159
+ }
160
+ async publish(topic, payload) {
161
+ const message = JSON.stringify(payload);
162
+ await this.publisher.publish(topic, message);
163
+ }
164
+ subscribe(topic) {
165
+ return new repeater_1.Repeater(async (push, stop) => {
166
+ let latest = null;
167
+ let pushing = false;
168
+ const process = async () => {
169
+ if (pushing || latest === null)
170
+ return;
171
+ pushing = true;
172
+ const value = latest;
173
+ latest = null;
174
+ try {
175
+ await push(value);
176
+ }
177
+ catch (err) {
178
+ return stop(err);
179
+ }
180
+ finally {
181
+ pushing = false;
182
+ process(); // try again if something new came while pushing
183
+ }
184
+ };
185
+ const callback = (value) => {
186
+ latest = value;
187
+ process();
188
+ };
189
+ if (!this.subscriptions.has(topic)) {
190
+ this.subscriptions.set(topic, new Set());
191
+ await this.subscriber.subscribe(topic);
192
+ }
193
+ const callbacks = this.subscriptions.get(topic);
194
+ callbacks.add(callback);
195
+ await stop;
196
+ // Cleanup
197
+ callbacks.delete(callback);
198
+ if (callbacks.size === 0) {
199
+ this.subscriptions.delete(topic);
200
+ await this.subscriber.unsubscribe(topic);
201
+ }
202
+ });
203
+ }
204
+ asyncIterator(topics) {
205
+ return this.subscribe(topics);
206
+ }
207
+ async close() {
208
+ await this.publisher.quit();
209
+ await this.subscriber.quit();
210
+ }
211
+ }
212
+ exports.RedisPubSub = RedisPubSub;
213
+ // if redis url is set and is not sandbox, use redis pubsub
214
+ exports.pubSub = process.env.REDIS_URL && !process.env.SANDBOX_ID ? new RedisPubSub() : new BoundedPubSub();
215
+ //# sourceMappingURL=pubsub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/befores/pubsub.ts"],"names":[],"mappings":"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"}
package/dist/example.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ import "dotenv/config";
package/dist/example.js CHANGED
@@ -5,23 +5,62 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
9
- // @ts-nocheck
12
+ /* eslint-disable */
13
+ require("dotenv/config");
10
14
  const type_graphql_1 = require("type-graphql");
11
- const _1 = require(".");
15
+ const index_1 = require("./index");
12
16
  let ExampleResolver = class ExampleResolver {
13
17
  async apps() {
14
18
  // fake async in this example
15
19
  return ['Apps', 'one', 'two'];
16
20
  }
21
+ async ping(ctx) {
22
+ await ctx.pubsub.publish('PING_PONG', 'ping');
23
+ return true;
24
+ }
25
+ pong(payload) {
26
+ console.log("SUB EXECUTED", payload);
27
+ return payload === 'ping' ? 'pong' : payload;
28
+ }
29
+ async demo(ctx) {
30
+ await ctx.pubsub.publish('DEMO', 'demo');
31
+ return true;
32
+ }
33
+ demoSubscription(payload) {
34
+ return payload;
35
+ }
17
36
  };
18
37
  __decorate([
19
38
  (0, type_graphql_1.Query)(() => [String], { nullable: true })
20
39
  ], ExampleResolver.prototype, "apps", null);
40
+ __decorate([
41
+ (0, type_graphql_1.Mutation)(() => Boolean),
42
+ __param(0, (0, type_graphql_1.Ctx)())
43
+ ], ExampleResolver.prototype, "ping", null);
44
+ __decorate([
45
+ (0, type_graphql_1.Subscription)(() => String, {
46
+ topics: 'PING_PONG',
47
+ }),
48
+ __param(0, (0, type_graphql_1.Root)())
49
+ ], ExampleResolver.prototype, "pong", null);
50
+ __decorate([
51
+ (0, type_graphql_1.Mutation)(() => Boolean),
52
+ __param(0, (0, type_graphql_1.Ctx)())
53
+ ], ExampleResolver.prototype, "demo", null);
54
+ __decorate([
55
+ (0, type_graphql_1.Subscription)(() => String, {
56
+ topics: 'DEMO',
57
+ }),
58
+ __param(0, (0, type_graphql_1.Root)())
59
+ ], ExampleResolver.prototype, "demoSubscription", null);
21
60
  ExampleResolver = __decorate([
22
61
  (0, type_graphql_1.Resolver)()
23
62
  ], ExampleResolver);
24
- (0, _1.roadman)({ resolvers: [ExampleResolver] })
63
+ (0, index_1.roadman)({ resolvers: [ExampleResolver] })
25
64
  .then(() => {
26
65
  console.log('roadman started');
27
66
  })
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":";;;;;;;;AAAA,cAAc;AACd,+CAA6C;AAE7C,wBAA0B;AAG1B,IAAM,eAAe,GAArB,MAAM,eAAe;IAEX,AAAN,KAAK,CAAC,IAAI;QACN,6BAA6B;QAC7B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ,CAAA;AAJS;IADL,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;2CAIvC;AALC,eAAe;IADpB,IAAA,uBAAQ,GAAE;GACL,eAAe,CAMpB;AAED,IAAA,UAAO,EAAC,EAAC,SAAS,EAAE,CAAC,eAAe,CAAC,EAAC,CAAC;KAClC,IAAI,CAAC,GAAG,EAAE;IACP,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,oBAAoB;AACpB,yBAAuB;AACvB,+CAAgF;AAEhF,mCAA6C;AAG7C,IAAM,eAAe,GAArB,MAAM,eAAe;IAEX,AAAN,KAAK,CAAC,IAAI;QACN,6BAA6B;QAC7B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAQ,GAAgB;QAC9B,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IAKD,IAAI,CAAS,OAAe;QACxB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAQ,GAAgB;QAC9B,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAKD,gBAAgB,CAAS,OAAe;QACpC,OAAO,OAAO,CAAC;IACnB,CAAC;CAGJ,CAAA;AAjCS;IADL,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;2CAIvC;AAGK;IADL,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACZ,WAAA,IAAA,kBAAG,GAAE,CAAA;2CAGhB;AAKD;IAHC,IAAA,2BAAY,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,WAAW;KACtB,CAAC;IACI,WAAA,IAAA,mBAAI,GAAE,CAAA;2CAGX;AAGK;IADL,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACZ,WAAA,IAAA,kBAAG,GAAE,CAAA;2CAGhB;AAKD;IAHC,IAAA,2BAAY,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,MAAM;KACjB,CAAC;IACgB,WAAA,IAAA,mBAAI,GAAE,CAAA;uDAEvB;AAhCC,eAAe;IADpB,IAAA,uBAAQ,GAAE;GACL,eAAe,CAmCpB;AAED,IAAA,eAAO,EAAC,EAAC,SAAS,EAAE,CAAC,eAAe,CAAC,EAAC,CAAC;KAClC,IAAI,CAAC,GAAG,EAAE;IACP,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,15 @@
1
1
  import 'reflect-metadata';
2
- import { ExpressRoadmanArgs } from './befores';
2
+ import { ExpressRoadmanArgs, GraphQLRoadmanArgs } from './befores';
3
3
  import { IRoadMan } from './shared';
4
+ export interface RoadmanOptions extends GraphQLRoadmanArgs, ExpressRoadmanArgs {
5
+ }
4
6
  interface IRoadmanDefault {
5
7
  resolvers?: Function[];
6
8
  roadmen?: IRoadMan[];
7
9
  apps?: any[];
8
10
  wastemen?: Promise<any>[];
9
11
  }
10
- export declare const roadman: (args?: IRoadmanDefault, expressArgs?: Partial<ExpressRoadmanArgs>) => Promise<boolean>;
12
+ export declare const roadman: (args?: IRoadmanDefault, options?: Partial<RoadmanOptions>) => Promise<boolean>;
11
13
  export * from './roadman.builder';
12
14
  export * from './shared';
13
15
  export * from './config';
package/dist/index.js CHANGED
@@ -21,10 +21,10 @@ exports.roadman = void 0;
21
21
  require("reflect-metadata");
22
22
  const roadman_builder_1 = require("./roadman.builder");
23
23
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
24
- const roadman = async (args, expressArgs) => {
24
+ const roadman = async (args, options) => {
25
25
  const { resolvers, roadmen, apps, wastemen } = args;
26
26
  const roadman = new roadman_builder_1.RoadmanBuilder();
27
- await roadman.firstRoadman(expressArgs);
27
+ await roadman.firstRoadman(options);
28
28
  if (apps) {
29
29
  roadman.useApp(apps);
30
30
  }
@@ -38,7 +38,7 @@ const roadman = async (args, expressArgs) => {
38
38
  return props;
39
39
  });
40
40
  }
41
- await roadman.graphqlRoadman(expressArgs); // to build the schemas
41
+ await roadman.graphqlRoadman(options); // to build the schemas
42
42
  await roadman.lastRoadman(); // to start the db and the server
43
43
  if (!(0, isEmpty_1.default)(wastemen)) {
44
44
  roadman.runWastemans(wastemen);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,4BAA0B;AAI1B,uDAAiD;AACjD,6DAAqC;AAS9B,MAAM,OAAO,GAAG,KAAK,EACxB,IAAsB,EACtB,WAAyC,EACzB,EAAE;IAClB,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;IAElD,MAAM,OAAO,GAAG,IAAI,gCAAc,EAAE,CAAC;IAErC,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,sBAAsB;QACtB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAuB;IAClE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,iCAAiC;IAE9D,IAAI,CAAC,IAAA,iBAAO,EAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAlCW,QAAA,OAAO,WAkClB;AAEF,oDAAkC;AAClC,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,4BAA0B;AAI1B,uDAAiD;AACjD,6DAAqC;AAU9B,MAAM,OAAO,GAAG,KAAK,EACxB,IAAsB,EACtB,OAAiC,EACjB,EAAE;IAClB,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;IAElD,MAAM,OAAO,GAAG,IAAI,gCAAc,EAAE,CAAC;IAErC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAEpC,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,sBAAsB;QACtB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB;IAC9D,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,iCAAiC;IAE9D,IAAI,CAAC,IAAA,iBAAO,EAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAlCW,QAAA,OAAO,WAkClB;AAEF,oDAAkC;AAClC,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,8CAA4B"}
@@ -1,9 +1,9 @@
1
- import { ExpressRoadmanArgs } from './befores';
2
1
  import { IRoadMan, RoadmanBuild } from './shared';
3
2
  import { Application } from 'express';
4
- import { ApolloServer } from 'apollo-server-express';
3
+ import { ApolloServer } from '@apollo/server';
5
4
  import { Server } from 'http';
6
5
  import { PubSub } from 'type-graphql';
6
+ import { RoadmanOptions } from '.';
7
7
  /**
8
8
  * The Roadman Builder
9
9
  * const roadman = new RoadmanBuilder(app);
@@ -19,10 +19,10 @@ export declare class RoadmanBuilder implements RoadmanBuild {
19
19
  httpServer: Server;
20
20
  resolvers: any[];
21
21
  constructor(app?: Application, roadmen?: IRoadMan[]);
22
- firstRoadman(expressArgs?: ExpressRoadmanArgs): Promise<RoadmanBuilder>;
22
+ firstRoadman(options?: RoadmanOptions): Promise<RoadmanBuilder>;
23
23
  useApp(use: any | any[]): RoadmanBuilder;
24
24
  useRoadman(roadman: IRoadMan | IRoadMan[]): Promise<RoadmanBuilder>;
25
- graphqlRoadman(expressArgs?: ExpressRoadmanArgs): Promise<RoadmanBuilder>;
25
+ graphqlRoadman(options?: RoadmanOptions): Promise<RoadmanBuilder>;
26
26
  lastRoadman(roadman?: IRoadMan): Promise<RoadmanBuilder>;
27
27
  runWastemans(wastemans: Promise<any>[]): Promise<void>;
28
28
  }
@@ -29,8 +29,8 @@ class RoadmanBuilder {
29
29
  }
30
30
  }
31
31
  }
32
- async firstRoadman(expressArgs) {
33
- const { app, pubsub, httpServer } = await (0, befores_1.expressRoadman)(this, expressArgs);
32
+ async firstRoadman(options) {
33
+ const { app, pubsub, httpServer } = await (0, befores_1.expressRoadman)(this, options);
34
34
  this.app = app;
35
35
  this.pubsub = pubsub;
36
36
  this.httpServer = httpServer;
@@ -62,8 +62,10 @@ class RoadmanBuilder {
62
62
  }
63
63
  return this;
64
64
  }
65
- async graphqlRoadman(expressArgs) {
66
- const { apolloServer } = await (0, befores_1.graphQLRoadman)(this, expressArgs);
65
+ async graphqlRoadman(options) {
66
+ const isYoga = options === null || options === void 0 ? void 0 : options.useYoga;
67
+ const gqlRm = isYoga ? befores_1.graphQLRoadmanYoga : befores_1.graphQLRoadman;
68
+ const { apolloServer } = await gqlRm(this, options);
67
69
  this.apolloServer = apolloServer;
68
70
  return this;
69
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"roadman.builder.js","sourceRoot":"","sources":["../src/roadman.builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roadman.builder.js","sourceRoot":"","sources":["../src/roadman.builder.ts"],"names":[],"mappings":"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"}
package/dist/shared.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Application, Request, Response } from 'express';
2
- import type { PubSub } from "type-graphql";
3
- import type { ApolloServer } from 'apollo-server-express';
2
+ import type { PubSub } from 'type-graphql';
3
+ import type { ApolloServer } from '@apollo/server';
4
4
  import type { ApolloServer as ApolloServerSls } from 'apollo-server-lambda';
5
5
  import http from 'http';
6
6
  export interface ContextType {
@@ -1 +1 @@
1
- {"version":3,"file":"writter.js","sourceRoot":"","sources":["../../src/wastemans/writter.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACP,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B"}
1
+ {"version":3,"file":"writter.js","sourceRoot":"","sources":["../../src/wastemans/writter.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACP,MAAM,eAAe,GAAG,GAAS,EAAE;IACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B"}
package/package.json CHANGED
@@ -41,7 +41,7 @@
41
41
  "test": "mocha src/*test.ts --exit",
42
42
  "prepublishOnly": "npm run build",
43
43
  "eslint": "eslint ./src --fix --ext=ts",
44
- "eg": "ts-node src/example"
44
+ "eg": "tsx src/example"
45
45
  },
46
46
  "lint-staged": {
47
47
  "*.{ts,tsx}": [
@@ -54,40 +54,50 @@
54
54
  }
55
55
  },
56
56
  "devDependencies": {
57
+ "@roadmanjs/eslint-config": "*",
57
58
  "@types/chalk": "^2.2.0",
58
59
  "@types/cookie-parser": "^1.4.2",
59
60
  "@types/express": "^4.17.6",
60
61
  "@types/graphql": "^14.5.0",
61
62
  "@types/graphql-upload": "^8.0.6",
62
- "@types/ioredis": "^4.17.10",
63
+ "@types/ioredis": "^4.28.10",
63
64
  "@types/jsonwebtoken": "^8.5.0",
64
65
  "@types/lodash": "^4.14.168",
65
66
  "@types/node": "^10.0.3"
66
67
  },
68
+ "overrides": {
69
+ "graphql": "^16.9.0"
70
+ },
67
71
  "peerDependencies": {
68
72
  "class-validator": ">=0.14.0",
73
+ "graphql": "^16.9.0",
69
74
  "typescript": ">=2.0"
70
75
  },
71
76
  "dependencies": {
77
+ "@apollo/server": "^4.11.2",
78
+ "@graphql-tools/schema": "^10.0.7",
72
79
  "apollo-server-express": "^3.6.2",
73
80
  "apollo-server-lambda": "^3.10.2",
74
- "class-validator": "0.13.2",
81
+ "class-validator": ">=0.14.0",
75
82
  "cookie-parser": "^1.4.5",
76
83
  "cors": "^2.8.5",
77
84
  "debug": "^4.3.1",
78
85
  "dotenv": "^8.2.0",
79
86
  "express": "^4.17.1",
80
87
  "graphql": "^16.9.0",
81
- "graphql-redis-subscriptions": "^2.3.1",
88
+ "graphql-redis-subscriptions": "^2.6.1",
82
89
  "graphql-type-json": "^0.3.2",
83
90
  "graphql-upload": "13",
91
+ "graphql-ws": "^5.16.0",
92
+ "graphql-yoga": "^5.18.0",
84
93
  "ioredis": "^4.19.4",
85
94
  "jsonwebtoken": "^9.0.1",
86
95
  "lodash": "^4.17.21",
87
96
  "reflect-metadata": "^0.1.13",
88
97
  "subscriptions-transport-ws": "^0.11.0",
89
98
  "type-graphql": "^2.0.0-rc.2",
90
- "uuid": "^8.3.2"
99
+ "uuid": "^8.3.2",
100
+ "ws": "^8.18.0"
91
101
  },
92
- "version": "1.1.5"
102
+ "version": "1.1.10"
93
103
  }