@sassoftware/viya-serverjs 0.5.4 → 0.6.1-0

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
4
  var _handlers = require("../handlers");
5
- var _setContext = _interopRequireDefault(require("./setContext"));
5
+ var _setContext = _interopRequireDefault(require("./setContext.js"));
6
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
7
7
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -45,7 +45,8 @@ module.exports = function setDefaultRoutes(server, options) {
45
45
  strategy: "sas"
46
46
  };
47
47
  }
48
- var getAppb = _handlers.getApp.bind(null, process.env.USETOKEN != null && process.env.USETOKEN.toUpperCase() === "TRUE" ? options : null);
48
+ var getAppb = _handlers.getApp.bind(null, options // process.env.USETOKEN === "YES" ? options : null
49
+ );
49
50
  console.log("Default strategy", authDefault);
50
51
  console.log("Logon strategy", authLogon);
51
52
  options.authDefault = authDefault;
@@ -56,7 +57,7 @@ module.exports = function setDefaultRoutes(server, options) {
56
57
  method: ["GET"],
57
58
  path: "".concat(appName, "/logon"),
58
59
  options: {
59
- auth: /*authLogon*/options.authFlow === "server" ? {
60
+ auth: options.authFlow === "server" ? {
60
61
  mode: "try",
61
62
  strategy: "sas"
62
63
  } : null,
@@ -72,9 +73,10 @@ module.exports = function setDefaultRoutes(server, options) {
72
73
  return _regenerator().w(function (_context) {
73
74
  while (1) switch (_context.n) {
74
75
  case 0:
75
- console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>in logon');
76
+ debug('logonhandler', req.auth.credentials);
77
+ console.log('In logon handler', options.authFlow);
76
78
  _context.n = 1;
77
- return (0, _handlers.logon)(req, h);
79
+ return (0, _handlers.logon)(req, h, options);
78
80
  case 1:
79
81
  return _context.a(2, _context.v);
80
82
  }
@@ -90,23 +92,8 @@ module.exports = function setDefaultRoutes(server, options) {
90
92
  method: ["GET"],
91
93
  path: "".concat(appName),
92
94
  options: {
93
- auth: process.env.USELOGON.toUpperCase() === 'TRUE' ? null : options.serverMode === "app" ? authLogon : authDefault,
94
- // auth: null,
95
- handler: function () {
96
- var _handler2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(req, h) {
97
- return _regenerator().w(function (_context2) {
98
- while (1) switch (_context2.n) {
99
- case 0:
100
- console.log(">>>>>>>>>>>>>>>>>>>>>>>in ".concat(appName));
101
- return _context2.a(2, getAppb(req, h));
102
- }
103
- }, _callee2);
104
- }));
105
- function handler(_x3, _x4) {
106
- return _handler2.apply(this, arguments);
107
- }
108
- return handler;
109
- }()
95
+ auth: process.env.USELOGON === 'YES' ? null : options.serverMode === "app" ? authLogon : authDefault,
96
+ handler: getAppb
110
97
  }
111
98
  }, {
112
99
  method: ["GET"],
@@ -114,16 +101,16 @@ module.exports = function setDefaultRoutes(server, options) {
114
101
  options: {
115
102
  auth: authDefault,
116
103
  handler: function () {
117
- var _handler3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(req, h) {
118
- return _regenerator().w(function (_context3) {
119
- while (1) switch (_context3.n) {
104
+ var _handler2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(req, h) {
105
+ return _regenerator().w(function (_context2) {
106
+ while (1) switch (_context2.n) {
120
107
  case 0:
121
- return _context3.a(2, h.redirect("".concat(appName, "/documentation")));
108
+ return _context2.a(2, h.redirect("".concat(appName, "/documentation")));
122
109
  }
123
- }, _callee3);
110
+ }, _callee2);
124
111
  }));
125
- function handler(_x5, _x6) {
126
- return _handler3.apply(this, arguments);
112
+ function handler(_x3, _x4) {
113
+ return _handler2.apply(this, arguments);
127
114
  }
128
115
  return handler;
129
116
  }()
@@ -163,10 +150,10 @@ module.exports = function setDefaultRoutes(server, options) {
163
150
  options: {
164
151
  auth: /*authDefault*/false,
165
152
  handler: function () {
166
- var _handler4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(req, h) {
153
+ var _handler3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(req, h) {
167
154
  var allAppEnv, uappenv, s;
168
- return _regenerator().w(function (_context4) {
169
- while (1) switch (_context4.n) {
155
+ return _regenerator().w(function (_context3) {
156
+ while (1) switch (_context3.n) {
170
157
  case 0:
171
158
  allAppEnv = options.allAppEnv;
172
159
  if (options.userInfo != null) {
@@ -181,12 +168,12 @@ module.exports = function setDefaultRoutes(server, options) {
181
168
  console.log(s);
182
169
  }
183
170
  debug(s);
184
- return _context4.a(2, s);
171
+ return _context3.a(2, s);
185
172
  }
186
- }, _callee4);
173
+ }, _callee3);
187
174
  }));
188
- function handler(_x7, _x8) {
189
- return _handler4.apply(this, arguments);
175
+ function handler(_x5, _x6) {
176
+ return _handler3.apply(this, arguments);
190
177
  }
191
178
  return handler;
192
179
  }()
@@ -197,10 +184,10 @@ module.exports = function setDefaultRoutes(server, options) {
197
184
  options: {
198
185
  auth: /*authDefault*/false,
199
186
  handler: function () {
200
- var _handler5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(req, h) {
187
+ var _handler4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(req, h) {
201
188
  var allAppEnv, uappenv, s;
202
- return _regenerator().w(function (_context5) {
203
- while (1) switch (_context5.n) {
189
+ return _regenerator().w(function (_context4) {
190
+ while (1) switch (_context4.n) {
204
191
  case 0:
205
192
  allAppEnv = options.allAppEnv;
206
193
  if (options.userInfo != null) {
@@ -215,12 +202,12 @@ module.exports = function setDefaultRoutes(server, options) {
215
202
  debug(options.allAppEnv);
216
203
  }
217
204
  debug(s);
218
- return _context5.a(2, s);
205
+ return _context4.a(2, s);
219
206
  }
220
- }, _callee5);
207
+ }, _callee4);
221
208
  }));
222
- function handler(_x9, _x0) {
223
- return _handler5.apply(this, arguments);
209
+ function handler(_x7, _x8) {
210
+ return _handler4.apply(this, arguments);
224
211
  }
225
212
  return handler;
226
213
  }()
@@ -242,21 +229,7 @@ module.exports = function setDefaultRoutes(server, options) {
242
229
  path: "/{param*}",
243
230
  options: {
244
231
  auth: authDefault,
245
- handler: function () {
246
- var _handler6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(req, h) {
247
- return _regenerator().w(function (_context6) {
248
- while (1) switch (_context6.n) {
249
- case 0:
250
- console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>in param');
251
- return _context6.a(2, (0, _handlers.getApp2)(req, h));
252
- }
253
- }, _callee6);
254
- }));
255
- function handler(_x1, _x10) {
256
- return _handler6.apply(this, arguments);
257
- }
258
- return handler;
259
- }()
232
+ handler: _handlers.getApp2
260
233
  }
261
234
  }, {
262
235
  method: ["GET"],
@@ -288,14 +261,13 @@ module.exports = function setDefaultRoutes(server, options) {
288
261
  };
289
262
  debug(pr);
290
263
  defaultTable.push(pr);
291
- // now set pre for all default routes
292
- defaultTable.forEach(function (r) {
264
+ var routeTables = uTable !== null ? defaultTable.concat(uTable) : defaultTable;
265
+ routeTables.forEach(function (r) {
293
266
  r.options.pre = [{
294
267
  method: _setContext["default"],
295
268
  assign: 'context'
296
269
  }];
297
270
  console.log, 'Setting pre for route', r.path, r.options.pre;
298
271
  });
299
- var routeTables = uTable !== null ? defaultTable.concat(uTable) : defaultTable;
300
272
  server.route(routeTables);
301
273
  };
@@ -6,7 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _setContext = _interopRequireDefault(require("./setContext"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
- /*
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
10
15
  * ------------------------------------------------------------------------------------
11
16
  * Copyright (c) SAS Institute Inc.
12
17
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,7 +28,6 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default":
23
28
  * ---------------------------------------------------------------------------------------
24
29
  *
25
30
  */
26
-
27
31
  function setupUserRoutes(u, options) {
28
32
  if (u == null) {
29
33
  return [];
@@ -31,7 +35,11 @@ function setupUserRoutes(u, options) {
31
35
  var ux = typeof u === 'function' ? u() : u;
32
36
  var routes = ux.map(function (rx) {
33
37
  //let rx = {...r};
34
-
38
+ /* change it to options */
39
+ if (rx.config != null) {
40
+ rx.options = _objectSpread({}, rx.config);
41
+ delete rx.config;
42
+ }
35
43
  if (rx.options.pre == null) {
36
44
  rx.options.pre = [{
37
45
  method: _setContext["default"],
@@ -43,13 +51,11 @@ function setupUserRoutes(u, options) {
43
51
  assign: 'context'
44
52
  }]);
45
53
  }
46
- console.log(rx.options.pre);
47
54
  if (rx.options.auth === true) {
48
55
  rx.options.auth = options.authDefault;
49
56
  } else if (rx.options.auth === 'logon') {
50
57
  rx.options.auth = options.authLogon;
51
58
  }
52
- console.log('route auth', rx.options.auth);
53
59
  return rx;
54
60
  });
55
61
  return routes;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _fs = _interopRequireDefault(require("fs"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ /**
10
+ * Copyright © 2025, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
13
+
14
+ function getCerts(tlsdir) {
15
+ if (tlsdir == null || tlsdir === 'NONE') {
16
+ return null;
17
+ }
18
+ console.log("[Note] Reading certs from directory: " + tlsdir);
19
+ if (_fs["default"].existsSync(tlsdir) === false) {
20
+ console.error("[Warning] Specified cert dir does not exist: " + tlsdir);
21
+ return null;
22
+ }
23
+ var listOfFiles = _fs["default"].readdirSync(tlsdir);
24
+ console.log("[Note] TLS/SSL files found: " + listOfFiles);
25
+ var options = {};
26
+ for (var i = 0; i < listOfFiles.length; i++) {
27
+ var fname = listOfFiles[i];
28
+ var name = tlsdir + '/' + listOfFiles[i];
29
+ var key = fname.split('.')[0];
30
+ console.log('Reading TLS file: ' + name + ' as key: ' + key);
31
+ options[key] = _fs["default"].readFileSync(name, {
32
+ encoding: 'utf8'
33
+ });
34
+ }
35
+ console.log('cert files', Object.keys(options));
36
+ return options;
37
+ }
38
+ var _default = exports["default"] = getCerts;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sassoftware/viya-serverjs",
3
- "version": "0.5.4",
3
+ "version": "0.6.1-0",
4
4
  "description": "Easy to use app server for SAS Viya applications",
5
5
  "author": "Deva Kumaraswamy <deva.kumar@sas.com>",
6
6
  "license": "Apache-2.0",
7
7
  "main": "./lib/index.js",
8
8
  "bin": {
9
- "@sassoftware/viya-serverjs": "cli.js"
9
+ "@sassoftware/viya-appserverjs": "cli.js"
10
10
  },
11
11
  "keywords": [
12
12
  "restaf",
@@ -29,12 +29,11 @@
29
29
  "unpkg": "./lib/index.js",
30
30
  "scripts": {
31
31
  "build": "rimraf lib && babel src --out-dir lib",
32
- "test": "node cli --env=./.env --docker=./Dockerfile",
33
- "testbg": "cross-env APPENTRY=auth.html node cli --env=./.env --docker=./Dockerfile",
34
- "testmcp": "node server.js --env=./.env --docker=./Dockerfile",
35
- "debug": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node --inspect-brk server.js --env=./.env.server --docker=./Dockerfile",
32
+ "test": "cross-env node cli --env=./.env --docker=./Dockerfile",
33
+ "server": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node server.js --env=./.env.proxy --docker=./Dockerfile",
36
34
  "proxy": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node cli --env=./.env.proxy --docker=./Dockerfile",
37
- "pub": "npm publish --tag alpha --access public",
35
+ "pub": "npm publish --tag dev --access public",
36
+ "bump": "npm version prerelease",
38
37
  "lint": "npx eslint --fix src/*.js"
39
38
  },
40
39
  "dependencies": {
@@ -46,7 +45,7 @@
46
45
  "@hapi/inert": "^7.1.0",
47
46
  "@hapi/vision": "^7.0.3",
48
47
  "axios": "^1.13.2",
49
- "core-js": "^3.47.0",
48
+ "core-js": "^3.48.0",
50
49
  "cross-spawn": "^7.0.6",
51
50
  "debug": "^4.4.3",
52
51
  "docker-file-parser": "^1.0.7",
@@ -57,29 +56,25 @@
57
56
  "jwt-decode": "^4.0.0",
58
57
  "node-cache-promise": "^1.0.2",
59
58
  "only": "0.0.2",
60
- "qs": "^6.14.0",
59
+ "qs": "^6.14.1",
61
60
  "regenerator-runtime": "^0.14.1",
62
61
  "request-debug": "^0.2.0",
63
- "selfsigned": "^5.4.0",
62
+ "selfsigned": "^5.5.0",
64
63
  "uuid": "^13.0.0",
65
64
  "yargs": "18.0.0"
66
65
  },
67
66
  "devDependencies": {
68
- "@babel/cli": "^7.28.3",
69
- "@babel/core": "^7.28.5",
70
- "@babel/eslint-parser": "7.28.5",
71
- "@babel/preset-env": "^7.28.5",
67
+ "@babel/cli": "^7.28.6",
68
+ "@babel/core": "^7.28.6",
69
+ "@babel/eslint-parser": "7.28.6",
70
+ "@babel/preset-env": "^7.28.6",
72
71
  "cross-env": "^10.1.0",
73
72
  "eslint": "^9.39.2",
74
- "prettier": "^3.7.4",
73
+ "prettier": "^3.8.1",
75
74
  "rimraf": "^6.1.2",
76
75
  "shx": "^0.4.0"
77
76
  },
78
77
  "resolutions": {
79
78
  "@babel/traverse": "7.26.10"
80
- },
81
- "overrides": {
82
- "gopd": "1.2.0",
83
- "get-intrinsic": "1.2.7"
84
79
  }
85
80
  }
package/public/help.html CHANGED
@@ -1 +1 @@
1
- <h1> MCP Server is ready</h1>
1
+ <h1> Hellp</h1>