better-auth-studio 1.1.2-beta.2 → 1.1.2-beta.20

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.
Files changed (108) hide show
  1. package/README.md +48 -78
  2. package/data/default-geo.json +1 -1
  3. package/dist/adapters/astro.d.ts +1 -1
  4. package/dist/adapters/astro.js +13 -13
  5. package/dist/adapters/elysia.d.ts +2 -2
  6. package/dist/adapters/elysia.js +13 -13
  7. package/dist/adapters/express.d.ts +2 -2
  8. package/dist/adapters/express.js +4 -4
  9. package/dist/adapters/hono.d.ts +2 -2
  10. package/dist/adapters/hono.js +12 -12
  11. package/dist/adapters/nextjs.d.ts +1 -1
  12. package/dist/adapters/nextjs.js +10 -10
  13. package/dist/adapters/nuxt.d.ts +1 -1
  14. package/dist/adapters/nuxt.js +22 -22
  15. package/dist/adapters/remix.d.ts +1 -1
  16. package/dist/adapters/remix.js +13 -13
  17. package/dist/adapters/solid-start.d.ts +1 -1
  18. package/dist/adapters/solid-start.js +13 -13
  19. package/dist/adapters/svelte-kit.d.ts +2 -2
  20. package/dist/adapters/svelte-kit.js +13 -13
  21. package/dist/adapters/tanstack-start.d.ts +1 -1
  22. package/dist/adapters/tanstack-start.js +13 -13
  23. package/dist/add-svelte-kit-env-modules.js +11 -11
  24. package/dist/auth-adapter.d.ts +1 -1
  25. package/dist/auth-adapter.js +96 -96
  26. package/dist/cli/commands/init.js +57 -57
  27. package/dist/cli.js +75 -75
  28. package/dist/config.d.ts +5 -5
  29. package/dist/config.js +37 -37
  30. package/dist/core/handler.d.ts +1 -1
  31. package/dist/core/handler.js +116 -115
  32. package/dist/core/handler.js.map +1 -1
  33. package/dist/data.d.ts +2 -2
  34. package/dist/data.js +60 -60
  35. package/dist/geo-service.js +78 -78
  36. package/dist/get-tsconfig-info.js +4 -4
  37. package/dist/index.d.ts +8 -8
  38. package/dist/index.js +6 -6
  39. package/dist/providers/events/helpers.d.ts +2 -2
  40. package/dist/providers/events/helpers.d.ts.map +1 -1
  41. package/dist/providers/events/helpers.js +178 -154
  42. package/dist/providers/events/helpers.js.map +1 -1
  43. package/dist/public/assets/{main-BDJUrMKx.js → main-BeCk6LUx.js} +133 -133
  44. package/dist/public/assets/main-w2bJSKlF.css +1 -0
  45. package/dist/public/index.html +2 -2
  46. package/dist/routes/api-router.d.ts +3 -1
  47. package/dist/routes/api-router.d.ts.map +1 -1
  48. package/dist/routes/api-router.js +3 -3
  49. package/dist/routes/api-router.js.map +1 -1
  50. package/dist/routes.d.ts +6 -4
  51. package/dist/routes.d.ts.map +1 -1
  52. package/dist/routes.js +1333 -1277
  53. package/dist/routes.js.map +1 -1
  54. package/dist/studio.d.ts +3 -3
  55. package/dist/studio.d.ts.map +1 -1
  56. package/dist/studio.js +64 -65
  57. package/dist/studio.js.map +1 -1
  58. package/dist/types/events.d.ts +8 -7
  59. package/dist/types/events.d.ts.map +1 -1
  60. package/dist/types/events.js +165 -165
  61. package/dist/types/events.js.map +1 -1
  62. package/dist/types/handler.d.ts +14 -4
  63. package/dist/types/handler.d.ts.map +1 -1
  64. package/dist/types/handler.js.map +1 -1
  65. package/dist/utils/auth-callbacks-injector.d.ts +2 -2
  66. package/dist/utils/auth-callbacks-injector.js +27 -27
  67. package/dist/utils/auth-callbacks-wrapper.d.ts +3 -3
  68. package/dist/utils/auth-callbacks-wrapper.js +117 -107
  69. package/dist/utils/database-detection.d.ts +1 -1
  70. package/dist/utils/database-detection.js +44 -44
  71. package/dist/utils/database-hook-injector.d.ts +3 -3
  72. package/dist/utils/database-hook-injector.js +135 -131
  73. package/dist/utils/email-otp-hooks-injector.d.ts +28 -12
  74. package/dist/utils/email-otp-hooks-injector.js +104 -97
  75. package/dist/utils/event-ingestion.d.ts +5 -5
  76. package/dist/utils/event-ingestion.d.ts.map +1 -1
  77. package/dist/utils/event-ingestion.js +32 -12
  78. package/dist/utils/event-ingestion.js.map +1 -1
  79. package/dist/utils/hook-injector.d.ts +2 -2
  80. package/dist/utils/hook-injector.js +199 -199
  81. package/dist/utils/html-injector.d.ts +11 -2
  82. package/dist/utils/html-injector.d.ts.map +1 -1
  83. package/dist/utils/html-injector.js +40 -39
  84. package/dist/utils/html-injector.js.map +1 -1
  85. package/dist/utils/org-hooks-injector.d.ts +3 -3
  86. package/dist/utils/org-hooks-injector.js +63 -63
  87. package/dist/utils/org-hooks-wrapper.d.ts +41 -35
  88. package/dist/utils/org-hooks-wrapper.js +778 -658
  89. package/dist/utils/organization-hooks-wrapper.d.ts +23 -17
  90. package/dist/utils/organization-hooks-wrapper.js +325 -277
  91. package/dist/utils/package-json.js +11 -11
  92. package/dist/utils/paths.js +1 -1
  93. package/dist/utils/server-init.d.ts +1 -1
  94. package/dist/utils/server-init.js +25 -25
  95. package/dist/utils/session.d.ts +0 -1
  96. package/dist/utils/session.d.ts.map +1 -1
  97. package/dist/utils/session.js +19 -12
  98. package/dist/utils/session.js.map +1 -1
  99. package/dist/utils.js +24 -24
  100. package/package.json +25 -24
  101. package/public/assets/{main-BDJUrMKx.js → main-BeCk6LUx.js} +133 -133
  102. package/public/assets/main-w2bJSKlF.css +1 -0
  103. package/public/index.html +2 -2
  104. package/scripts/download-geolite2.js +8 -8
  105. package/scripts/generate-default-db.js +324 -324
  106. package/scripts/postinstall.js +25 -25
  107. package/dist/public/assets/main-CBA9bZ-w.css +0 -1
  108. package/public/assets/main-CBA9bZ-w.css +0 -1
