Socket
Socket
Sign inDemoInstall

objection

Package Overview
Dependencies
Maintainers
2
Versions
201
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

objection - npm Package Compare versions

Comparing version 2.0.2 to 2.0.3

2

package.json
{
"name": "objection",
"version": "2.0.2",
"version": "2.0.3",
"description": "An SQL-friendly ORM for Node.js",

@@ -5,0 +5,0 @@ "main": "lib/objection.js",

@@ -402,3 +402,3 @@ /// <reference types="node" />

interface WhereJson<QB extends AnyQueryBuilder> {
interface WhereJsonMethod<QB extends AnyQueryBuilder> {
(

@@ -410,7 +410,7 @@ fieldExpression: FieldExpression,

interface WhereFieldExpression<QB extends AnyQueryBuilder> {
interface WhereFieldExpressionMethod<QB extends AnyQueryBuilder> {
(fieldExpression: FieldExpression): QB;
}
interface WhereJsonExpression<QB extends AnyQueryBuilder> {
interface WhereJsonExpressionMethod<QB extends AnyQueryBuilder> {
(fieldExpression: FieldExpression, keys: string | string[]): QB;

@@ -449,3 +449,3 @@ }

interface SetOperations<QB extends AnyQueryBuilder> extends BaseSetOperations<QB> {
interface SetOperationsMethod<QB extends AnyQueryBuilder> extends BaseSetOperations<QB> {
(...callbacksOrBuilders: QBOrCallback<QB>[]): QB;

@@ -550,13 +550,3 @@ }

interface FindByIdMethod<QB extends AnyQueryBuilder> {
(id: MaybeCompositeId): SingleQueryBuilder<QB>;
}
interface FindByIdsMethod<QB extends AnyQueryBuilder> {
(ids: MaybeCompositeId[]): QB;
}
interface FindOneMethod<QB extends AnyQueryBuilder> extends WhereMethod<SingleQueryBuilder<QB>> {}
interface FirstMethod<QB extends AnyQueryBuilder> {
interface FirstMethod {
<QB extends AnyQueryBuilder>(this: QB): QB extends ArrayQueryBuilder<QB>

@@ -567,65 +557,4 @@ ? SingleQueryBuilder<QB>

interface ExecuteMethod<R> {
(): Promise<R>;
}
interface CastToMethod {
<M extends Model>(modelClass: ModelClass<M>): QueryBuilderType<M>;
}
interface UpdateMethod<QB extends AnyQueryBuilder> {
(update: PartialModelObject<ModelType<QB>>): NumberQueryBuilder<QB>;
(): NumberQueryBuilder<QB>;
}
interface UpdateAndFetchMethod<QB extends AnyQueryBuilder> {
(update: PartialModelObject<ModelType<QB>>): SingleQueryBuilder<QB>;
}
interface UpdateAndFetchByIdMethod<QB extends AnyQueryBuilder> {
(id: MaybeCompositeId, update: PartialModelObject<ModelType<QB>>): SingleQueryBuilder<QB>;
}
interface DeleteMethod<QB extends AnyQueryBuilder> {
(): NumberQueryBuilder<QB>;
}
interface DeleteByIdMethod<QB extends AnyQueryBuilder> {
(id: MaybeCompositeId): NumberQueryBuilder<QB>;
}
interface InsertMethod<QB extends AnyQueryBuilder> {
(insert: PartialModelObject<ModelType<QB>>): SingleQueryBuilder<QB>;
(insert: PartialModelObject<ModelType<QB>>[]): ArrayQueryBuilder<QB>;
(): SingleQueryBuilder<QB>;
}
interface RelateMethod<QB extends AnyQueryBuilder> {
(
ids:
| MaybeCompositeId
| MaybeCompositeId[]
| PartialModelObject<ModelType<QB>>
| PartialModelObject<ModelType<QB>>[]
): NumberQueryBuilder<QB>;
}
interface UnrelateMethod<QB extends AnyQueryBuilder> {
(): NumberQueryBuilder<QB>;
}
type ForIdValue = MaybeCompositeId | AnyQueryBuilder;
interface ForMethod<QB extends AnyQueryBuilder> {
(ids: ForIdValue | ForIdValue[]): QB;
}
interface WithGraphFetchedMethod<QB extends AnyQueryBuilder> {
(expr: RelationExpression<ModelType<QB>>, options?: GraphOptions): QB;
}
interface WithGraphJoinedMethod<QB extends AnyQueryBuilder> {
(expr: RelationExpression<ModelType<QB>>, options?: GraphOptions): QB;
}
// Deprecated

@@ -664,6 +593,2 @@ interface EagerMethod<QB extends AnyQueryBuilder> {

interface ToKnexQueryMethod<QB extends AnyQueryBuilder> {
<T = ModelObject<QB['ModelType']>>(): Knex.QueryBuilder<T, T[]>;
}
interface AliasForMethod<QB extends AnyQueryBuilder> {

@@ -695,14 +620,2 @@ (modelClassOrTableName: string | ModelClass<any>, alias: string): QB;

// Deprecated
interface PickMethod<QB extends AnyQueryBuilder> {
(modelClass: typeof Model, properties: string[]): QB;
(properties: string[]): QB;
}
// Deprecated
interface OmitMethod<QB extends AnyQueryBuilder> {
(modelClass: typeof Model, properties: string[]): QB;
(properties: string[]): QB;
}
export interface Page<M extends Model> {

@@ -713,23 +626,2 @@ total: number;

interface PageMethod<QB extends AnyQueryBuilder> {
(page: number, pageSize: number): PageQueryBuilder<QB>;
}
interface RangeMethod<QB extends AnyQueryBuilder> {
(): PageQueryBuilder<QB>;
(start: number, end: number): PageQueryBuilder<QB>;
}
interface OffsetMethod<QB extends AnyQueryBuilder> {
(offset: number): QB;
}
interface LimitMethod<QB extends AnyQueryBuilder> {
(limit: number): QB;
}
interface ResultSizeMethod {
(): Promise<number>;
}
interface RunBeforeCallback<QB extends AnyQueryBuilder> {

@@ -776,6 +668,6 @@ (this: QB, result: any, query: QB): any;

interface InsertGraphMethod {
interface InsertGraphMethod<M extends Model> {
<QB extends AnyQueryBuilder>(
this: QB,
graph: PartialModelGraph<ModelType<QB>>,
graph: PartialModelGraph<M>,
options?: InsertGraphOptions

@@ -786,3 +678,3 @@ ): SingleQueryBuilder<QB>;

this: QB,
graph: PartialModelGraph<ModelType<QB>>[],
graph: PartialModelGraph<M>[],
options?: InsertGraphOptions

@@ -805,6 +697,6 @@ ): ArrayQueryBuilder<QB>;

interface UpsertGraphMethod {
interface UpsertGraphMethod<M extends Model> {
<QB extends AnyQueryBuilder>(
this: QB,
graph: PartialModelGraph<ModelType<QB>>[],
graph: PartialModelGraph<M>[],
options?: UpsertGraphOptions

@@ -815,3 +707,3 @@ ): ArrayQueryBuilder<QB>;

this: QB,
graph: PartialModelGraph<ModelType<QB>>,
graph: PartialModelGraph<M>,
options?: UpsertGraphOptions

@@ -943,22 +835,22 @@ ): SingleQueryBuilder<QB>;

whereJsonSupersetOf: WhereJson<this>;
orWhereJsonSupersetOf: WhereJson<this>;
whereJsonNotSupersetOf: WhereJson<this>;
orWhereJsonNotSupersetOf: WhereJson<this>;
whereJsonSubsetOf: WhereJson<this>;
orWhereJsonSubsetOf: WhereJson<this>;
whereJsonNotSubsetOf: WhereJson<this>;
orWhereJsonNotSubsetOf: WhereJson<this>;
whereJsonIsArray: WhereFieldExpression<this>;
orWhereJsonIsArray: WhereFieldExpression<this>;
whereJsonNotArray: WhereFieldExpression<this>;
orWhereJsonNotArray: WhereFieldExpression<this>;
whereJsonIsObject: WhereFieldExpression<this>;
orWhereJsonIsObject: WhereFieldExpression<this>;
whereJsonNotObject: WhereFieldExpression<this>;
orWhereJsonNotObject: WhereFieldExpression<this>;
whereJsonHasAny: WhereJsonExpression<this>;
orWhereJsonHasAny: WhereJsonExpression<this>;
whereJsonHasAll: WhereJsonExpression<this>;
orWhereJsonHasAll: WhereJsonExpression<this>;
whereJsonSupersetOf: WhereJsonMethod<this>;
orWhereJsonSupersetOf: WhereJsonMethod<this>;
whereJsonNotSupersetOf: WhereJsonMethod<this>;
orWhereJsonNotSupersetOf: WhereJsonMethod<this>;
whereJsonSubsetOf: WhereJsonMethod<this>;
orWhereJsonSubsetOf: WhereJsonMethod<this>;
whereJsonNotSubsetOf: WhereJsonMethod<this>;
orWhereJsonNotSubsetOf: WhereJsonMethod<this>;
whereJsonIsArray: WhereFieldExpressionMethod<this>;
orWhereJsonIsArray: WhereFieldExpressionMethod<this>;
whereJsonNotArray: WhereFieldExpressionMethod<this>;
orWhereJsonNotArray: WhereFieldExpressionMethod<this>;
whereJsonIsObject: WhereFieldExpressionMethod<this>;
orWhereJsonIsObject: WhereFieldExpressionMethod<this>;
whereJsonNotObject: WhereFieldExpressionMethod<this>;
orWhereJsonNotObject: WhereFieldExpressionMethod<this>;
whereJsonHasAny: WhereJsonExpressionMethod<this>;
orWhereJsonHasAny: WhereJsonExpressionMethod<this>;
whereJsonHasAll: WhereJsonExpressionMethod<this>;
orWhereJsonHasAll: WhereJsonExpressionMethod<this>;

@@ -992,3 +884,3 @@ having: WhereMethod<this>;

unionAll: UnionMethod<this>;
intersect: SetOperations<this>;
intersect: SetOperationsMethod<this>;

@@ -1045,9 +937,4 @@ with: WithMethod<this>;

decrement: IncrementDecrementMethod<this>;
first: FirstMethod;
findById: FindByIdMethod<this>;
findByIds: FindByIdsMethod<this>;
findOne: FindOneMethod<this>;
first: FirstMethod<this>;
orderBy: OrderByMethod<this>;

@@ -1059,27 +946,47 @@ orderByRaw: OrderByRawMethod<this>;

execute: ExecuteMethod<R>;
castTo: CastToMethod;
findById(id: MaybeCompositeId): SingleQueryBuilder<this>;
findByIds(ids: MaybeCompositeId[]): this;
findOne: WhereMethod<SingleQueryBuilder<this>>;
update: UpdateMethod<this>;
updateAndFetch: UpdateAndFetchMethod<this>;
updateAndFetchById: UpdateAndFetchByIdMethod<this>;
execute(): Promise<R>;
castTo<MC extends Model>(modelClass: ModelClass<MC>): QueryBuilderType<MC>;
patch: UpdateMethod<this>;
patchAndFetch: UpdateAndFetchMethod<this>;
patchAndFetchById: UpdateAndFetchByIdMethod<this>;
update(update: PartialModelObject<M>): NumberQueryBuilder<this>;
update(): NumberQueryBuilder<this>;
updateAndFetch(update: PartialModelObject<M>): SingleQueryBuilder<this>;
updateAndFetchById(
id: MaybeCompositeId,
update: PartialModelObject<M>
): SingleQueryBuilder<this>;
del: DeleteMethod<this>;
delete: DeleteMethod<this>;
deleteById: DeleteByIdMethod<this>;
patch(update: PartialModelObject<M>): NumberQueryBuilder<this>;
patch(): NumberQueryBuilder<this>;
patchAndFetch(update: PartialModelObject<M>): SingleQueryBuilder<this>;
patchAndFetchById(
id: MaybeCompositeId,
update: PartialModelObject<M>
): SingleQueryBuilder<this>;
insert: InsertMethod<this>;
insertAndFetch: InsertMethod<this>;
del(): NumberQueryBuilder<this>;
delete(): NumberQueryBuilder<this>;
deleteById(id: MaybeCompositeId): NumberQueryBuilder<this>;
relate: RelateMethod<this>;
unrelate: UnrelateMethod<this>;
for: ForMethod<this>;
insert(insert: PartialModelObject<M>): SingleQueryBuilder<this>;
insert(insert: PartialModelObject<M>[]): ArrayQueryBuilder<this>;
insert(): SingleQueryBuilder<this>;
withGraphFetched: WithGraphFetchedMethod<this>;
withGraphJoined: WithGraphJoinedMethod<this>;
insertAndFetch(insert: PartialModelObject<M>): SingleQueryBuilder<this>;
insertAndFetch(insert: PartialModelObject<M>[]): ArrayQueryBuilder<this>;
insertAndFetch(): SingleQueryBuilder<this>;
relate(
ids: MaybeCompositeId | MaybeCompositeId[] | PartialModelObject<M> | PartialModelObject<M>[]
): NumberQueryBuilder<this>;
unrelate(): NumberQueryBuilder<this>;
for(ids: ForIdValue | ForIdValue[]): this;
withGraphFetched(expr: RelationExpression<M>, options?: GraphOptions): this;
withGraphJoined(expr: RelationExpression<M>, options?: GraphOptions): this;
truncate(): Promise<void>;

@@ -1125,3 +1032,2 @@

tableRefFor: TableRefForMethod;
toKnexQuery: ToKnexQueryMethod<this>;
reject: OneArgMethod<any, this>;

@@ -1132,19 +1038,28 @@ resolve: OneArgMethod<any, this>;

timeout: TimeoutMethod<this>;
clone: IdentityMethod<this>;
columnInfo: ColumnInfoMethod<this>;
toKnexQuery<T = ModelObject<M>>(): Knex.QueryBuilder<T, T[]>;
clone(): this;
// Deprecated
pluck: OneArgMethod<string, this>;
pluck(property: string): this;
// Deprecated
pick: PickMethod<this>;
pick(modelClass: typeof Model, properties: string[]): this;
// Deprecated
omit: OmitMethod<this>;
pick(properties: string[]): this;
// Deprecated
traverse: TraverseMethod<this>;
omit(modelClass: typeof Model, properties: string[]): this;
// Deprecated
omit(properties: string[]): this;
// Deprecated
traverse(filterConstructor: typeof Model, traverser: TraverserFunction): R;
// Deprecated
traverse(traverser: TraverserFunction): R;
page: PageMethod<this>;
range: RangeMethod<this>;
offset: OffsetMethod<this>;
limit: LimitMethod<this>;
resultSize: ResultSizeMethod;
page(page: number, pageSize: number): PageQueryBuilder<this>;
range(): PageQueryBuilder<this>;
range(start: number, end: number): PageQueryBuilder<this>;
offset(offset: number): this;
limit(limit: number): this;
resultSize(): Promise<number>;

@@ -1158,9 +1073,9 @@ runBefore: RunBeforeMethod<this>;

insertGraph: InsertGraphMethod;
insertGraphAndFetch: InsertGraphMethod;
insertWithRelated: InsertGraphMethod;
insertWithRelatedAndFetch: InsertGraphMethod;
insertGraph: InsertGraphMethod<M>;
insertGraphAndFetch: InsertGraphMethod<M>;
insertWithRelated: InsertGraphMethod<M>;
insertWithRelatedAndFetch: InsertGraphMethod<M>;
upsertGraph: UpsertGraphMethod;
upsertGraphAndFetch: UpsertGraphMethod;
upsertGraph: UpsertGraphMethod<M>;
upsertGraphAndFetch: UpsertGraphMethod<M>;

@@ -1219,12 +1134,2 @@ graphExpressionObject: GraphExpressionObjectMethod<this>;

interface StaticQueryMethod {
<M extends Model>(this: ModelClass<M>, trxOrKnex?: TransactionOrKnex): QueryBuilderType<M>;
}
interface QueryMethod {
<M extends Model>(this: M, trxOrKnex?: TransactionOrKnex): SingleQueryBuilder<
QueryBuilderType<M>
>;
}
type RelatedQueryBuilder<T> = T extends Model

@@ -1246,18 +1151,2 @@ ? SingleQueryBuilder<QueryBuilderType<T>>

interface RelatedQueryMethod<M extends Model> {
<K extends keyof M>(relationName: K, trxOrKnex?: TransactionOrKnex): RelatedQueryBuilder<M[K]>;
<RM extends Model>(relationName: string, trxOrKnex?: TransactionOrKnex): QueryBuilderType<RM>;
}
interface StaticRelatedQueryMethod {
<M extends Model, K extends keyof M>(
this: ModelClass<M>,
relationName: K,
trxOrKnex?: TransactionOrKnex
): ArrayRelatedQueryBuilder<M[K]>;
<RM extends Model>(relationName: string, trxOrKnex?: TransactionOrKnex): QueryBuilderType<RM>;
}
// Deprecated

@@ -1282,37 +1171,2 @@ interface LoadRelatedMethod<M extends Model> {

// Deprecated
interface StaticLoadRelatedMethod {
<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>,
expression: RelationExpression<M>,
modifiers?: Modifiers<QueryBuilderType<M>>,
trxOrKnex?: TransactionOrKnex
): SingleQueryBuilder<QueryBuilderType<M>>;
<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>[],
expression: RelationExpression<M>,
modifiers?: Modifiers<QueryBuilderType<M>>,
trxOrKnex?: TransactionOrKnex
): QueryBuilderType<M>;
}
interface StaticFetchGraphMethod {
<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>,
expression: RelationExpression<M>,
options?: FetchGraphOptions
): SingleQueryBuilder<QueryBuilderType<M>>;
<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>[],
expression: RelationExpression<M>,
options?: FetchGraphOptions
): QueryBuilderType<M>;
}
interface TraverserFunction {

@@ -1322,12 +1176,2 @@ (model: Model, parentModel: Model, relationName: string): void;

interface StaticTraverseMethod {
(filterConstructor: typeof Model, models: Model | Model[], traverser: TraverserFunction): void;
(models: Model | Model[], traverser: TraverserFunction): void;
}
interface TraverseMethod<R> {
(filterConstructor: typeof Model, traverser: TraverserFunction): R;
(traverser: TraverserFunction): R;
}
interface IdMethod {

@@ -1353,6 +1197,2 @@ (id: any): void;

export interface StaticModelHook {
(args: StaticHookArguments<any>): any;
}
export type Transaction = knex.Transaction;

@@ -1548,7 +1388,2 @@ export type TransactionOrKnex = Transaction | knex;

interface TransactionMethod {
<T>(callback: (trx: Transaction) => Promise<T>): Promise<T>;
<T>(trxOrKnex: TransactionOrKnex, callback: (trx: Transaction) => Promise<T>): Promise<T>;
}
interface BindKnexMethod {

@@ -1558,10 +1393,2 @@ <M>(this: M, trxOrKnex: TransactionOrKnex): M;

interface FromJsonMethod {
<M extends Model>(this: ModelClass<M>, json: object, opt?: ModelOptions): M;
}
interface FromDatabaseJsonMethod {
<M extends Model>(this: ModelClass<M>, json: object): M;
}
export interface Constructor<T> {

@@ -1577,2 +1404,3 @@ new (): T;

static jsonSchema: JSONSchema;
static relationMappings: RelationMappings | RelationMappingsThunk;
static modelPaths: string[];

@@ -1589,2 +1417,3 @@ static jsonAttributes: string[];

static modifiers: Modifiers;
static columnNameMappers: ColumnNameMappers;

@@ -1616,10 +1445,21 @@ static QueryBuilder: typeof QueryBuilder;

static query: StaticQueryMethod;
static relatedQuery: StaticRelatedQueryMethod;
static columnNameMappers: ColumnNameMappers;
static relationMappings: RelationMappings | RelationMappingsThunk;
static query<M extends Model>(
this: ModelClass<M>,
trxOrKnex?: TransactionOrKnex
): QueryBuilderType<M>;
static fromJson: FromJsonMethod;
static fromDatabaseJson: FromDatabaseJsonMethod;
static relatedQuery<M extends Model, K extends keyof M>(
this: ModelClass<M>,
relationName: K,
trxOrKnex?: TransactionOrKnex
): ArrayRelatedQueryBuilder<M[K]>;
static relatedQuery<RM extends Model>(
relationName: string,
trxOrKnex?: TransactionOrKnex
): QueryBuilderType<RM>;
static fromJson<M extends Model>(this: ModelClass<M>, json: object, opt?: ModelOptions): M;
static fromDatabaseJson<M extends Model>(this: ModelClass<M>, json: object): M;
static createValidator(): Validator;

@@ -1635,4 +1475,9 @@ static createValidationError(args: CreateValidationErrorArgs): Error;

static startTransaction(knexOrTransaction?: TransactionOrKnex): Transaction;
static transaction: TransactionMethod;
static transaction<T>(callback: (trx: Transaction) => Promise<T>): Promise<T>;
static transaction<T>(
trxOrKnex: TransactionOrKnex,
callback: (trx: Transaction) => Promise<T>
): Promise<T>;
static bindKnex: BindKnexMethod;

@@ -1642,21 +1487,64 @@ static bindTransaction: BindKnexMethod;

// Deprecated
static loadRelated: StaticLoadRelatedMethod;
static fetchGraph: StaticFetchGraphMethod;
static loadRelated<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>,
expression: RelationExpression<M>,
modifiers?: Modifiers<QueryBuilderType<M>>,
trxOrKnex?: TransactionOrKnex
): SingleQueryBuilder<QueryBuilderType<M>>;
// Deprecated
static loadRelated<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>[],
expression: RelationExpression<M>,
modifiers?: Modifiers<QueryBuilderType<M>>,
trxOrKnex?: TransactionOrKnex
): QueryBuilderType<M>;
static fetchGraph<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>,
expression: RelationExpression<M>,
options?: FetchGraphOptions
): SingleQueryBuilder<QueryBuilderType<M>>;
static fetchGraph<M extends Model>(
this: ModelClass<M>,
modelOrObject: PartialModelObject<M>[],
expression: RelationExpression<M>,
options?: FetchGraphOptions
): QueryBuilderType<M>;
static getRelations(): Relations;
static getRelation(name: string): Relation;
static traverse: StaticTraverseMethod;
static traverse(models: Model | Model[], traverser: TraverserFunction): void;
static traverse(
filterConstructor: typeof Model,
models: Model | Model[],
traverser: TraverserFunction
): void;
static beforeFind: StaticModelHook;
static afterFind: StaticModelHook;
static beforeInsert: StaticModelHook;
static afterInsert: StaticModelHook;
static beforeUpdate: StaticModelHook;
static afterUpdate: StaticModelHook;
static beforeDelete: StaticModelHook;
static afterDelete: StaticModelHook;
static beforeFind(args: StaticHookArguments<any>): any;
static afterFind(args: StaticHookArguments<any>): any;
static beforeInsert(args: StaticHookArguments<any>): any;
static afterInsert(args: StaticHookArguments<any>): any;
static beforeUpdate(args: StaticHookArguments<any>): any;
static afterUpdate(args: StaticHookArguments<any>): any;
static beforeDelete(args: StaticHookArguments<any>): any;
static afterDelete(args: StaticHookArguments<any>): any;
$query: QueryMethod;
$relatedQuery: RelatedQueryMethod<this>;
$relatedQuery<K extends keyof this>(
relationName: K,
trxOrKnex?: TransactionOrKnex
): RelatedQueryBuilder<this[K]>;
$relatedQuery<RM extends Model>(
relationName: string,
trxOrKnex?: TransactionOrKnex
): QueryBuilderType<RM>;
$query(trxOrKnex?: TransactionOrKnex): SingleQueryBuilder<QueryBuilderType<this>>;
$id: IdMethod;

@@ -1706,3 +1594,4 @@ // Deprecated

$clone(opt?: CloneOptions): this;
$traverse: TraverseMethod<void>;
$traverse(filterConstructor: typeof Model, traverser: TraverserFunction): this;
$traverse(traverser: TraverserFunction): this;

@@ -1709,0 +1598,0 @@ $knex(): knex;

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