Socket
Socket
Sign inDemoInstall

@foal/core

Package Overview
Dependencies
60
Maintainers
1
Versions
96
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.2.0 to 2.3.0

lib/common/encoding/convert-base64-to-base64-url.d.ts

1

lib/common/index.d.ts

@@ -0,3 +1,4 @@

export * from './encoding';
export * from './hooks';
export * from './tokens';
export * from './utils';

@@ -13,4 +13,5 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./encoding"), exports);
__exportStar(require("./hooks"), exports);
__exportStar(require("./tokens"), exports);
__exportStar(require("./utils"), exports);

4

lib/common/tokens/generate-token.util.js

@@ -8,3 +8,3 @@ "use strict";

// FoalTS
const convert_base64_to_base64_url_util_1 = require("./convert-base64-to-base64-url.util");
const encoding_1 = require("../encoding");
/**

@@ -18,4 +18,4 @@ * Generate a 256-bit base64url-encoded token.

const buff = await util_1.promisify(crypto_1.randomBytes)(32);
return convert_base64_to_base64_url_util_1.convertBase64ToBase64url(buff.toString('base64'));
return encoding_1.convertBase64ToBase64url(buff.toString('base64'));
}
exports.generateToken = generateToken;

@@ -1,2 +0,1 @@

export { convertBase64ToBase64url } from './convert-base64-to-base64-url.util';
export { generateSignedToken } from './generate-signed-token.util';

@@ -3,0 +2,0 @@ export { generateToken } from './generate-token.util';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifySignedToken = exports.signToken = exports.generateToken = exports.generateSignedToken = exports.convertBase64ToBase64url = void 0;
var convert_base64_to_base64_url_util_1 = require("./convert-base64-to-base64-url.util");
Object.defineProperty(exports, "convertBase64ToBase64url", { enumerable: true, get: function () { return convert_base64_to_base64_url_util_1.convertBase64ToBase64url; } });
exports.verifySignedToken = exports.signToken = exports.generateToken = exports.generateSignedToken = void 0;
var generate_signed_token_util_1 = require("./generate-signed-token.util");

@@ -7,0 +5,0 @@ Object.defineProperty(exports, "generateSignedToken", { enumerable: true, get: function () { return generate_signed_token_util_1.generateSignedToken; } });

@@ -7,3 +7,3 @@ "use strict";

// FoalTS
const convert_base64_to_base64_url_util_1 = require("./convert-base64-to-base64-url.util");
const encoding_1 = require("../encoding");
function sign(base64Value, base64Secret) {

@@ -17,4 +17,4 @@ return crypto_1.createHmac('sha256', Buffer.from(base64Secret, 'base64'))

const signature = sign(unsignedToken, secret).toString('base64');
return `${unsignedToken}.${convert_base64_to_base64_url_util_1.convertBase64ToBase64url(signature)}`;
return `${unsignedToken}.${encoding_1.convertBase64ToBase64url(signature)}`;
}
exports.signToken = signToken;

@@ -9,3 +9,4 @@ export { controller } from './controller.util';

export { renderError } from './render-error.util';
export { render } from './render.util';
export { render, renderToString } from './render.util';
export { streamToBuffer } from './stream-to-buffer';
export { verifyPassword } from './verify-password.util';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifyPassword = exports.render = exports.renderError = exports.isInFile = exports.hashPassword = exports.getAjvInstance = exports.escape = exports.escapeProp = exports.displayServerURL = exports.controller = void 0;
exports.verifyPassword = exports.streamToBuffer = exports.renderToString = exports.render = exports.renderError = exports.isInFile = exports.hashPassword = exports.getAjvInstance = exports.escape = exports.escapeProp = exports.displayServerURL = exports.controller = void 0;
var controller_util_1 = require("./controller.util");

@@ -22,3 +22,6 @@ Object.defineProperty(exports, "controller", { enumerable: true, get: function () { return controller_util_1.controller; } });

Object.defineProperty(exports, "render", { enumerable: true, get: function () { return render_util_1.render; } });
Object.defineProperty(exports, "renderToString", { enumerable: true, get: function () { return render_util_1.renderToString; } });
var stream_to_buffer_1 = require("./stream-to-buffer");
Object.defineProperty(exports, "streamToBuffer", { enumerable: true, get: function () { return stream_to_buffer_1.streamToBuffer; } });
var verify_password_util_1 = require("./verify-password.util");
Object.defineProperty(exports, "verifyPassword", { enumerable: true, get: function () { return verify_password_util_1.verifyPassword; } });

@@ -19,3 +19,5 @@ "use strict";

this.loadEnv('.env');
this.loadEnv('.env.local');
this.loadEnv(`.env.${process.env.NODE_ENV || 'development'}`);
this.loadEnv(`.env.${process.env.NODE_ENV || 'development'}.local`);
}

@@ -22,0 +24,0 @@ if (this.dotEnv[key] !== undefined) {

/**
* FoalTS
* Copyright(c) 2017-2020 Loïc Poullain <loic.poullain@centraliens.net>
* Copyright(c) 2017-2021 Loïc Poullain <loic.poullain@centraliens.net>
* Released under the MIT License.
*/
export { Log, LogOptions, UserRequired, ValidateBody, ValidateCookie, ValidateHeader, ValidatePathParam, ValidateQueryParam, controller, displayServerURL, convertBase64ToBase64url, escape, escapeProp, generateSignedToken, generateToken, getAjvInstance, hashPassword, isInFile, render, renderError, signToken, verifyPassword, verifySignedToken, } from './common';
export { Log, LogOptions, UserRequired, ValidateBody, ValidateCookie, ValidateHeader, ValidatePathParam, ValidateQueryParam, controller, displayServerURL, convertBase64ToBase64url, convertBase64urlToBase64, escape, escapeProp, generateSignedToken, generateToken, getAjvInstance, hashPassword, isInFile, render, renderToString, renderError, signToken, streamToBuffer, verifyPassword, verifySignedToken, } from './common';
export { ApiCallback, ApiDefineCallback, ApiDefineExample, ApiDefineHeader, ApiDefineLink, ApiDefineParameter, ApiDefineRequestBody, ApiDefineResponse, ApiDefineSchema, ApiDefineSecurityScheme, ApiDefineTag, ApiDeprecated, ApiExternalDoc, ApiInfo, ApiOperation, ApiOperationDescription, ApiOperationId, ApiOperationSummary, ApiParameter, ApiRequestBody, ApiResponse, ApiSecurityRequirement, ApiServer, ApiUseTag, All, Class, ClassOrAbstractClass, Config, ConfigNotFoundError, ConfigTypeError, Context, CookieOptions, Delete, Dependency, Env, Get, Head, Hook, HookDecorator, HookFunction, HookPostFunction, HttpMethod, HttpResponse, HttpResponseBadRequest, HttpResponseClientError, HttpResponseConflict, HttpResponseCreated, HttpResponseForbidden, HttpResponseInternalServerError, HttpResponseMethodNotAllowed, HttpResponseMovedPermanently, HttpResponseNoContent, HttpResponseNotFound, HttpResponseNotImplemented, HttpResponseOK, HttpResponseRedirect, HttpResponseRedirection, HttpResponseServerError, HttpResponseSuccess, HttpResponseTooManyRequests, HttpResponseUnauthorized, IApiAbstractParameter, IApiAbstractSecurityScheme, IApiApiKeySecurityScheme, IApiAuthorizationCodeOAuthFlow, IApiCallback, IApiClientCredentialsOAuthFlow, IApiComponents, IApiContact, IApiCookieParameter, IApiDiscriminator, IApiEncoding, IApiExample, IApiExternalDocumentation, IApiHeader, IApiHeaderParameter, IApiHttpSecurityScheme, IApiImplicitOAuthFlow, IApiInfo, IApiLicense, IApiLink, IApiMediaType, IApiOAuth2SecurityScheme, IApiOAuthFlow, IApiOAuthFlows, IApiOpenIdConnectSecurityScheme, IApiOperation, IApiParameter, IApiPasswordOAuthFlow, IApiPathItem, IApiPathParameter, IApiPaths, IApiQueryParameter, IApiReference, IApiRequestBody, IApiResponse, IApiResponses, IApiSchema, IApiSecurityRequirement, IApiSecurityScheme, IApiServer, IApiServerVariable, IApiTag, IApiXML, IAppController, IController, IOpenAPI, MergeHooks, OpenApi, OpenApiDecorator, Options, Patch, Post, Put, ServiceManager, createController, createOpenApiDocument, createService, dependency, getApiCallbacks, getApiCompleteOperation, getApiComponents, getApiDeprecated, getApiExternalDocs, getApiInfo, getApiOperation, getApiOperationDescription, getApiOperationId, getApiOperationSummary, getApiParameters, getApiRequestBody, getApiResponses, getApiSecurity, getApiServers, getApiTags, getApiUsedTags, getHookFunction, getHookFunctions, getHttpMethod, getPath, isHttpResponse, isHttpResponseBadRequest, isHttpResponseClientError, isHttpResponseConflict, isHttpResponseCreated, isHttpResponseForbidden, isHttpResponseInternalServerError, isHttpResponseMethodNotAllowed, isHttpResponseMovedPermanently, isHttpResponseNoContent, isHttpResponseNotFound, isHttpResponseNotImplemented, isHttpResponseOK, isHttpResponseRedirect, isHttpResponseRedirection, isHttpResponseServerError, isHttpResponseSuccess, isHttpResponseTooManyRequests, isHttpResponseUnauthorized, } from './core';
export { OPENAPI_SERVICE_ID, createApp, } from './express';
export { Session, SessionAlreadyExists, SessionState, SessionStore, Store, UseSessions, createSession, readSession, } from './sessions';
export { Session, SessionAlreadyExists, SessionState, SessionStore, Store, UseSessions, createSession, readSession, FetchUser, } from './sessions';
"use strict";
/**
* FoalTS
* Copyright(c) 2017-2020 Loïc Poullain <loic.poullain@centraliens.net>
* Copyright(c) 2017-2021 Loïc Poullain <loic.poullain@centraliens.net>
* Released under the MIT License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.readSession = exports.createSession = exports.UseSessions = exports.Store = exports.SessionStore = exports.SessionAlreadyExists = exports.Session = exports.createApp = exports.OPENAPI_SERVICE_ID = exports.isHttpResponseUnauthorized = exports.isHttpResponseTooManyRequests = exports.isHttpResponseSuccess = exports.isHttpResponseServerError = exports.isHttpResponseRedirection = exports.isHttpResponseRedirect = exports.isHttpResponseOK = exports.isHttpResponseNotImplemented = exports.isHttpResponseNotFound = exports.isHttpResponseNoContent = exports.isHttpResponseMovedPermanently = exports.isHttpResponseMethodNotAllowed = exports.isHttpResponseInternalServerError = exports.isHttpResponseForbidden = exports.isHttpResponseCreated = exports.isHttpResponseConflict = exports.isHttpResponseClientError = exports.isHttpResponseBadRequest = exports.isHttpResponse = exports.getPath = exports.getHttpMethod = exports.getHookFunctions = exports.getHookFunction = exports.getApiUsedTags = exports.getApiTags = exports.getApiServers = exports.getApiSecurity = exports.getApiResponses = exports.getApiRequestBody = exports.getApiParameters = exports.getApiOperationSummary = exports.getApiOperationId = exports.getApiOperationDescription = exports.getApiOperation = exports.getApiInfo = exports.getApiExternalDocs = exports.getApiDeprecated = exports.getApiComponents = exports.getApiCompleteOperation = exports.getApiCallbacks = exports.dependency = exports.createService = exports.createOpenApiDocument = exports.createController = exports.ServiceManager = exports.Put = exports.Post = exports.Patch = exports.Options = exports.OpenApi = exports.MergeHooks = exports.HttpResponseUnauthorized = exports.HttpResponseTooManyRequests = exports.HttpResponseSuccess = exports.HttpResponseServerError = exports.HttpResponseRedirection = exports.HttpResponseRedirect = exports.HttpResponseOK = exports.HttpResponseNotImplemented = exports.HttpResponseNotFound = exports.HttpResponseNoContent = exports.HttpResponseMovedPermanently = exports.HttpResponseMethodNotAllowed = exports.HttpResponseInternalServerError = exports.HttpResponseForbidden = exports.HttpResponseCreated = exports.HttpResponseConflict = exports.HttpResponseClientError = exports.HttpResponseBadRequest = exports.HttpResponse = exports.Hook = exports.Head = exports.Get = exports.Env = exports.Dependency = exports.Delete = exports.Context = exports.ConfigTypeError = exports.ConfigNotFoundError = exports.Config = exports.All = exports.ApiUseTag = exports.ApiServer = exports.ApiSecurityRequirement = exports.ApiResponse = exports.ApiRequestBody = exports.ApiParameter = exports.ApiOperationSummary = exports.ApiOperationId = exports.ApiOperationDescription = exports.ApiOperation = exports.ApiInfo = exports.ApiExternalDoc = exports.ApiDeprecated = exports.ApiDefineTag = exports.ApiDefineSecurityScheme = exports.ApiDefineSchema = exports.ApiDefineResponse = exports.ApiDefineRequestBody = exports.ApiDefineParameter = exports.ApiDefineLink = exports.ApiDefineHeader = exports.ApiDefineExample = exports.ApiDefineCallback = exports.ApiCallback = exports.verifySignedToken = exports.verifyPassword = exports.signToken = exports.renderError = exports.render = exports.isInFile = exports.hashPassword = exports.getAjvInstance = exports.generateToken = exports.generateSignedToken = exports.escapeProp = exports.escape = exports.convertBase64ToBase64url = exports.displayServerURL = exports.controller = exports.ValidateQueryParam = exports.ValidatePathParam = exports.ValidateHeader = exports.ValidateCookie = exports.ValidateBody = exports.UserRequired = exports.Log = void 0;
exports.readSession = exports.createSession = exports.UseSessions = exports.Store = exports.SessionStore = exports.SessionAlreadyExists = exports.Session = exports.createApp = exports.OPENAPI_SERVICE_ID = exports.isHttpResponseUnauthorized = exports.isHttpResponseTooManyRequests = exports.isHttpResponseSuccess = exports.isHttpResponseServerError = exports.isHttpResponseRedirection = exports.isHttpResponseRedirect = exports.isHttpResponseOK = exports.isHttpResponseNotImplemented = exports.isHttpResponseNotFound = exports.isHttpResponseNoContent = exports.isHttpResponseMovedPermanently = exports.isHttpResponseMethodNotAllowed = exports.isHttpResponseInternalServerError = exports.isHttpResponseForbidden = exports.isHttpResponseCreated = exports.isHttpResponseConflict = exports.isHttpResponseClientError = exports.isHttpResponseBadRequest = exports.isHttpResponse = exports.getPath = exports.getHttpMethod = exports.getHookFunctions = exports.getHookFunction = exports.getApiUsedTags = exports.getApiTags = exports.getApiServers = exports.getApiSecurity = exports.getApiResponses = exports.getApiRequestBody = exports.getApiParameters = exports.getApiOperationSummary = exports.getApiOperationId = exports.getApiOperationDescription = exports.getApiOperation = exports.getApiInfo = exports.getApiExternalDocs = exports.getApiDeprecated = exports.getApiComponents = exports.getApiCompleteOperation = exports.getApiCallbacks = exports.dependency = exports.createService = exports.createOpenApiDocument = exports.createController = exports.ServiceManager = exports.Put = exports.Post = exports.Patch = exports.Options = exports.OpenApi = exports.MergeHooks = exports.HttpResponseUnauthorized = exports.HttpResponseTooManyRequests = exports.HttpResponseSuccess = exports.HttpResponseServerError = exports.HttpResponseRedirection = exports.HttpResponseRedirect = exports.HttpResponseOK = exports.HttpResponseNotImplemented = exports.HttpResponseNotFound = exports.HttpResponseNoContent = exports.HttpResponseMovedPermanently = exports.HttpResponseMethodNotAllowed = exports.HttpResponseInternalServerError = exports.HttpResponseForbidden = exports.HttpResponseCreated = exports.HttpResponseConflict = exports.HttpResponseClientError = exports.HttpResponseBadRequest = exports.HttpResponse = exports.Hook = exports.Head = exports.Get = exports.Env = exports.Dependency = exports.Delete = exports.Context = exports.ConfigTypeError = exports.ConfigNotFoundError = exports.Config = exports.All = exports.ApiUseTag = exports.ApiServer = exports.ApiSecurityRequirement = exports.ApiResponse = exports.ApiRequestBody = exports.ApiParameter = exports.ApiOperationSummary = exports.ApiOperationId = exports.ApiOperationDescription = exports.ApiOperation = exports.ApiInfo = exports.ApiExternalDoc = exports.ApiDeprecated = exports.ApiDefineTag = exports.ApiDefineSecurityScheme = exports.ApiDefineSchema = exports.ApiDefineResponse = exports.ApiDefineRequestBody = exports.ApiDefineParameter = exports.ApiDefineLink = exports.ApiDefineHeader = exports.ApiDefineExample = exports.ApiDefineCallback = exports.ApiCallback = exports.verifySignedToken = exports.verifyPassword = exports.streamToBuffer = exports.signToken = exports.renderError = exports.renderToString = exports.render = exports.isInFile = exports.hashPassword = exports.getAjvInstance = exports.generateToken = exports.generateSignedToken = exports.escapeProp = exports.escape = exports.convertBase64urlToBase64 = exports.convertBase64ToBase64url = exports.displayServerURL = exports.controller = exports.ValidateQueryParam = exports.ValidatePathParam = exports.ValidateHeader = exports.ValidateCookie = exports.ValidateBody = exports.UserRequired = exports.Log = void 0;
try {

@@ -28,2 +28,3 @@ const version = process.versions.node;

Object.defineProperty(exports, "convertBase64ToBase64url", { enumerable: true, get: function () { return common_1.convertBase64ToBase64url; } });
Object.defineProperty(exports, "convertBase64urlToBase64", { enumerable: true, get: function () { return common_1.convertBase64urlToBase64; } });
Object.defineProperty(exports, "escape", { enumerable: true, get: function () { return common_1.escape; } });

@@ -37,4 +38,6 @@ Object.defineProperty(exports, "escapeProp", { enumerable: true, get: function () { return common_1.escapeProp; } });

Object.defineProperty(exports, "render", { enumerable: true, get: function () { return common_1.render; } });
Object.defineProperty(exports, "renderToString", { enumerable: true, get: function () { return common_1.renderToString; } });
Object.defineProperty(exports, "renderError", { enumerable: true, get: function () { return common_1.renderError; } });
Object.defineProperty(exports, "signToken", { enumerable: true, get: function () { return common_1.signToken; } });
Object.defineProperty(exports, "streamToBuffer", { enumerable: true, get: function () { return common_1.streamToBuffer; } });
Object.defineProperty(exports, "verifyPassword", { enumerable: true, get: function () { return common_1.verifyPassword; } });

@@ -41,0 +44,0 @@ Object.defineProperty(exports, "verifySignedToken", { enumerable: true, get: function () { return common_1.verifySignedToken; } });

export { createSession } from './create-session';
export { FetchUser } from './fetch-user.interface';
export { readSession } from './read-session';

@@ -3,0 +4,0 @@ export { Store, SessionStore, SessionAlreadyExists } from './session-store';

import { Class, Context, HookDecorator, ServiceManager } from '../core';
import { FetchUser } from './fetch-user.interface';
import { SessionStore } from './session-store';
export interface UseSessionOptions {
user?: (id: string | number) => Promise<any | undefined>;
user?: FetchUser;
store?: Class<SessionStore>;

@@ -6,0 +7,0 @@ cookie?: boolean;

@@ -107,3 +107,3 @@ "use strict";

if (session.userId !== null && options.user) {
ctx.user = await options.user(session.userId);
ctx.user = await options.user(session.userId, services);
if (!ctx.user) {

@@ -110,0 +110,0 @@ await session.destroy();

{
"name": "@foal/core",
"version": "2.2.0",
"version": "2.3.0",
"description": "A Node.js and TypeScript framework, all-inclusive.",

@@ -88,3 +88,3 @@ "main": "./lib/index.js",

"devDependencies": {
"@foal/internal-test": "^2.1.2",
"@foal/internal-test": "^2.3.0",
"@types/mocha": "7.0.2",

@@ -104,3 +104,3 @@ "@types/node": "10.17.24",

},
"gitHead": "303ee320fcf468317a13a9868934566bf11f0ddc"
"gitHead": "25c7a245f3806abd4465694958739bc5106bed00"
}

@@ -43,7 +43,7 @@ <p align="center">

It provides a set of ready-to-use components so you don't have to reinvent the wheel every time. In one single place, you have a complete environment to build web applications. This includes a CLI, testing tools, frontend utilities, scripts, advanced authentication, ORM, deployment environments, GraphQL and Swagger API, AWS utilities, and more. You no longer need to get lost on npm searching for packages and making them work together. It's all in the box.
It provides a set of ready-to-use components so you don't have to reinvent the wheel every time. In one single place, you have a complete environment to build web applications. This includes a CLI, testing tools, frontend utilities, scripts, advanced authentication, ORM, deployment environments, GraphQL and Swagger API, AWS utilities, and more. You no longer need to get lost on npm searching for packages and making them work together. All is provided.
But while offering all these features, the framework remains simple. Complexity and unnecessary abstractions are put aside to provide the most intuitive and expressive syntax. We believe that concise and elegant code is the best way to develop an application and maintain it in the future. It also allows you to spend more time coding rather than trying to understand how the framework works.
And last but not least, the framework is entirely written in TypeScript. The language brings you optional static type-checking along with the latest ECMAScript features. This allows you to detect most silly errors during compilation and improve the quality of your code. It also offers you autocompletion and a well documented API.
Finally, the framework is entirely written in TypeScript. The language brings you optional static type-checking along with the latest ECMAScript features. This allows you to detect most silly errors during compilation and improve the quality of your code. It also offers you autocompletion and a well documented API.

@@ -50,0 +50,0 @@ <p align="center">

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc