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.
- package/.idea/copilotDiffState.xml +67 -0
- package/README.md +26 -514
- package/dist/auth/core.js +3 -3
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.js +2 -1
- package/dist/auth/providers/google.d.ts +63 -0
- package/dist/auth/providers/google.js +186 -0
- package/dist/auth/providers.d.ts +1 -0
- package/dist/auth/providers.js +3 -1
- package/dist/auth/types.d.ts +6 -7
- package/dist/bin/hightjs.js +393 -0
- package/dist/client/entry.client.js +11 -1
- package/dist/hotReload.d.ts +8 -1
- package/dist/hotReload.js +304 -144
- package/dist/index.d.ts +2 -1
- package/dist/index.js +20 -33
- package/dist/renderer.js +1 -1
- package/dist/router.d.ts +24 -1
- package/dist/router.js +201 -2
- package/dist/types.d.ts +19 -1
- package/docs/README.md +59 -0
- package/docs/adapters.md +7 -0
- package/docs/arquivos-especiais.md +10 -0
- package/docs/autenticacao.md +212 -0
- package/docs/checklist.md +9 -0
- package/docs/cli.md +21 -0
- package/docs/estrutura.md +20 -0
- package/docs/faq.md +10 -0
- package/docs/hot-reload.md +5 -0
- package/docs/middlewares.md +73 -0
- package/docs/rotas-backend.md +45 -0
- package/docs/rotas-frontend.md +66 -0
- package/docs/seguranca.md +8 -0
- package/docs/websocket.md +45 -0
- package/package.json +1 -1
- package/src/auth/core.ts +3 -3
- package/src/auth/index.ts +2 -3
- package/src/auth/providers/google.ts +218 -0
- package/src/auth/providers.ts +1 -1
- package/src/auth/types.ts +3 -8
- package/src/bin/hightjs.js +475 -0
- package/src/client/entry.client.tsx +12 -1
- package/src/hotReload.ts +333 -147
- package/src/index.ts +58 -51
- package/src/renderer.tsx +1 -1
- package/src/router.ts +230 -3
- package/src/types.ts +24 -1
- package/dist/adapters/starters/express.d.ts +0 -0
- package/dist/adapters/starters/express.js +0 -1
- package/dist/adapters/starters/factory.d.ts +0 -0
- package/dist/adapters/starters/factory.js +0 -1
- package/dist/adapters/starters/fastify.d.ts +0 -0
- package/dist/adapters/starters/fastify.js +0 -1
- package/dist/adapters/starters/index.d.ts +0 -0
- package/dist/adapters/starters/index.js +0 -1
- package/dist/adapters/starters/native.d.ts +0 -0
- package/dist/adapters/starters/native.js +0 -1
- package/dist/auth/example.d.ts +0 -40
- package/dist/auth/example.js +0 -104
- package/dist/client/ErrorBoundary.d.ts +0 -16
- package/dist/client/ErrorBoundary.js +0 -181
- package/dist/client/routerContext.d.ts +0 -26
- package/dist/client/routerContext.js +0 -62
- package/dist/eslint/index.d.ts +0 -32
- package/dist/eslint/index.js +0 -15
- package/dist/eslint/use-client-rule.d.ts +0 -19
- package/dist/eslint/use-client-rule.js +0 -99
- package/dist/eslintSetup.d.ts +0 -0
- package/dist/eslintSetup.js +0 -1
- package/dist/example/src/web/routes/index.d.ts +0 -3
- package/dist/example/src/web/routes/index.js +0 -15
- package/dist/typescript/use-client-plugin.d.ts +0 -5
- package/dist/typescript/use-client-plugin.js +0 -113
- package/dist/validation.d.ts +0 -0
- package/dist/validation.js +0 -1
- package/src/auth/example.ts +0 -115
package/src/auth/example.ts
DELETED
|
@@ -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
|
-
*/
|