kroxt 1.3.9 → 1.3.11
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.
- package/README.md +270 -231
- package/dist/auth/adapters/drizzle.cjs +5 -0
- package/dist/auth/adapters/drizzle.cjs.map +2 -2
- package/dist/auth/adapters/drizzle.d.ts.map +1 -1
- package/dist/auth/adapters/drizzle.js +5 -0
- package/dist/auth/adapters/drizzle.js.map +2 -2
- package/dist/auth/adapters/index.cjs.map +1 -1
- package/dist/auth/adapters/index.d.ts +2 -0
- package/dist/auth/adapters/index.d.ts.map +1 -1
- package/dist/auth/adapters/memory.cjs +9 -0
- package/dist/auth/adapters/memory.cjs.map +2 -2
- package/dist/auth/adapters/memory.d.ts.map +1 -1
- package/dist/auth/adapters/memory.js +9 -0
- package/dist/auth/adapters/memory.js.map +2 -2
- package/dist/auth/adapters/mongoose.cjs +5 -0
- package/dist/auth/adapters/mongoose.cjs.map +2 -2
- package/dist/auth/adapters/mongoose.d.ts.map +1 -1
- package/dist/auth/adapters/mongoose.js +5 -0
- package/dist/auth/adapters/mongoose.js.map +2 -2
- package/dist/auth/adapters/prisma.cjs +8 -0
- package/dist/auth/adapters/prisma.cjs.map +2 -2
- package/dist/auth/adapters/prisma.d.ts.map +1 -1
- package/dist/auth/adapters/prisma.js +8 -0
- package/dist/auth/adapters/prisma.js.map +2 -2
- package/dist/auth/core/index.cjs +32 -5
- package/dist/auth/core/index.cjs.map +2 -2
- package/dist/auth/core/index.d.ts +3 -0
- package/dist/auth/core/index.d.ts.map +1 -1
- package/dist/auth/core/index.js +32 -5
- package/dist/auth/core/index.js.map +2 -2
- package/dist/cli/index.cjs +49 -18
- package/dist/cli/index.cjs.map +3 -3
- package/dist/cli/index.js +49 -18
- package/dist/cli/index.js.map +2 -2
- package/dist/cli/templates.cjs +5 -1
- package/dist/cli/templates.cjs.map +2 -2
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +5 -1
- package/dist/cli/templates.js.map +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +108 -108
package/dist/cli/templates.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const authTemplate: (adapter: string, secret: string, options: any) => string;
|
|
2
|
-
export declare const userModelTemplate: (adapter: string) => "" | "import mongoose, { Schema, Document } from \"mongoose\";\n\nexport interface IUser extends Document {\n email: string;\n passwordHash?: string;\n role?: string;\n createdAt: Date;\n updatedAt: Date;\n}\n\nconst UserSchema: Schema = new Schema(\n {\n email: { type: String, required: true, unique: true },\n passwordHash: { type: String },\n role: { type: String, default: \"user\" },\n },\n { timestamps: true }\n);\n\nexport const User = mongoose.models.User || mongoose.model<IUser>(\"User\", UserSchema);\n" | "import { pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\n\nexport const users = pgTable(\"users\", {\n id: text(\"id\").primaryKey(),\n email: text(\"email\").unique().notNull(),\n passwordHash: text(\"password_hash\"),\n role: text(\"role\").default(\"user\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\").defaultNow().notNull(),\n});\n" | "// Add this to your schema.prisma file:\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n passwordHash String?\n role String @default(\"user\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n";
|
|
2
|
+
export declare const userModelTemplate: (adapter: string) => "" | "import mongoose, { Schema, Document } from \"mongoose\";\n\nexport interface IUser extends Document {\n email: string;\n passwordHash?: string;\n role?: string;\n sessionVersion: number;\n createdAt: Date;\n updatedAt: Date;\n}\n\nconst UserSchema: Schema = new Schema(\n {\n email: { type: String, required: true, unique: true },\n passwordHash: { type: String },\n role: { type: String, default: \"user\" },\n sessionVersion: { type: Number, default: 0 },\n },\n { timestamps: true }\n);\n\nexport const User = mongoose.models.User || mongoose.model<IUser>(\"User\", UserSchema);\n" | "import { pgTable, text, timestamp, integer } from \"drizzle-orm/pg-core\";\n\nexport const users = pgTable(\"users\", {\n id: text(\"id\").primaryKey(),\n email: text(\"email\").unique().notNull(),\n passwordHash: text(\"password_hash\"),\n role: text(\"role\").default(\"user\"),\n sessionVersion: integer(\"session_version\").default(0).notNull(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\").defaultNow().notNull(),\n});\n" | "// Add this to your schema.prisma file:\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n passwordHash String?\n role String @default(\"user\")\n sessionVersion Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n";
|
|
3
3
|
export declare const envTemplate: (secret: string, usePepper: boolean) => string;
|
|
4
4
|
export declare const tsConfigTemplate = "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"esModuleInterop\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true,\n \"types\": [\"node\"]\n },\n \"include\": [\"src/**/*\"],\n \"exclude\": [\"node_modules\"]\n}\n";
|
|
5
5
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,GAAG,WA+CzE,CAAC;AAiCF,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,GAAG,WA+CzE,CAAC;AAiCF,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,06CAuDhD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,WAAW,OAAO,WAI7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,gXAc5B,CAAC"}
|
package/dist/cli/templates.js
CHANGED
|
@@ -93,6 +93,7 @@ export interface IUser extends Document {
|
|
|
93
93
|
email: string;
|
|
94
94
|
passwordHash?: string;
|
|
95
95
|
role?: string;
|
|
96
|
+
sessionVersion: number;
|
|
96
97
|
createdAt: Date;
|
|
97
98
|
updatedAt: Date;
|
|
98
99
|
}
|
|
@@ -102,6 +103,7 @@ const UserSchema: Schema = new Schema(
|
|
|
102
103
|
email: { type: String, required: true, unique: true },
|
|
103
104
|
passwordHash: { type: String },
|
|
104
105
|
role: { type: String, default: "user" },
|
|
106
|
+
sessionVersion: { type: Number, default: 0 },
|
|
105
107
|
},
|
|
106
108
|
{ timestamps: true }
|
|
107
109
|
);
|
|
@@ -109,13 +111,14 @@ const UserSchema: Schema = new Schema(
|
|
|
109
111
|
export const User = mongoose.models.User || mongoose.model<IUser>("User", UserSchema);
|
|
110
112
|
`;
|
|
111
113
|
case "drizzle":
|
|
112
|
-
return `import { pgTable, text, timestamp } from "drizzle-orm/pg-core";
|
|
114
|
+
return `import { pgTable, text, timestamp, integer } from "drizzle-orm/pg-core";
|
|
113
115
|
|
|
114
116
|
export const users = pgTable("users", {
|
|
115
117
|
id: text("id").primaryKey(),
|
|
116
118
|
email: text("email").unique().notNull(),
|
|
117
119
|
passwordHash: text("password_hash"),
|
|
118
120
|
role: text("role").default("user"),
|
|
121
|
+
sessionVersion: integer("session_version").default(0).notNull(),
|
|
119
122
|
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
120
123
|
updatedAt: timestamp("updated_at").defaultNow().notNull(),
|
|
121
124
|
});
|
|
@@ -128,6 +131,7 @@ model User {
|
|
|
128
131
|
email String @unique
|
|
129
132
|
passwordHash String?
|
|
130
133
|
role String @default("user")
|
|
134
|
+
sessionVersion Int @default(0)
|
|
131
135
|
createdAt DateTime @default(now())
|
|
132
136
|
updatedAt DateTime @updatedAt
|
|
133
137
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cli/templates.ts"],
|
|
4
|
-
"sourcesContent": ["import crypto from 'crypto';\n\nexport const authTemplate = (adapter: string, secret: string, options: any) => `import { createAuth } from \"kroxt\";\n${getAdapterImportBlock(adapter)}\nimport dotenv from \"dotenv\";\n\ndotenv.config();\n\n${getAdapterInitialization(adapter, options)}\n\nexport const auth = createAuth({\n adapter: authAdapter,\n secret: process.env.JWT_SECRET || \"${secret}\",\n ${options.usePepper ? 'pepper: process.env.JWT_PEPPER || \"\",' : ''}\n \n // Global Security Configurations\n session: {\n expires: \"15m\",\n refreshExpires: \"7d\",\n enforceStrictRevocation: ${options.useStrictRevocation ? 'true' : 'false'}\n },\n \n // Custom JWT Payload logic\n jwt: {\n payload: (user: any, type: \"access\" | \"refresh\") => {\n if (type === \"access\") {\n return {\n role: user.role,\n // schoolId: user.schoolId \n };\n }\n return {};\n }\n },\n\n ${options.useRateLimit ? `rateLimit: {\n max: 100, // Requests per minute\n windowMs: 60 * 1000\n },` : ''}\n ${options.useIPBlocking ? `ipBlocking: {\n maxStrikes: 5,\n blockDurationMs: 15 * 60 * 1000\n },` : ''}\n passwordPolicy: {\n minLength: 6,\n requireUppercase: true,\n requireSpecialCharacter: true\n }\n});\n`;\n\nfunction getAdapterImportBlock(adapter: string) {\n switch (adapter) {\n case 'mongoose':\n return `import { createMongoAdapter, createRateLimitModel } from \"kroxt/adapters/mongoose\";\\nimport mongoose from \"mongoose\";`;\n case 'prisma':\n return `import { createPrismaAdapter } from \"kroxt/adapters/prisma\";`;\n case 'drizzle':\n return `import { createDrizzleAdapter } from \"kroxt/adapters/drizzle\";\\nimport { eq } from \"drizzle-orm\";`;\n case 'memory':\n return `import { createMemoryAdapter } from \"kroxt/adapters/memory\";`;\n default:\n return '';\n }\n}\n\nfunction getAdapterInitialization(adapter: string, options: any) {\n const modelImported = options.createModel;\n switch (adapter) {\n case 'mongoose':\n return `${modelImported ? 'import { User } from \"./user.model.js\";' : '// import { User } from \"./user.model.js\";'}\\n\\n// The rate limit model is optional but recommended\\nconst authAdapter = createMongoAdapter(User, createRateLimitModel(mongoose));`;\n case 'prisma':\n return `// import { prisma } from \"./lib/prisma\";\\nconst authAdapter = createPrismaAdapter(prisma.user);`;\n case 'drizzle':\n return `${modelImported ? 'import { db } from \"./index.js\";\\nimport { users } from \"./schema.js\";' : '// import { db } from \"./index\";\\n// import { users } from \"./schema\";'}\\n\\nconst authAdapter = createDrizzleAdapter(db, users, eq);`;\n case 'memory':\n return `const authAdapter = createMemoryAdapter();`;\n default:\n return `// const authAdapter = ...;`;\n }\n}\n\nexport const userModelTemplate = (adapter: string) => {\n switch (adapter) {\n case 'mongoose':\n return `import mongoose, { Schema, Document } from \"mongoose\";\n\nexport interface IUser extends Document {\n email: string;\n passwordHash?: string;\n role?: string;\n createdAt: Date;\n updatedAt: Date;\n}\n\nconst UserSchema: Schema = new Schema(\n {\n email: { type: String, required: true, unique: true },\n passwordHash: { type: String },\n role: { type: String, default: \"user\" },\n },\n { timestamps: true }\n);\n\nexport const User = mongoose.models.User || mongoose.model<IUser>(\"User\", UserSchema);\n`;\n case 'drizzle':\n return `import { pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\n\nexport const users = pgTable(\"users\", {\n id: text(\"id\").primaryKey(),\n email: text(\"email\").unique().notNull(),\n passwordHash: text(\"password_hash\"),\n role: text(\"role\").default(\"user\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\").defaultNow().notNull(),\n});\n`;\n case 'prisma':\n return `// Add this to your schema.prisma file:\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n passwordHash String?\n role String @default(\"user\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n`;\n default:\n return '';\n }\n};\n\nexport const envTemplate = (secret: string, usePepper: boolean) => `\n# Kroxt Auth Secrets\nJWT_SECRET=\"${secret}\"\n${usePepper ? `JWT_PEPPER=\"${crypto.randomBytes(16).toString('hex')}\"` : ''}\n`;\n\nexport const tsConfigTemplate = `{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"esModuleInterop\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true,\n \"types\": [\"node\"]\n },\n \"include\": [\"src/**/*\"],\n \"exclude\": [\"node_modules\"]\n}\n`;\n"],
|
|
5
|
-
"mappings": "AAAA,OAAO,YAAY;AAEZ,MAAM,eAAe,CAAC,SAAiB,QAAgB,YAAiB;AAAA,EAC7E,sBAAsB,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9B,yBAAyB,SAAS,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,uCAIL,MAAM;AAAA,IACzC,QAAQ,YAAY,0CAA0C,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAMrC,QAAQ,sBAAsB,SAAS,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBzE,QAAQ,eAAe;AAAA;AAAA;AAAA,QAGnB,EAAE;AAAA,IACN,QAAQ,gBAAgB;AAAA;AAAA;AAAA,QAGpB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASV,SAAS,sBAAsB,SAAiB;AAC9C,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,SAAS,yBAAyB,SAAiB,SAAc;AAC/D,QAAM,gBAAgB,QAAQ;AAC9B,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,GAAG,gBAAgB,4CAA4C,4CAA4C;AAAA;AAAA;AAAA;AAAA,IACpH,KAAK;AACH,aAAO;AAAA;AAAA,IACT,KAAK;AACH,aAAO,GAAG,gBAAgB,2EAA2E,wEAAwE;AAAA;AAAA;AAAA,IAC/K,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,MAAM,oBAAoB,CAAC,YAAoB;AACpD,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import crypto from 'crypto';\r\n\r\nexport const authTemplate = (adapter: string, secret: string, options: any) => `import { createAuth } from \"kroxt\";\r\n${getAdapterImportBlock(adapter)}\r\nimport dotenv from \"dotenv\";\r\n\r\ndotenv.config();\r\n\r\n${getAdapterInitialization(adapter, options)}\r\n\r\nexport const auth = createAuth({\r\n adapter: authAdapter,\r\n secret: process.env.JWT_SECRET || \"${secret}\",\r\n ${options.usePepper ? 'pepper: process.env.JWT_PEPPER || \"\",' : ''}\r\n \r\n // Global Security Configurations\r\n session: {\r\n expires: \"15m\",\r\n refreshExpires: \"7d\",\r\n enforceStrictRevocation: ${options.useStrictRevocation ? 'true' : 'false'}\r\n },\r\n \r\n // Custom JWT Payload logic\r\n jwt: {\r\n payload: (user: any, type: \"access\" | \"refresh\") => {\r\n if (type === \"access\") {\r\n return {\r\n role: user.role,\r\n // schoolId: user.schoolId \r\n };\r\n }\r\n return {};\r\n }\r\n },\r\n\r\n ${options.useRateLimit ? `rateLimit: {\r\n max: 100, // Requests per minute\r\n windowMs: 60 * 1000\r\n },` : ''}\r\n ${options.useIPBlocking ? `ipBlocking: {\r\n maxStrikes: 5,\r\n blockDurationMs: 15 * 60 * 1000\r\n },` : ''}\r\n passwordPolicy: {\r\n minLength: 6,\r\n requireUppercase: true,\r\n requireSpecialCharacter: true\r\n }\r\n});\r\n`;\r\n\r\nfunction getAdapterImportBlock(adapter: string) {\r\n switch (adapter) {\r\n case 'mongoose':\r\n return `import { createMongoAdapter, createRateLimitModel } from \"kroxt/adapters/mongoose\";\\nimport mongoose from \"mongoose\";`;\r\n case 'prisma':\r\n return `import { createPrismaAdapter } from \"kroxt/adapters/prisma\";`;\r\n case 'drizzle':\r\n return `import { createDrizzleAdapter } from \"kroxt/adapters/drizzle\";\\nimport { eq } from \"drizzle-orm\";`;\r\n case 'memory':\r\n return `import { createMemoryAdapter } from \"kroxt/adapters/memory\";`;\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nfunction getAdapterInitialization(adapter: string, options: any) {\r\n const modelImported = options.createModel;\r\n switch (adapter) {\r\n case 'mongoose':\r\n return `${modelImported ? 'import { User } from \"./user.model.js\";' : '// import { User } from \"./user.model.js\";'}\\n\\n// The rate limit model is optional but recommended\\nconst authAdapter = createMongoAdapter(User, createRateLimitModel(mongoose));`;\r\n case 'prisma':\r\n return `// import { prisma } from \"./lib/prisma\";\\nconst authAdapter = createPrismaAdapter(prisma.user);`;\r\n case 'drizzle':\r\n return `${modelImported ? 'import { db } from \"./index.js\";\\nimport { users } from \"./schema.js\";' : '// import { db } from \"./index\";\\n// import { users } from \"./schema\";'}\\n\\nconst authAdapter = createDrizzleAdapter(db, users, eq);`;\r\n case 'memory':\r\n return `const authAdapter = createMemoryAdapter();`;\r\n default:\r\n return `// const authAdapter = ...;`;\r\n }\r\n}\r\n\r\nexport const userModelTemplate = (adapter: string) => {\r\n switch (adapter) {\r\n case 'mongoose':\r\n return `import mongoose, { Schema, Document } from \"mongoose\";\r\n\r\nexport interface IUser extends Document {\r\n email: string;\r\n passwordHash?: string;\r\n role?: string;\r\n sessionVersion: number;\r\n createdAt: Date;\r\n updatedAt: Date;\r\n}\r\n\r\nconst UserSchema: Schema = new Schema(\r\n {\r\n email: { type: String, required: true, unique: true },\r\n passwordHash: { type: String },\r\n role: { type: String, default: \"user\" },\r\n sessionVersion: { type: Number, default: 0 },\r\n },\r\n { timestamps: true }\r\n);\r\n\r\nexport const User = mongoose.models.User || mongoose.model<IUser>(\"User\", UserSchema);\r\n`;\r\n case 'drizzle':\r\n return `import { pgTable, text, timestamp, integer } from \"drizzle-orm/pg-core\";\r\n\r\nexport const users = pgTable(\"users\", {\r\n id: text(\"id\").primaryKey(),\r\n email: text(\"email\").unique().notNull(),\r\n passwordHash: text(\"password_hash\"),\r\n role: text(\"role\").default(\"user\"),\r\n sessionVersion: integer(\"session_version\").default(0).notNull(),\r\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\r\n updatedAt: timestamp(\"updated_at\").defaultNow().notNull(),\r\n});\r\n`;\r\n case 'prisma':\r\n return `// Add this to your schema.prisma file:\r\n\r\nmodel User {\r\n id String @id @default(cuid())\r\n email String @unique\r\n passwordHash String?\r\n role String @default(\"user\")\r\n sessionVersion Int @default(0)\r\n createdAt DateTime @default(now())\r\n updatedAt DateTime @updatedAt\r\n}\r\n`;\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nexport const envTemplate = (secret: string, usePepper: boolean) => `\r\n# Kroxt Auth Secrets\r\nJWT_SECRET=\"${secret}\"\r\n${usePepper ? `JWT_PEPPER=\"${crypto.randomBytes(16).toString('hex')}\"` : ''}\r\n`;\r\n\r\nexport const tsConfigTemplate = `{\r\n \"compilerOptions\": {\r\n \"target\": \"ESNext\",\r\n \"module\": \"ESNext\",\r\n \"moduleResolution\": \"bundler\",\r\n \"esModuleInterop\": true,\r\n \"forceConsistentCasingInFileNames\": true,\r\n \"strict\": true,\r\n \"skipLibCheck\": true,\r\n \"types\": [\"node\"]\r\n },\r\n \"include\": [\"src/**/*\"],\r\n \"exclude\": [\"node_modules\"]\r\n}\r\n`;\r\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,YAAY;AAEZ,MAAM,eAAe,CAAC,SAAiB,QAAgB,YAAiB;AAAA,EAC7E,sBAAsB,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9B,yBAAyB,SAAS,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,uCAIL,MAAM;AAAA,IACzC,QAAQ,YAAY,0CAA0C,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAMrC,QAAQ,sBAAsB,SAAS,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBzE,QAAQ,eAAe;AAAA;AAAA;AAAA,QAGnB,EAAE;AAAA,IACN,QAAQ,gBAAgB;AAAA;AAAA;AAAA,QAGpB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASV,SAAS,sBAAsB,SAAiB;AAC9C,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,SAAS,yBAAyB,SAAiB,SAAc;AAC/D,QAAM,gBAAgB,QAAQ;AAC9B,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,GAAG,gBAAgB,4CAA4C,4CAA4C;AAAA;AAAA;AAAA;AAAA,IACpH,KAAK;AACH,aAAO;AAAA;AAAA,IACT,KAAK;AACH,aAAO,GAAG,gBAAgB,2EAA2E,wEAAwE;AAAA;AAAA;AAAA,IAC/K,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,MAAM,oBAAoB,CAAC,YAAoB;AACpD,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuBT,KAAK;AACH,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYT,KAAK;AACH,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYT;AACE,aAAO;AAAA,EACX;AACF;AAEO,MAAM,cAAc,CAAC,QAAgB,cAAuB;AAAA;AAAA,cAErD,MAAM;AAAA,EAClB,YAAY,eAAe,OAAO,YAAY,EAAE,EAAE,SAAS,KAAK,CAAC,MAAM,EAAE;AAAA;AAGpE,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/index.cjs.map
CHANGED
package/dist/index.js.map
CHANGED
package/package.json
CHANGED
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "kroxt",
|
|
3
|
-
"version": "1.3.
|
|
4
|
-
"bin": {
|
|
5
|
-
"kroxt": "dist/cli/index.js"
|
|
6
|
-
},
|
|
7
|
-
"homepage": "https://kroxt.vercel.app",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/
|
|
11
|
-
},
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/
|
|
14
|
-
},
|
|
15
|
-
"author": "Adepoju Oluwatobi <https://github.com/adepoju-oluwatobi>",
|
|
16
|
-
"keywords": [
|
|
17
|
-
"auth",
|
|
18
|
-
"authentication",
|
|
19
|
-
"headless-auth",
|
|
20
|
-
"typescript",
|
|
21
|
-
"security",
|
|
22
|
-
"session-management",
|
|
23
|
-
"token-rotation",
|
|
24
|
-
"argon2",
|
|
25
|
-
"zod",
|
|
26
|
-
"framework-agnostic",
|
|
27
|
-
"nextjs",
|
|
28
|
-
"hono",
|
|
29
|
-
"express",
|
|
30
|
-
"prisma-adapter",
|
|
31
|
-
"drizzle-adapter",
|
|
32
|
-
"mongoose-adapter"
|
|
33
|
-
],
|
|
34
|
-
"license": "MIT",
|
|
35
|
-
"description": "A framework-agnostic modular auth engine",
|
|
36
|
-
"type": "module",
|
|
37
|
-
"main": "./dist/index.cjs",
|
|
38
|
-
"module": "./dist/index.js",
|
|
39
|
-
"types": "./dist/index.d.ts",
|
|
40
|
-
"exports": {
|
|
41
|
-
".": {
|
|
42
|
-
"types": "./dist/index.d.ts",
|
|
43
|
-
"import": "./dist/index.js",
|
|
44
|
-
"require": "./dist/index.cjs"
|
|
45
|
-
},
|
|
46
|
-
"./adapter": {
|
|
47
|
-
"types": "./dist/auth/adapters/index.d.ts",
|
|
48
|
-
"import": "./dist/auth/adapters/index.js",
|
|
49
|
-
"require": "./dist/auth/adapters/index.cjs"
|
|
50
|
-
},
|
|
51
|
-
"./core": {
|
|
52
|
-
"types": "./dist/auth/core/index.d.ts",
|
|
53
|
-
"import": "./dist/auth/core/index.js",
|
|
54
|
-
"require": "./dist/auth/core/index.cjs"
|
|
55
|
-
},
|
|
56
|
-
"./providers": {
|
|
57
|
-
"types": "./dist/auth/providers/index.d.ts",
|
|
58
|
-
"import": "./dist/auth/providers/index.js",
|
|
59
|
-
"require": "./dist/auth/providers/index.cjs"
|
|
60
|
-
},
|
|
61
|
-
"./adapters/memory": {
|
|
62
|
-
"types": "./dist/auth/adapters/memory.d.ts",
|
|
63
|
-
"import": "./dist/auth/adapters/memory.js",
|
|
64
|
-
"require": "./dist/auth/adapters/memory.cjs"
|
|
65
|
-
},
|
|
66
|
-
"./adapters/mongoose": {
|
|
67
|
-
"types": "./dist/auth/adapters/mongoose.d.ts",
|
|
68
|
-
"import": "./dist/auth/adapters/mongoose.js",
|
|
69
|
-
"require": "./dist/auth/adapters/mongoose.cjs"
|
|
70
|
-
},
|
|
71
|
-
"./adapters/drizzle": {
|
|
72
|
-
"types": "./dist/auth/adapters/drizzle.d.ts",
|
|
73
|
-
"import": "./dist/auth/adapters/drizzle.js",
|
|
74
|
-
"require": "./dist/auth/adapters/drizzle.cjs"
|
|
75
|
-
},
|
|
76
|
-
"./adapters/prisma": {
|
|
77
|
-
"types": "./dist/auth/adapters/prisma.d.ts",
|
|
78
|
-
"import": "./dist/auth/adapters/prisma.js",
|
|
79
|
-
"require": "./dist/auth/adapters/prisma.cjs"
|
|
80
|
-
},
|
|
81
|
-
"./security": {
|
|
82
|
-
"types": "./dist/auth/security/index.d.ts",
|
|
83
|
-
"import": "./dist/auth/security/index.js",
|
|
84
|
-
"require": "./dist/auth/security/index.cjs"
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
"files": [
|
|
88
|
-
"dist"
|
|
89
|
-
],
|
|
90
|
-
"scripts": {
|
|
91
|
-
"build": "node build.js"
|
|
92
|
-
},
|
|
93
|
-
"dependencies": {
|
|
94
|
-
"arctic": "^3.7.0",
|
|
95
|
-
"argon2": "^0.44.0",
|
|
96
|
-
"chalk": "^5.6.2",
|
|
97
|
-
"commander": "^14.0.3",
|
|
98
|
-
"enquirer": "^2.4.1",
|
|
99
|
-
"jose": "^6.2.1",
|
|
100
|
-
"zod": "^3.23.8"
|
|
101
|
-
},
|
|
102
|
-
"devDependencies": {
|
|
103
|
-
"@types/node": "^25.5.0",
|
|
104
|
-
"esbuild": "^0.27.4",
|
|
105
|
-
"tsup": "^8.5.1",
|
|
106
|
-
"typescript": "^5.9.3"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "kroxt",
|
|
3
|
+
"version": "1.3.11",
|
|
4
|
+
"bin": {
|
|
5
|
+
"kroxt": "dist/cli/index.js"
|
|
6
|
+
},
|
|
7
|
+
"homepage": "https://kroxt.vercel.app",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/kroxt/kroxt.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/kroxt/kroxt/issues"
|
|
14
|
+
},
|
|
15
|
+
"author": "Adepoju Oluwatobi <https://github.com/adepoju-oluwatobi>",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"auth",
|
|
18
|
+
"authentication",
|
|
19
|
+
"headless-auth",
|
|
20
|
+
"typescript",
|
|
21
|
+
"security",
|
|
22
|
+
"session-management",
|
|
23
|
+
"token-rotation",
|
|
24
|
+
"argon2",
|
|
25
|
+
"zod",
|
|
26
|
+
"framework-agnostic",
|
|
27
|
+
"nextjs",
|
|
28
|
+
"hono",
|
|
29
|
+
"express",
|
|
30
|
+
"prisma-adapter",
|
|
31
|
+
"drizzle-adapter",
|
|
32
|
+
"mongoose-adapter"
|
|
33
|
+
],
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"description": "A framework-agnostic modular auth engine",
|
|
36
|
+
"type": "module",
|
|
37
|
+
"main": "./dist/index.cjs",
|
|
38
|
+
"module": "./dist/index.js",
|
|
39
|
+
"types": "./dist/index.d.ts",
|
|
40
|
+
"exports": {
|
|
41
|
+
".": {
|
|
42
|
+
"types": "./dist/index.d.ts",
|
|
43
|
+
"import": "./dist/index.js",
|
|
44
|
+
"require": "./dist/index.cjs"
|
|
45
|
+
},
|
|
46
|
+
"./adapter": {
|
|
47
|
+
"types": "./dist/auth/adapters/index.d.ts",
|
|
48
|
+
"import": "./dist/auth/adapters/index.js",
|
|
49
|
+
"require": "./dist/auth/adapters/index.cjs"
|
|
50
|
+
},
|
|
51
|
+
"./core": {
|
|
52
|
+
"types": "./dist/auth/core/index.d.ts",
|
|
53
|
+
"import": "./dist/auth/core/index.js",
|
|
54
|
+
"require": "./dist/auth/core/index.cjs"
|
|
55
|
+
},
|
|
56
|
+
"./providers": {
|
|
57
|
+
"types": "./dist/auth/providers/index.d.ts",
|
|
58
|
+
"import": "./dist/auth/providers/index.js",
|
|
59
|
+
"require": "./dist/auth/providers/index.cjs"
|
|
60
|
+
},
|
|
61
|
+
"./adapters/memory": {
|
|
62
|
+
"types": "./dist/auth/adapters/memory.d.ts",
|
|
63
|
+
"import": "./dist/auth/adapters/memory.js",
|
|
64
|
+
"require": "./dist/auth/adapters/memory.cjs"
|
|
65
|
+
},
|
|
66
|
+
"./adapters/mongoose": {
|
|
67
|
+
"types": "./dist/auth/adapters/mongoose.d.ts",
|
|
68
|
+
"import": "./dist/auth/adapters/mongoose.js",
|
|
69
|
+
"require": "./dist/auth/adapters/mongoose.cjs"
|
|
70
|
+
},
|
|
71
|
+
"./adapters/drizzle": {
|
|
72
|
+
"types": "./dist/auth/adapters/drizzle.d.ts",
|
|
73
|
+
"import": "./dist/auth/adapters/drizzle.js",
|
|
74
|
+
"require": "./dist/auth/adapters/drizzle.cjs"
|
|
75
|
+
},
|
|
76
|
+
"./adapters/prisma": {
|
|
77
|
+
"types": "./dist/auth/adapters/prisma.d.ts",
|
|
78
|
+
"import": "./dist/auth/adapters/prisma.js",
|
|
79
|
+
"require": "./dist/auth/adapters/prisma.cjs"
|
|
80
|
+
},
|
|
81
|
+
"./security": {
|
|
82
|
+
"types": "./dist/auth/security/index.d.ts",
|
|
83
|
+
"import": "./dist/auth/security/index.js",
|
|
84
|
+
"require": "./dist/auth/security/index.cjs"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"files": [
|
|
88
|
+
"dist"
|
|
89
|
+
],
|
|
90
|
+
"scripts": {
|
|
91
|
+
"build": "node build.js"
|
|
92
|
+
},
|
|
93
|
+
"dependencies": {
|
|
94
|
+
"arctic": "^3.7.0",
|
|
95
|
+
"argon2": "^0.44.0",
|
|
96
|
+
"chalk": "^5.6.2",
|
|
97
|
+
"commander": "^14.0.3",
|
|
98
|
+
"enquirer": "^2.4.1",
|
|
99
|
+
"jose": "^6.2.1",
|
|
100
|
+
"zod": "^3.23.8"
|
|
101
|
+
},
|
|
102
|
+
"devDependencies": {
|
|
103
|
+
"@types/node": "^25.5.0",
|
|
104
|
+
"esbuild": "^0.27.4",
|
|
105
|
+
"tsup": "^8.5.1",
|
|
106
|
+
"typescript": "^5.9.3"
|
|
107
|
+
}
|
|
108
|
+
}
|