hightjs 0.2.42 → 0.2.45

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 (76) hide show
  1. package/.idea/copilotDiffState.xml +67 -0
  2. package/README.md +26 -514
  3. package/dist/auth/core.js +3 -3
  4. package/dist/auth/index.d.ts +1 -1
  5. package/dist/auth/index.js +2 -1
  6. package/dist/auth/providers/google.d.ts +63 -0
  7. package/dist/auth/providers/google.js +186 -0
  8. package/dist/auth/providers.d.ts +1 -0
  9. package/dist/auth/providers.js +3 -1
  10. package/dist/auth/types.d.ts +6 -7
  11. package/dist/bin/hightjs.js +393 -0
  12. package/dist/client/entry.client.js +11 -1
  13. package/dist/hotReload.d.ts +8 -1
  14. package/dist/hotReload.js +304 -144
  15. package/dist/index.d.ts +2 -1
  16. package/dist/index.js +20 -33
  17. package/dist/renderer.js +1 -1
  18. package/dist/router.d.ts +24 -1
  19. package/dist/router.js +201 -2
  20. package/dist/types.d.ts +19 -1
  21. package/docs/README.md +59 -0
  22. package/docs/adapters.md +7 -0
  23. package/docs/arquivos-especiais.md +10 -0
  24. package/docs/autenticacao.md +212 -0
  25. package/docs/checklist.md +9 -0
  26. package/docs/cli.md +21 -0
  27. package/docs/estrutura.md +20 -0
  28. package/docs/faq.md +10 -0
  29. package/docs/hot-reload.md +5 -0
  30. package/docs/middlewares.md +73 -0
  31. package/docs/rotas-backend.md +45 -0
  32. package/docs/rotas-frontend.md +66 -0
  33. package/docs/seguranca.md +8 -0
  34. package/docs/websocket.md +45 -0
  35. package/package.json +1 -1
  36. package/src/auth/core.ts +3 -3
  37. package/src/auth/index.ts +2 -3
  38. package/src/auth/providers/google.ts +218 -0
  39. package/src/auth/providers.ts +1 -1
  40. package/src/auth/types.ts +3 -8
  41. package/src/bin/hightjs.js +475 -0
  42. package/src/client/entry.client.tsx +12 -1
  43. package/src/hotReload.ts +333 -147
  44. package/src/index.ts +58 -51
  45. package/src/renderer.tsx +1 -1
  46. package/src/router.ts +230 -3
  47. package/src/types.ts +24 -1
  48. package/dist/adapters/starters/express.d.ts +0 -0
  49. package/dist/adapters/starters/express.js +0 -1
  50. package/dist/adapters/starters/factory.d.ts +0 -0
  51. package/dist/adapters/starters/factory.js +0 -1
  52. package/dist/adapters/starters/fastify.d.ts +0 -0
  53. package/dist/adapters/starters/fastify.js +0 -1
  54. package/dist/adapters/starters/index.d.ts +0 -0
  55. package/dist/adapters/starters/index.js +0 -1
  56. package/dist/adapters/starters/native.d.ts +0 -0
  57. package/dist/adapters/starters/native.js +0 -1
  58. package/dist/auth/example.d.ts +0 -40
  59. package/dist/auth/example.js +0 -104
  60. package/dist/client/ErrorBoundary.d.ts +0 -16
  61. package/dist/client/ErrorBoundary.js +0 -181
  62. package/dist/client/routerContext.d.ts +0 -26
  63. package/dist/client/routerContext.js +0 -62
  64. package/dist/eslint/index.d.ts +0 -32
  65. package/dist/eslint/index.js +0 -15
  66. package/dist/eslint/use-client-rule.d.ts +0 -19
  67. package/dist/eslint/use-client-rule.js +0 -99
  68. package/dist/eslintSetup.d.ts +0 -0
  69. package/dist/eslintSetup.js +0 -1
  70. package/dist/example/src/web/routes/index.d.ts +0 -3
  71. package/dist/example/src/web/routes/index.js +0 -15
  72. package/dist/typescript/use-client-plugin.d.ts +0 -5
  73. package/dist/typescript/use-client-plugin.js +0 -113
  74. package/dist/validation.d.ts +0 -0
  75. package/dist/validation.js +0 -1
  76. package/src/auth/example.ts +0 -115
@@ -1,115 +0,0 @@
1
- /**
2
- * Exemplo de como usar os novos providers baseados em classes
3
- */
4
-
5
- import { createAuthRoutes } from './routes';
6
- import { CredentialsProvider, DiscordProvider } from './providers';
7
- import type { AuthConfig } from './types';
8
-
9
- // Exemplo de configuração com os novos providers
10
- const authConfig: AuthConfig = {
11
- providers: [
12
- // Provider de credenciais customizado
13
- new CredentialsProvider({
14
- name: "Login com Email",
15
- credentials: {
16
- email: {
17
- label: "Email",
18
- type: "email",
19
- placeholder: "seu@email.com"
20
- },
21
- password: {
22
- label: "Senha",
23
- type: "password"
24
- }
25
- },
26
- async authorize(credentials) {
27
- // Aqui você faz a validação com seu banco de dados
28
- const { email, password } = credentials;
29
-
30
- // Exemplo de validação (substitua pela sua lógica)
31
- if (email === "admin@example.com" && password === "123456") {
32
- return {
33
- id: "1",
34
- name: "Admin User",
35
- email: email,
36
- role: "admin"
37
- };
38
- }
39
-
40
- // Retorna null se credenciais inválidas
41
- return null;
42
- }
43
- }),
44
-
45
- // Provider do Discord
46
- new DiscordProvider({
47
- clientId: process.env.DISCORD_CLIENT_ID!,
48
- clientSecret: process.env.DISCORD_CLIENT_SECRET!,
49
- callbackUrl: "http://localhost:3000/api/auth/callback/discord"
50
- })
51
- ],
52
-
53
- secret: process.env.HWEB_AUTH_SECRET || "seu-super-secret-aqui-32-chars-min",
54
-
55
- session: {
56
- strategy: 'jwt',
57
- maxAge: 86400 // 24 horas
58
- },
59
-
60
- pages: {
61
- signIn: '/auth/signin',
62
- signOut: '/auth/signout'
63
- },
64
-
65
- callbacks: {
66
- async signIn(user, account, profile) {
67
- // Lógica customizada antes do login
68
- console.log(`Usuário ${user.email} fazendo login via ${account.provider}`);
69
- return true; // permitir login
70
- },
71
-
72
- async session(session, user) {
73
- // Adicionar dados customizados à sessão
74
- return {
75
- ...session,
76
- user: {
77
- ...session.user,
78
- customData: "dados extras"
79
- }
80
- };
81
- }
82
- }
83
- };
84
-
85
- // Criar as rotas de autenticação
86
- export const authRoutes = createAuthRoutes(authConfig);
87
-
88
- /**
89
- * Como usar em suas rotas API:
90
- *
91
- * // arquivo: /api/auth/[...value].ts
92
- * import { authRoutes } from '../../../src/auth/example';
93
- *
94
- * export const GET = authRoutes.GET;
95
- * export const POST = authRoutes.POST;
96
- */
97
-
98
- /**
99
- * Rotas disponíveis automaticamente:
100
- *
101
- * Core routes:
102
- * - GET /api/auth/session - Obter sessão atual
103
- * - GET /api/auth/providers - Listar providers
104
- * - GET /api/auth/csrf - Obter token CSRF
105
- * - POST /api/auth/signin - Login
106
- * - POST /api/auth/signout - Logout
107
- *
108
- * Provider específico (CredentialsProvider):
109
- * - GET /api/auth/credentials/config - Config do provider
110
- *
111
- * Provider específico (DiscordProvider):
112
- * - GET /api/auth/signin/discord - Iniciar OAuth Discord
113
- * - GET /api/auth/callback/discord - Callback OAuth Discord
114
- * - GET /api/auth/discord/config - Config do provider Discord
115
- */