@@ -1,6 +1,6 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { createRequire } from 'node:module';
3
- import { dirname, join, resolve } from 'node:path';
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import { dirname, join, resolve } from "node:path";
4
4
  /**
5
5
  * Find the project root by looking for package.json files up the directory tree
6
6
  * @param startDir - Directory to start searching from
@@ -8,9 +8,9 @@ import { dirname, join, resolve } from 'node:path';
8
8
  */
9
9
  function findProjectRoot(startDir) {
10
10
  let currentDir = resolve(startDir);
11
- const root = resolve('/');
11
+ const root = resolve("/");
12
12
  while (currentDir !== root) {
13
- const packageJsonPath = join(currentDir, 'package.json');
13
+ const packageJsonPath = join(currentDir, "package.json");
14
14
  if (existsSync(packageJsonPath)) {
15
15
  return currentDir;
16
16
  }
@@ -28,17 +28,17 @@ export async function getPackageVersion(packageName, cwd) {
28
28
  const searchDir = cwd || process.cwd();
29
29
  try {
30
30
  const projectRoot = findProjectRoot(searchDir);
31
- const packageJsonPath = join(searchDir, 'package.json');
31
+ const packageJsonPath = join(searchDir, "package.json");
32
32
  if (existsSync(packageJsonPath)) {
33
- const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
33
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
34
34
  if (packageJson.dependencies?.[packageName]) {
35
- return packageJson.dependencies[packageName].replace(/[\^~]/, '');
35
+ return packageJson.dependencies[packageName].replace(/[\^~]/, "");
36
36
  }
37
37
  if (packageJson.devDependencies?.[packageName]) {
38
- return packageJson.devDependencies[packageName].replace(/[\^~]/, '');
38
+ return packageJson.devDependencies[packageName].replace(/[\^~]/, "");
39
39
  }
40
40
  if (packageJson.peerDependencies?.[packageName]) {
41
- return packageJson.peerDependencies[packageName].replace(/[\^~]/, '');
41
+ return packageJson.peerDependencies[packageName].replace(/[\^~]/, "");
42
42
  }
43
43
  }
44
44
  try {
@@ -47,7 +47,7 @@ export async function getPackageVersion(packageName, cwd) {
47
47
  paths: [projectRoot],
48
48
  });
49
49
  if (existsSync(packagePath)) {
50
- const packageJson = JSON.parse(readFileSync(packagePath, 'utf-8'));
50
+ const packageJson = JSON.parse(readFileSync(packagePath, "utf-8"));
51
51
  return packageJson.version;
52
52
  }
53
53
  }
@@ -1,4 +1,4 @@
1
- const basePaths = ['auth.ts', 'auth.js', 'auth.server.js', 'auth.server.ts'];
1
+ const basePaths = ["auth.ts", "auth.js", "auth.server.js", "auth.server.ts"];
2
2
  export const possiblePaths = [
3
3
  ...basePaths,
4
4
  ...basePaths.map((it) => `lib/server/${it}`),
@@ -7,4 +7,4 @@
7
7
  * This should be called at server startup, before any auth requests
8
8
  */
9
9
  export declare function initializeOnServerStart(baseUrl?: string, basePath?: string): void;
10
- //# sourceMappingURL=server-init.d.ts.map
10
+ //# sourceMappingURL=server-init.d.ts.map
@@ -8,33 +8,33 @@ let initializationAttempted = false;
8
8
  * This should be called at server startup, before any auth requests
9
9
  */
10
10
  export function initializeOnServerStart(baseUrl, basePath) {
11
- console.log("PINGGEDD");
12
- if (initializationAttempted) {
13
- return;
11
+ console.log("PINGGEDD");
12
+ if (initializationAttempted) {
13
+ return;
14
+ }
15
+ initializationAttempted = true;
16
+ // Use setImmediate to ensure this runs after the event loop starts
17
+ // but before any requests are processed
18
+ setImmediate(async () => {
19
+ try {
20
+ const url =
21
+ baseUrl || process.env.BETTER_AUTH_URL || process.env.AUTH_URL || "http://localhost:3000";
22
+ const path = basePath || process.env.BETTER_AUTH_STUDIO_PATH || "/api/studio";
23
+ const fullUrl = `${url}${path}`;
24
+ await fetch(fullUrl, {
25
+ method: "GET",
26
+ headers: { "user-agent": "better-auth-studio-server-init" },
27
+ }).catch(() => {
28
+ // Silently fail - initialization will happen on first real request
29
+ });
30
+ } catch (error) {
31
+ // Silently fail - initialization will happen on first real request
14
32
  }
15
- initializationAttempted = true;
16
- // Use setImmediate to ensure this runs after the event loop starts
17
- // but before any requests are processed
18
- setImmediate(async () => {
19
- try {
20
- const url = baseUrl || process.env.BETTER_AUTH_URL || process.env.AUTH_URL || 'http://localhost:3000';
21
- const path = basePath || process.env.BETTER_AUTH_STUDIO_PATH || '/api/studio';
22
- const fullUrl = `${url}${path}`;
23
- await fetch(fullUrl, {
24
- method: 'GET',
25
- headers: { 'user-agent': 'better-auth-studio-server-init' },
26
- }).catch(() => {
27
- // Silently fail - initialization will happen on first real request
28
- });
29
- }
30
- catch (error) {
31
- // Silently fail - initialization will happen on first real request
32
- }
33
- });
33
+ });
34
34
  }
35
35
  // @ts-ignore
36
36
  // Auto-initialize when module is imported (if in server environment)
37
- if (typeof window === 'undefined' && typeof process !== 'undefined') {
38
- initializeOnServerStart();
37
+ if (typeof window === "undefined" && typeof process !== "undefined") {
38
+ initializeOnServerStart();
39
39
  }
40
- //# sourceMappingURL=server-init.js.map
40
+ //# sourceMappingURL=server-init.js.map
@@ -3,7 +3,6 @@ export interface StudioSession {
3
3
  email: string;
4
4
  name: string;
5
5
  role: string;
6
- image?: string;
7
6
  issuedAt: number;
8
7
  expiresAt: number;
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAiBlF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAGrE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACjF,UAAU,GAAE,MAAgC,GAC3C,aAAa,CAUf;AAED,eAAO,MAAM,kBAAkB,+BAA+B,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAiBlF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAGrE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACjF,UAAU,GAAE,MAAgC,GAC3C,aAAa,CAoBf;AAED,eAAO,MAAM,kBAAkB,+BAA+B,CAAC"}
@@ -1,31 +1,31 @@
1
- import { createCipheriv, createDecipheriv, createHmac, randomBytes } from 'crypto';
2
- const ALGORITHM = 'aes-256-gcm';
1
+ import { createCipheriv, createDecipheriv, createHmac, randomBytes } from "crypto";
2
+ const ALGORITHM = "aes-256-gcm";
3
3
  const IV_LENGTH = 16;
4
4
  const AUTH_TAG_LENGTH = 16;
5
5
  function deriveKey(secret) {
6
- return createHmac('sha256', secret).update('studio-session-key').digest();
6
+ return createHmac("sha256", secret).update("studio-session-key").digest();
7
7
  }
8
8
  export function encryptSession(session, secret) {
9
9
  const key = deriveKey(secret);
10
10
  const iv = randomBytes(IV_LENGTH);
11
11
  const cipher = createCipheriv(ALGORITHM, key, iv);
12
12
  const data = JSON.stringify(session);
13
- const encrypted = Buffer.concat([cipher.update(data, 'utf8'), cipher.final()]);
13
+ const encrypted = Buffer.concat([cipher.update(data, "utf8"), cipher.final()]);
14
14
  const authTag = cipher.getAuthTag();
15
15
  const combined = Buffer.concat([iv, authTag, encrypted]);
16
- return combined.toString('base64url');
16
+ return combined.toString("base64url");
17
17
  }
18
18
  export function decryptSession(token, secret) {
19
19
  try {
20
20
  const key = deriveKey(secret);
21
- const combined = Buffer.from(token, 'base64url');
21
+ const combined = Buffer.from(token, "base64url");
22
22
  const iv = combined.subarray(0, IV_LENGTH);
23
23
  const authTag = combined.subarray(IV_LENGTH, IV_LENGTH + AUTH_TAG_LENGTH);
24
24
  const encrypted = combined.subarray(IV_LENGTH + AUTH_TAG_LENGTH);
25
25
  const decipher = createDecipheriv(ALGORITHM, key, iv);
26
26
  decipher.setAuthTag(authTag);
27
27
  const decrypted = Buffer.concat([decipher.update(encrypted), decipher.final()]);
28
- return JSON.parse(decrypted.toString('utf8'));
28
+ return JSON.parse(decrypted.toString("utf8"));
29
29
  }
30
30
  catch {
31
31
  return null;
@@ -37,15 +37,22 @@ export function isSessionValid(session) {
37
37
  return session.expiresAt > Date.now();
38
38
  }
39
39
  export function createStudioSession(user, durationMs = 7 * 24 * 60 * 60 * 1000) {
40
+ // Truncate fields to prevent cookie size issues (max 4096 chars for cookie)
41
+ // Remove image field as it can be large and is optional
42
+ // Truncate name and email to reasonable lengths
43
+ const maxNameLength = 100;
44
+ const maxEmailLength = 255;
40
45
  return {
41
46
  userId: user.id,
42
- email: user.email,
43
- name: user.name || '',
44
- role: user.role || 'user',
45
- image: user.image,
47
+ email: user.email.length > maxEmailLength ? user.email.substring(0, maxEmailLength) : user.email,
48
+ name: (user.name || "").length > maxNameLength
49
+ ? (user.name || "").substring(0, maxNameLength)
50
+ : user.name || "",
51
+ role: user.role || "user",
52
+ // Don't store image in session to reduce cookie size - it can be fetched from user data if needed
46
53
  issuedAt: Date.now(),
47
54
  expiresAt: Date.now() + durationMs,
48
55
  };
49
56
  }
50
- export const STUDIO_COOKIE_NAME = 'better_auth_studio_session';
57
+ export const STUDIO_COOKIE_NAME = "better_auth_studio_session";
51
58
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1,27 +1,27 @@
1
1
  export const possibleConfigFiles = [
2
- 'auth.ts',
3
- 'auth.js',
4
- 'app/auth.ts',
5
- 'app/auth.js',
6
- 'apps/auth.ts',
7
- 'apps/auth.js',
8
- 'server/auth.ts',
9
- 'server/auth.js',
10
- 'src/auth.ts',
11
- 'src/auth.js',
12
- 'lib/auth.ts',
13
- 'utils/auth.ts',
14
- 'utils/auth.js',
15
- 'utils/auth.server.ts',
16
- 'utils/auth.server.js',
17
- 'utils/lib/auth.ts',
18
- 'utils/lib/auth.js',
19
- 'utils/lib/auth.server.ts',
20
- 'utils/lib/auth.server.js',
21
- 'lib/auth.js',
22
- 'better-auth.config.ts',
23
- 'better-auth.config.js',
24
- 'auth.config.ts',
25
- 'auth.config.js',
2
+ "auth.ts",
3
+ "auth.js",
4
+ "app/auth.ts",
5
+ "app/auth.js",
6
+ "apps/auth.ts",
7
+ "apps/auth.js",
8
+ "server/auth.ts",
9
+ "server/auth.js",
10
+ "src/auth.ts",
11
+ "src/auth.js",
12
+ "lib/auth.ts",
13
+ "utils/auth.ts",
14
+ "utils/auth.js",
15
+ "utils/auth.server.ts",
16
+ "utils/auth.server.js",
17
+ "utils/lib/auth.ts",
18
+ "utils/lib/auth.js",
19
+ "utils/lib/auth.server.ts",
20
+ "utils/lib/auth.server.js",
21
+ "lib/auth.js",
22
+ "better-auth.config.ts",
23
+ "better-auth.config.js",
24
+ "auth.config.ts",
25
+ "auth.config.js",
26
26
  ];
27
27
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,12 +1,29 @@
1
1
  {
2
2
  "name": "better-auth-studio",
3
- "version": "1.1.2-beta.2",
3
+ "version": "1.1.2-beta.20",
4
4
  "description": "Studio for Better Auth",
5
- "main": "dist/index.js",
6
- "type": "module",
5
+ "keywords": [
6
+ "admin",
7
+ "authentication",
8
+ "better-auth",
9
+ "dashboard",
10
+ "gui",
11
+ "studio"
12
+ ],
13
+ "license": "MIT",
14
+ "author": "kinfish",
7
15
  "bin": {
8
16
  "better-auth-studio": "./dist/cli.js"
9
17
  },
18
+ "files": [
19
+ "README.md",
20
+ "data/default-geo.json",
21
+ "dist/",
22
+ "public/",
23
+ "scripts/"
24
+ ],
25
+ "type": "module",
26
+ "main": "dist/index.js",
10
27
  "exports": {
11
28
  ".": "./dist/index.js",
12
29
  "./express": "./dist/adapters/express.js",
@@ -21,16 +38,6 @@
21
38
  "./nuxt": "./dist/adapters/nuxt.js",
22
39
  "./config": "./dist/types/handler.js"
23
40
  },
24
- "keywords": [
25
- "better-auth",
26
- "studio",
27
- "dashboard",
28
- "authentication",
29
- "gui",
30
- "admin"
31
- ],
32
- "author": "kinfish",
33
- "license": "MIT",
34
41
  "dependencies": {
35
42
  "@babel/preset-react": "^7.27.1",
36
43
  "@babel/preset-typescript": "^7.27.1",
@@ -52,15 +59,16 @@
52
59
  "jiti": "^2.5.1",
53
60
  "maxmind": "^5.0.0",
54
61
  "open": "^10.0.2",
62
+ "oxlint": "^1.41.0",
55
63
  "ws": "^8.14.2"
56
64
  },
57
65
  "devDependencies": {
58
- "@biomejs/biome": "^2.2.4",
59
66
  "@types/cors": "^2.8.17",
60
67
  "@types/express": "^4.17.21",
61
68
  "@types/node": "^20.10.0",
62
69
  "@types/supertest": "^6.0.2",
63
70
  "@types/ws": "^8.5.10",
71
+ "oxfmt": "^0.26.0",
64
72
  "supertest": "^7.1.4",
65
73
  "tsx": "^4.6.0",
66
74
  "typescript": "^5.3.2",
@@ -69,13 +77,6 @@
69
77
  "engines": {
70
78
  "node": ">=18.0.0"
71
79
  },
72
- "files": [
73
- "dist/",
74
- "public/",
75
- "data/default-geo.json",
76
- "scripts/",
77
- "README.md"
78
- ],
79
80
  "scripts": {
80
81
  "build": "tsc && pnpm run frontend:build && pnpm run copy:public && pnpm run verify:public",
81
82
  "copy:public": "rm -rf dist/public && cp -r public dist/",
@@ -88,9 +89,9 @@
88
89
  "frontend:dev": "cd frontend && pnpm run dev",
89
90
  "frontend:build": "cd frontend && pnpm run build",
90
91
  "frontend:preview": "cd frontend && pnpm run preview",
91
- "lint": "biome check . --max-diagnostics=1000",
92
- "lint:fix": "biome check --write .",
93
- "format": "biome format --write .",
92
+ "lint": "oxlint . && oxfmt --check .",
93
+ "format": "oxlint --fix . && oxfmt .",
94
+ "lint:fix": "oxlint --fix . && oxfmt .",
94
95
  "type-check": "tsc --noEmit",
95
96
  "test": "vitest",
96
97
  "test:watch": "vitest --watch",