New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@sequelize/core

Package Overview
Dependencies
Maintainers
4
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sequelize/core - npm Package Compare versions

Comparing version 7.0.0-alpha.12 to 7.0.0-alpha.13

lib/utils/dayjs.js

23

lib/data-types.js

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

const Validator = require("./utils/validator-extras").validator;
const momentTz = require("moment-timezone");
const moment = require("moment");
const dayjs = require("dayjs");
const { logger } = require("./utils/logger");

@@ -14,2 +13,3 @@ const warnings = {};

const { joinSQLFragments } = require("./utils/join-sql-fragments");
const { isValidTimeZone } = require("./utils/dayjs");
class ABSTRACT {

@@ -169,3 +169,3 @@ toString(options) {

_stringify(number) {
if (typeof number === "number" || typeof number === "boolean" || number === null || number === void 0) {
if (typeof number === "number" || typeof number === "bigint" || typeof number === "boolean" || number === null || number === void 0) {
return number;

@@ -339,14 +339,11 @@ }

if (options.timezone) {
if (momentTz.tz.zone(options.timezone)) {
return momentTz(date).tz(options.timezone);
if (isValidTimeZone(options.timezone)) {
return dayjs(date).tz(options.timezone);
}
return moment(date).utcOffset(options.timezone);
return dayjs(date).utcOffset(options.timezone);
}
return momentTz(date);
return dayjs(date);
}
_stringify(date, options) {
if (!moment.isMoment(date)) {
date = this._applyTimezone(date, options);
}
return date.format("YYYY-MM-DD HH:mm:ss.SSS Z");
return this._applyTimezone(date, options).format("YYYY-MM-DD HH:mm:ss.SSS Z");
}

@@ -359,7 +356,7 @@ }

_stringify(date) {
return moment(date).format("YYYY-MM-DD");
return dayjs(date).format("YYYY-MM-DD");
}
_sanitize(value, options) {
if ((!options || options && !options.raw) && Boolean(value)) {
return moment(value).format("YYYY-MM-DD");
return dayjs(value).format("YYYY-MM-DD");
}

@@ -366,0 +363,0 @@ return value;

"use strict";
const momentTz = require("moment-timezone");
const moment = require("moment");
const dayjs = require("dayjs");
module.exports = (BaseTypes) => {

@@ -171,5 +170,3 @@ const warn = BaseTypes.ABSTRACT.warn.bind(void 0, "https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0008478.html");

_stringify(date, options) {
if (!moment.isMoment(date)) {
date = this._applyTimezone(date, options);
}
date = this._applyTimezone(date, options);
if (this._length > 0) {

@@ -191,3 +188,3 @@ let msec = ".";

}
value = new Date(momentTz.utc(value));
value = new Date(dayjs.utc(value));
return value;

@@ -198,3 +195,3 @@ }

static parse(value) {
return momentTz(value).format("YYYY-MM-DD");
return dayjs(value).format("YYYY-MM-DD");
}

@@ -201,0 +198,0 @@ }

@@ -28,2 +28,3 @@ "use strict";

var import_node_assert = __toESM(require("node:assert"));
var import_node_util = __toESM(require("node:util"));
const { AbstractQuery } = require("../abstract/query");

@@ -34,3 +35,3 @@ const sequelizeErrors = require("../../errors");

const { logger } = require("../../utils/logger");
const moment = require("moment");
const dayjs = require("dayjs");
const debug = logger.debugContext("sql:db2");

@@ -42,7 +43,8 @@ class Db2Query extends AbstractQuery {

getSQLTypeFromJsType(value) {
const param = { ParamType: "INPUT", Data: value };
if (Buffer.isBuffer(value)) {
param.DataType = "BLOB";
return param;
return { ParamType: "INPUT", DataType: "BLOB", Data: value };
}
if (typeof value === "bigint") {
return value.toString();
}
return value;

@@ -121,5 +123,5 @@ }

stmt.execute(params, (err2, result, outparams) => {
debug(`executed(${this.connection.uuid || "default"}):${newSql} ${parameters ? JSON.stringify(parameters) : ""}`);
debug(`executed(${this.connection.uuid || "default"}):${newSql} ${parameters ? import_node_util.default.inspect(parameters, { compact: true, breakLength: Infinity }) : ""}`);
if (benchmark) {
this.sequelize.log(`Executed (${this.connection.uuid || "default"}): ${newSql} ${parameters ? JSON.stringify(parameters) : ""}`, Date.now() - queryBegin, this.options);
this.sequelize.log(`Executed (${this.connection.uuid || "default"}): ${newSql} ${parameters ? import_node_util.default.inspect(parameters, { compact: true, breakLength: Infinity }) : ""}`, Date.now() - queryBegin, this.options);
}

@@ -165,3 +167,3 @@ if (err2 && err2.message) {

} else if (coltypes[column] === "TIMESTAMP") {
data[i][column] = new Date(moment.utc(value));
data[i][column] = new Date(dayjs.utc(value));
} else if (coltypes[column] === "BLOB") {

@@ -168,0 +170,0 @@ data[i][column] = new Buffer.from(value);

"use strict";
const moment = require("moment");
const dayjs = require("dayjs");
module.exports = (BaseTypes) => {

@@ -46,7 +46,5 @@ const warn = BaseTypes.ABSTRACT.warn.bind(void 0, "https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/db2/rbafzch2data.htm");

if (!date.includes("+")) {
const mome2 = moment.utc(date);
return mome2.toDate();
return dayjs.utc(date).toDate();
}
const mome = moment.utc(date);
return mome.toDate();
return dayjs.utc(date).toDate();
}

@@ -53,0 +51,0 @@ _stringify(date, options) {

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

const DataTypes = require("../../data-types").mariadb;
const momentTz = require("moment-timezone");
const dayjs = require("dayjs");
const debug = logger.debugContext("connection:mariadb");

@@ -68,3 +68,3 @@ const parserStore = require("../parserStore")("mariadb");

let tzOffset = this.sequelize.options.timezone;
tzOffset = /\//.test(tzOffset) ? momentTz.tz(tzOffset).format("Z") : tzOffset;
tzOffset = /\//.test(tzOffset) ? dayjs.tz(void 0, tzOffset).format("Z") : tzOffset;
const connectionConfig = __spreadValues({

@@ -71,0 +71,0 @@ host: config.host,

"use strict";
const wkx = require("wkx");
const _ = require("lodash");
const momentTz = require("moment-timezone");
const moment = require("moment");
const dayjs = require("dayjs");
const { isValidTimeZone } = require("../../utils/dayjs");
module.exports = (BaseTypes) => {

@@ -46,6 +46,3 @@ BaseTypes.ABSTRACT.prototype.dialectTypes = "https://mariadb.com/kb/en/library/resultset/#field-types";

_stringify(date, options) {
if (!moment.isMoment(date)) {
date = this._applyTimezone(date, options);
}
return date.format("YYYY-MM-DD HH:mm:ss.SSS");
return this._applyTimezone(date, options).format("YYYY-MM-DD HH:mm:ss.SSS");
}

@@ -57,4 +54,4 @@ static parse(value, options) {

}
if (momentTz.tz.zone(options.timezone)) {
value = momentTz.tz(value, options.timezone).toDate();
if (isValidTimeZone(options.timezone)) {
value = dayjs.tz(value, options.timezone).toDate();
} else {

@@ -61,0 +58,0 @@ value = new Date(`${value} ${options.timezone}`);

"use strict";
const moment = require("moment");
const dayjs = require("dayjs");
module.exports = (BaseTypes) => {

@@ -101,3 +101,3 @@ const warn = BaseTypes.ABSTRACT.warn.bind(void 0, "https://msdn.microsoft.com/en-us/library/ms187752%28v=sql.110%29.aspx");

static parse(value) {
return moment(value).format("YYYY-MM-DD");
return dayjs(value).format("YYYY-MM-DD");
}

@@ -104,0 +104,0 @@ }

@@ -30,2 +30,4 @@ "use strict";

const debug = logger.debugContext("sql:mssql");
const minSafeIntegerAsBigInt = BigInt(Number.MIN_SAFE_INTEGER);
const maxSafeIntegerAsBigInt = BigInt(Number.MAX_SAFE_INTEGER);
function getScale(aNum) {

@@ -46,4 +48,3 @@ if (!Number.isFinite(aNum)) {

getSQLTypeFromJsType(value, TYPES) {
const paramType = { type: TYPES.VarChar, typeOptions: {} };
paramType.type = TYPES.NVarChar;
const paramType = { type: TYPES.NVarChar, typeOptions: {}, value };
if (typeof value === "number") {

@@ -60,2 +61,9 @@ if (Number.isInteger(value)) {

}
} else if (typeof value === "bigint") {
if (value < minSafeIntegerAsBigInt || value > maxSafeIntegerAsBigInt) {
paramType.type = TYPES.VarChar;
paramType.value = value.toString();
} else {
return this.getSQLTypeFromJsType(Number(value), TYPES);
}
} else if (typeof value === "boolean") {

@@ -95,5 +103,4 @@ paramType.type = TYPES.Bit;

for (let i = 0; i < parameters.length; i++) {
const parameter = parameters[i];
const paramType = this.getSQLTypeFromJsType(parameter, connection.lib.TYPES);
request.addParameter(String(i + 1), paramType.type, parameter, paramType.typeOptions);
const paramType = this.getSQLTypeFromJsType(parameters[i], connection.lib.TYPES);
request.addParameter(String(i + 1), paramType.type, paramType.value, paramType.typeOptions);
}

@@ -103,3 +110,3 @@ } else {

const paramType = this.getSQLTypeFromJsType(parameter, connection.lib.TYPES);
request.addParameter(parameterName, paramType.type, parameter, paramType.typeOptions);
request.addParameter(parameterName, paramType.type, paramType.value, paramType.typeOptions);
});

@@ -106,0 +113,0 @@ }

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

const DataTypes = require("../../data-types").mysql;
const momentTz = require("moment-timezone");
const dayjs = require("dayjs");
const debug = logger.debugContext("connection:mysql");

@@ -106,3 +106,3 @@ const parserStore = require("../parserStore")("mysql");

let tzOffset = this.sequelize.options.timezone;
tzOffset = /\//.test(tzOffset) ? momentTz.tz(tzOffset).format("Z") : tzOffset;
tzOffset = /\//.test(tzOffset) ? dayjs.tz(void 0, tzOffset).format("Z") : tzOffset;
await promisify((cb) => connection.query(`SET time_zone = '${tzOffset}'`, cb))();

@@ -109,0 +109,0 @@ }

"use strict";
const wkx = require("wkx");
const _ = require("lodash");
const momentTz = require("moment-timezone");
const moment = require("moment");
const dayjs = require("dayjs");
const { isValidTimeZone } = require("../../utils/dayjs");
module.exports = (BaseTypes) => {

@@ -46,5 +46,3 @@ BaseTypes.ABSTRACT.prototype.dialectTypes = "https://dev.mysql.com/doc/refman/5.7/en/data-types.html";

_stringify(date, options) {
if (!moment.isMoment(date)) {
date = this._applyTimezone(date, options);
}
date = this._applyTimezone(date, options);
if (this._length) {

@@ -60,4 +58,4 @@ return date.format("YYYY-MM-DD HH:mm:ss.SSS");

}
if (momentTz.tz.zone(options.timezone)) {
value = momentTz.tz(value, options.timezone).toDate();
if (isValidTimeZone(options.timezone)) {
value = dayjs.tz(value, options.timezone).toDate();
} else {

@@ -64,0 +62,0 @@ value = new Date(`${value} ${options.timezone}`);

@@ -27,2 +27,3 @@ "use strict";

const { logger } = require("../../utils/logger");
const { isValidTimeZone } = require("../../utils/dayjs");
const debug = logger.debugContext("connection:pg");

@@ -32,3 +33,3 @@ const sequelizeErrors = require("../../errors");

const dataTypes = require("../../data-types");
const momentTz = require("moment-timezone");
const dayjs = require("dayjs");
const { promisify } = require("util");

@@ -197,4 +198,3 @@ class PostgresConnectionManager extends ConnectionManager {

if (!this.sequelize.config.keepDefaultTimezone) {
const isZone = Boolean(momentTz.tz.zone(this.sequelize.options.timezone));
if (isZone) {
if (isValidTimeZone(this.sequelize.options.timezone)) {
query += `SET TIME ZONE '${this.sequelize.options.timezone}';`;

@@ -201,0 +201,0 @@ } else {

"use strict";
const momentTz = require("moment-timezone");
const moment = require("moment");
const dayjs = require("dayjs");
const { isValidTimeZone } = require("../../utils/dayjs");
module.exports = (BaseTypes) => {

@@ -32,5 +32,3 @@ BaseTypes.ABSTRACT.prototype.dialectTypes = "https://dev.snowflake.com/doc/refman/5.7/en/data-types.html";

_stringify(date, options) {
if (!moment.isMoment(date)) {
date = this._applyTimezone(date, options);
}
date = this._applyTimezone(date, options);
if (this._length) {

@@ -46,4 +44,4 @@ return date.format("YYYY-MM-DD HH:mm:ss.SSS");

}
if (momentTz.tz.zone(options.timezone)) {
value = momentTz.tz(value, options.timezone).toDate();
if (isValidTimeZone(options.timezone)) {
value = dayjs.tz(value, options.timezone).toDate();
} else {

@@ -50,0 +48,0 @@ value = new Date(`${value} ${options.timezone}`);

@@ -36,2 +36,8 @@ "use strict";

const debug = logger.debugContext("sql:sqlite");
function stringifyIfBigint(value) {
if (typeof value === "bigint") {
return value.toString();
}
return value;
}
class SqliteQuery extends AbstractQuery {

@@ -209,5 +215,7 @@ getInsertIdField() {

for (const key of Object.keys(parameters)) {
newParameters[`$${key}`] = parameters[key];
newParameters[`$${key}`] = stringifyIfBigint(parameters[key]);
}
parameters = newParameters;
} else {
parameters = parameters.map(stringifyIfBigint);
}

@@ -214,0 +222,0 @@ conn[method](sql, parameters, afterExecute);

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

var import_sql = require("./utils/sql");
const url = require("url");
const path = require("path");
const pgConnectionString = require("pg-connection-string");
var import_url = require("./utils/url");
const retry = require("retry-as-promised");

@@ -82,2 +80,3 @@ const _ = require("lodash");

const { HasMany } = require("./associations/has-many");
require("./utils/dayjs");
class Sequelize {

@@ -92,42 +91,3 @@ constructor(database, username, password, options) {

options = username || {};
const urlParts = url.parse(arguments[0], true);
options.dialect = urlParts.protocol.replace(/:$/, "");
options.host = urlParts.hostname;
if (options.dialect === "sqlite" && urlParts.pathname && !urlParts.pathname.startsWith("/:memory")) {
const storagePath = path.join(options.host, urlParts.pathname);
options.storage = path.resolve(options.storage || storagePath);
}
if (urlParts.pathname) {
config.database = urlParts.pathname.replace(/^\//, "");
}
if (urlParts.port) {
options.port = urlParts.port;
}
if (urlParts.auth) {
const authParts = urlParts.auth.split(":");
config.username = authParts[0];
if (authParts.length > 1) {
config.password = authParts.slice(1).join(":");
}
}
if (urlParts.query) {
if (urlParts.query.host) {
options.host = urlParts.query.host;
}
if (options.dialectOptions) {
Object.assign(options.dialectOptions, urlParts.query);
} else {
options.dialectOptions = urlParts.query;
if (urlParts.query.options) {
try {
const o = JSON.parse(urlParts.query.options);
options.dialectOptions.options = o;
} catch {
}
}
}
}
if (["postgres", "postgresql"].includes(options.dialect)) {
Object.assign(options.dialectOptions, pgConnectionString.parse(arguments[0]));
}
_.defaultsDeep(options, (0, import_url.parseConnectionString)(arguments[0]));
} else {

@@ -142,2 +102,3 @@ options = options || {};

dialectModulePath: null,
dialectOptions: /* @__PURE__ */ Object.create(null),
host: "localhost",

@@ -205,2 +166,15 @@ protocol: "tcp",

};
if (this.options.replication) {
if (this.options.replication.write && typeof this.options.replication.write === "string") {
this.options.replication.write = (0, import_url.parseConnectionString)(this.options.replication.write);
}
if (this.options.replication.read) {
for (let i = 0; i < this.options.replication.read.length; i++) {
const server = this.options.replication.read[i];
if (typeof server === "string") {
this.options.replication.read[i] = (0, import_url.parseConnectionString)(server);
}
}
}
}
let Dialect;

@@ -207,0 +181,0 @@ switch (this.getDialect()) {

@@ -55,2 +55,3 @@ "use strict";

case "number":
case "bigint":
return val.toString();

@@ -57,0 +58,0 @@ case "string":

@@ -34,2 +34,3 @@ var __defProp = Object.defineProperty;

__reExport(utils_exports, require("./string"), module.exports);
__reExport(utils_exports, require("./dayjs"), module.exports);
function getComplexSize(obj) {

@@ -36,0 +37,0 @@ return Array.isArray(obj) ? obj.length : (0, import_format.getComplexKeys)(obj).length;

@@ -129,3 +129,3 @@ var __create = Object.create;

}
const match = remainingString.match(/^\$(?<name>([a-z_][0-9a-z_]*|[1-9][0-9]*))(?:\)|,|$|\s|::)/i);
const match = remainingString.match(/^\$(?<name>([a-z_][0-9a-z_]*|[1-9][0-9]*))(?:\)|,|$|\s|::|;)/i);
const bindParamName = (_c = match == null ? void 0 : match.groups) == null ? void 0 : _c.name;

@@ -144,7 +144,7 @@ if (!bindParamName) {

const previousChar = sqlString[i - 1];
if (previousChar !== void 0 && !/[\s(,=]/.test(previousChar)) {
if (previousChar !== void 0 && !/[\s(,=[]/.test(previousChar)) {
continue;
}
const remainingString = sqlString.slice(i, sqlString.length);
const match = remainingString.match(/^:(?<name>[a-z_][0-9a-z_]*)(?:\)|,|$|\s|::)/i);
const match = remainingString.match(/^:(?<name>[a-z_][0-9a-z_]*)(?:\)|,|$|\s|::|;|])/i);
const replacementName = (_d = match == null ? void 0 : match.groups) == null ? void 0 : _d.name;

@@ -166,3 +166,3 @@ if (!replacementName) {

const previousChar = sqlString[i - 1];
if (previousChar !== void 0 && !/[\s(,=]/.test(previousChar)) {
if (previousChar !== void 0 && !/[\s(,=[]/.test(previousChar)) {
continue;

@@ -169,0 +169,0 @@ }

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

const validator = _.cloneDeep(require("validator"));
const moment = require("moment");
const dayjs = require("dayjs");
const extensions = {

@@ -97,9 +97,4 @@ extend(name, fn) {

validator.isDate = function(dateString) {
const parsed = Date.parse(dateString);
if (isNaN(parsed)) {
return false;
}
const date = new Date(parsed);
return moment(date.toISOString()).isValid();
return dayjs(dateString).isValid();
};
//# sourceMappingURL=validator-extras.js.map
{
"name": "@sequelize/core",
"description": "Sequelize is a promise-based Node.js ORM tool for Postgres, MySQL, MariaDB, SQLite, Microsoft SQL Server, Amazon Redshift, Snowflake’s Data Cloud, Db2, and IBM i. It features solid transaction support, relations, eager and lazy loading, read replication and more.",
"version": "7.0.0-alpha.12",
"version": "7.0.0-alpha.13",
"funding": [

@@ -43,2 +43,3 @@ {

"@types/validator": "^13.7.1",
"dayjs": "^1.11.1",
"debug": "^4.3.3",

@@ -48,4 +49,2 @@ "dottie": "^2.0.2",

"lodash": "^4.17.21",
"moment": "^2.29.1",
"moment-timezone": "^0.5.34",
"pg-connection-string": "^2.5.0",

@@ -61,4 +60,4 @@ "retry-as-promised": "^5.0.0",

"devDependencies": {
"@commitlint/cli": "16.2.4",
"@commitlint/config-angular": "16.2.4",
"@commitlint/cli": "17.0.0",
"@commitlint/config-angular": "17.0.0",
"@ephys/eslint-config-typescript": "17.0.0",

@@ -71,3 +70,3 @@ "@rushstack/eslint-patch": "1.1.3",

"@types/mocha": "9.1.1",
"@types/node": "16.11.32",
"@types/node": "16.11.36",
"@types/sinon": "10.0.11",

@@ -84,5 +83,5 @@ "@types/sinon-chai": "3.2.8",

"delay": "5.0.0",
"esbuild": "0.14.38",
"eslint": "8.14.0",
"eslint-plugin-jsdoc": "39.2.9",
"esbuild": "0.14.39",
"eslint": "8.15.0",
"eslint-plugin-jsdoc": "39.3.0",
"eslint-plugin-mocha": "10.0.4",

@@ -92,3 +91,3 @@ "expect-type": "0.13.0",

"fs-jetpack": "4.3.1",
"husky": "7.0.4",
"husky": "8.0.1",
"ibm_db": "2.8.1",

@@ -99,3 +98,3 @@ "lcov-result-merger": "3.1.0",

"markdownlint-cli": "0.31.1",
"mocha": "9.2.2",
"mocha": "10.0.0",
"module-alias": "2.2.2",

@@ -115,7 +114,7 @@ "mysql2": "2.3.3",

"semantic-release-fail-on-major-bump": "1.0.0",
"sinon": "13.0.2",
"sinon": "14.0.0",
"sinon-chai": "3.7.0",
"snowflake-sdk": "1.6.9",
"source-map-support": "0.5.21",
"sqlite3": "5.0.6",
"sqlite3": "5.0.8",
"tedious": "14.4.0",

@@ -122,0 +121,0 @@ "typedoc": "0.22.15",

@@ -132,5 +132,5 @@ import { HookReturn, Hooks, SequelizeHooks } from './hooks';

export interface ReplicationOptions {
read: ConnectionOptions[];
read: Array<ConnectionOptions | string>;
write: ConnectionOptions;
write: ConnectionOptions | string;
}

@@ -167,6 +167,3 @@

readonly keepDefaultTimezone?: boolean;
readonly dialectOptions?: {
readonly charset?: string;
readonly timeout?: number;
};
readonly dialectOptions: Readonly<DialectOptions>;
}

@@ -210,3 +207,3 @@

*/
dialectOptions?: object;
dialectOptions?: DialectOptions;

@@ -284,3 +281,3 @@ /**

* format
* +/-HH:MM. Will also accept string versions of timezones used by moment.js (e.g. 'America/Los_Angeles');
* +/-HH:MM. Will also accept string versions of timezones supported by Intl.Locale (e.g. 'America/Los_Angeles');
* this is useful to capture daylight savings time changes.

@@ -310,3 +307,3 @@ *

* servers to handle reads). Each read/write server can have the following properties: `host`, `port`,
* `username`, `password`, `database`
* `username`, `password`, `database`. Connection strings can be used instead of objects.
*

@@ -410,2 +407,15 @@ * @default false

export interface DialectOptions {
[key: string]: any;
account?: string;
role?: string;
warehouse?: string;
schema?: string;
odbcConnectionString?: string;
charset?: string;
timeout?: number;
options?: Record<string, any>;
}
export interface QueryOptionsTransactionRequired { }

@@ -951,3 +961,3 @@

public readonly options: PartlyRequired<Options, 'transactionType' | 'isolationLevel'>;
public readonly options: PartlyRequired<Options, 'transactionType' | 'isolationLevel' | 'dialectOptions'>;

@@ -954,0 +964,0 @@ public readonly dialect: AbstractDialect;

@@ -11,2 +11,3 @@ import type { Optional } from '..';

export * from './string';
export * from './dayjs';
/**

@@ -13,0 +14,0 @@ * getComplexSize

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc