subaya 1.0.1 → 1.0.2
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/dist/commands/axios/AxiosGeneratorCommand.d.ts.map +1 -1
- package/dist/commands/axios/AxiosGeneratorCommand.js +97 -17
- package/dist/commands/axios/AxiosGeneratorCommand.js.map +1 -1
- package/dist/commands/provider/ProviderGeneratorCommand.d.ts +2 -1
- package/dist/commands/provider/ProviderGeneratorCommand.d.ts.map +1 -1
- package/dist/commands/provider/ProviderGeneratorCommand.js.map +1 -1
- package/dist/commands/route/NextRouteGeneratorCommand.js +1 -1
- package/dist/commands/route/NextRouteGeneratorCommand.js.map +1 -1
- package/dist/commands/supabase/SupabaseCommand.d.ts +2 -1
- package/dist/commands/supabase/SupabaseCommand.d.ts.map +1 -1
- package/dist/commands/supabase/SupabaseCommand.js +97 -25
- package/dist/commands/supabase/SupabaseCommand.js.map +1 -1
- package/dist/core/EnsureSystem.d.ts +3 -0
- package/dist/core/EnsureSystem.d.ts.map +1 -1
- package/dist/core/EnsureSystem.js +16 -0
- package/dist/core/EnsureSystem.js.map +1 -1
- package/dist/core/FileSystemService.d.ts +1 -1
- package/dist/core/FileSystemService.d.ts.map +1 -1
- package/dist/core/FileSystemService.js +8 -0
- package/dist/core/FileSystemService.js.map +1 -1
- package/dist/template/axios/instance.d.ts +3 -1
- package/dist/template/axios/instance.d.ts.map +1 -1
- package/dist/template/axios/instance.js +204 -19
- package/dist/template/axios/instance.js.map +1 -1
- package/dist/template/axios/nextServerJwt.d.ts +4 -0
- package/dist/template/axios/nextServerJwt.d.ts.map +1 -0
- package/dist/template/axios/nextServerJwt.js +60 -0
- package/dist/template/axios/nextServerJwt.js.map +1 -0
- package/dist/template/axios/protectedProxy.d.ts +2 -0
- package/dist/template/axios/protectedProxy.d.ts.map +1 -0
- package/dist/template/axios/protectedProxy.js +40 -0
- package/dist/template/axios/protectedProxy.js.map +1 -0
- package/dist/template/axios/useLoginHook.d.ts +2 -0
- package/dist/template/axios/useLoginHook.d.ts.map +1 -0
- package/dist/template/axios/useLoginHook.js +16 -0
- package/dist/template/axios/useLoginHook.js.map +1 -0
- package/dist/template/axios/useLogoutHook.d.ts +2 -0
- package/dist/template/axios/useLogoutHook.d.ts.map +1 -0
- package/dist/template/axios/useLogoutHook.js +15 -0
- package/dist/template/axios/useLogoutHook.js.map +1 -0
- package/dist/template/axios/utilJwt.d.ts +2 -0
- package/dist/template/axios/utilJwt.d.ts.map +1 -0
- package/dist/template/axios/utilJwt.js +52 -0
- package/dist/template/axios/utilJwt.js.map +1 -0
- package/dist/template/supabase/actions/auth.d.ts +2 -0
- package/dist/template/supabase/actions/auth.d.ts.map +1 -0
- package/dist/template/supabase/actions/auth.js +61 -0
- package/dist/template/supabase/actions/auth.js.map +1 -0
- package/dist/template/supabase/actions/crud.d.ts +3 -0
- package/dist/template/supabase/actions/crud.d.ts.map +1 -0
- package/dist/template/supabase/actions/crud.js +72 -0
- package/dist/template/supabase/actions/crud.js.map +1 -0
- package/dist/template/supabase/actions/user.d.ts +2 -0
- package/dist/template/supabase/actions/user.d.ts.map +1 -0
- package/dist/template/supabase/actions/user.js +36 -0
- package/dist/template/supabase/actions/user.js.map +1 -0
- package/dist/template/supabase/admin/supabaseAdminLayout.d.ts +2 -0
- package/dist/template/supabase/admin/supabaseAdminLayout.d.ts.map +1 -0
- package/dist/template/supabase/admin/supabaseAdminLayout.js +7 -0
- package/dist/template/supabase/admin/supabaseAdminLayout.js.map +1 -0
- package/dist/template/supabase/admin/supabaseAdminLoginLayout.d.ts +2 -0
- package/dist/template/supabase/admin/supabaseAdminLoginLayout.d.ts.map +1 -0
- package/dist/template/supabase/admin/supabaseAdminLoginLayout.js +114 -0
- package/dist/template/supabase/admin/supabaseAdminLoginLayout.js.map +1 -0
- package/dist/template/supabase/proxy/adminProxy.d.ts +2 -0
- package/dist/template/supabase/proxy/adminProxy.d.ts.map +1 -0
- package/dist/template/supabase/proxy/adminProxy.js +45 -0
- package/dist/template/supabase/proxy/adminProxy.js.map +1 -0
- package/dist/template/supabase/proxy/authAdminProxy.d.ts +2 -0
- package/dist/template/supabase/proxy/authAdminProxy.d.ts.map +1 -0
- package/dist/template/supabase/proxy/authAdminProxy.js +61 -0
- package/dist/template/supabase/proxy/authAdminProxy.js.map +1 -0
- package/dist/template/supabase/proxy/authProxy.d.ts +2 -0
- package/dist/template/supabase/proxy/authProxy.d.ts.map +1 -0
- package/dist/template/supabase/proxy/authProxy.js +49 -0
- package/dist/template/supabase/proxy/authProxy.js.map +1 -0
- package/dist/template/supabase/route/googleCallback.d.ts +2 -0
- package/dist/template/supabase/route/googleCallback.d.ts.map +1 -0
- package/dist/template/supabase/route/googleCallback.js +25 -0
- package/dist/template/supabase/route/googleCallback.js.map +1 -0
- package/dist/template/supabase/schemas/user.d.ts +2 -0
- package/dist/template/supabase/schemas/user.d.ts.map +1 -0
- package/dist/template/supabase/schemas/user.js +14 -0
- package/dist/template/supabase/schemas/user.js.map +1 -0
- package/dist/template/supabase/utilBase.d.ts +1 -1
- package/dist/template/supabase/utilBase.d.ts.map +1 -1
- package/dist/template/supabase/utilBase.js +2 -2
- package/dist/types/BaseExtensionCommands.d.ts +2 -1
- package/dist/types/BaseExtensionCommands.d.ts.map +1 -1
- package/dist/types/BaseExtensionCommands.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { capitalCase } from "change-case";
|
|
2
|
+
export const supabaseCrudService = (tableName) => `import "server-only"
|
|
3
|
+
|
|
4
|
+
import { createClient } from "@/lib/supabase/server"
|
|
5
|
+
|
|
6
|
+
const TABLE_NAME = "${tableName}"
|
|
7
|
+
|
|
8
|
+
export async function insert${capitalCase(tableName)}(title: string) {
|
|
9
|
+
const supabase = await createClient()
|
|
10
|
+
const { data, error } = await supabase
|
|
11
|
+
.from(TABLE_NAME)
|
|
12
|
+
.insert([{ title, is_completed: false }])
|
|
13
|
+
.select()
|
|
14
|
+
.single()
|
|
15
|
+
|
|
16
|
+
if (error) throw new Error(error.message)
|
|
17
|
+
return data
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export async function modify${capitalCase(tableName)}(id: string, isCompleted: boolean) {
|
|
21
|
+
const supabase = await createClient()
|
|
22
|
+
const { data, error } = await supabase
|
|
23
|
+
.from(TABLE_NAME)
|
|
24
|
+
.update({ is_completed: isCompleted })
|
|
25
|
+
.eq("id", id)
|
|
26
|
+
.select()
|
|
27
|
+
.single()
|
|
28
|
+
|
|
29
|
+
if (error) throw new Error(error.message)
|
|
30
|
+
return data
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export async function remove${capitalCase(tableName)}(id: string) {
|
|
34
|
+
const supabase = await createClient()
|
|
35
|
+
const { error } = await supabase.from(TABLE_NAME).delete().eq("id", id)
|
|
36
|
+
|
|
37
|
+
if (error) throw new Error(error.message)
|
|
38
|
+
return true
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
export const supabaseCrudActions = (tableName) => `"use server"
|
|
42
|
+
|
|
43
|
+
import { insert${capitalCase(tableName)}, modify${capitalCase(tableName)}, remove${capitalCase(tableName)} } from "@/services/${tableName}.service"
|
|
44
|
+
|
|
45
|
+
export async function add${capitalCase(tableName)}Action(title: string) {
|
|
46
|
+
try {
|
|
47
|
+
const data = await insert${capitalCase(tableName)}(title)
|
|
48
|
+
return { success: true, data }
|
|
49
|
+
} catch (error: any) {
|
|
50
|
+
return { success: false, error: error.message }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export async function update${capitalCase(tableName)}Action(id: string, isCompleted: boolean) {
|
|
55
|
+
try {
|
|
56
|
+
const data = await modify${capitalCase(tableName)}(id, isCompleted)
|
|
57
|
+
return { success: true, data }
|
|
58
|
+
} catch (error: any) {
|
|
59
|
+
return { success: false, error: error.message }
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export async function delete${capitalCase(tableName)}Action(id: string) {
|
|
64
|
+
try {
|
|
65
|
+
await remove${capitalCase(tableName)}(id)
|
|
66
|
+
return { success: true }
|
|
67
|
+
} catch (error: any) {
|
|
68
|
+
return { success: false, error: error.message }
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
`;
|
|
72
|
+
//# sourceMappingURL=crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../../src/template/supabase/actions/crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;;;;sBAIpC,SAAS;;8BAED,WAAW,CAAC,SAAS,CAAC;;;;;;;;;;;;8BAYtB,WAAW,CAAC,SAAS,CAAC;;;;;;;;;;;;;8BAatB,WAAW,CAAC,SAAS,CAAC;;;;;;;CAOnD,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;;iBAEzC,WAAW,CAAC,SAAS,CAAC,WAAW,WAAW,CAAC,SAAS,CAAC,WAAW,WAAW,CAAC,SAAS,CAAC,uBAAuB,SAAS;;2BAE9G,WAAW,CAAC,SAAS,CAAC;;+BAElB,WAAW,CAAC,SAAS,CAAC;;;;;;;8BAOvB,WAAW,CAAC,SAAS,CAAC;;+BAErB,WAAW,CAAC,SAAS,CAAC;;;;;;;8BAOvB,WAAW,CAAC,SAAS,CAAC;;kBAElC,WAAW,CAAC,SAAS,CAAC;;;;;;CAMvC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/actions/user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,cAkC/B,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const supabaseUserActions = () => `"use server"
|
|
2
|
+
|
|
3
|
+
import { createClient } from "@/lib/supabase/server"
|
|
4
|
+
import { SafeUserDefaultSchema, SafeUserDTO } from "@/schemas/user"
|
|
5
|
+
import { experimental_taintObjectReference as taintObjectReference } from "react"
|
|
6
|
+
|
|
7
|
+
export async function getUserAction(): Promise<SafeUserDTO> {
|
|
8
|
+
const supabase = await createClient()
|
|
9
|
+
const { data, error } = await supabase.auth.getUser()
|
|
10
|
+
|
|
11
|
+
if (error || !data.user) {
|
|
12
|
+
throw new Error("Not authenticated user")
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
taintObjectReference(
|
|
16
|
+
"Warning: Supabase original User object is not allowed to be directly returned to the client. Must pass through DTO.",
|
|
17
|
+
data.user,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
if (data.user.user_metadata) {
|
|
21
|
+
taintObjectReference("Warning: user_metadata original object exposure risk", data.user.user_metadata)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const safeData = SafeUserDefaultSchema.parse({
|
|
25
|
+
id: data.user.id,
|
|
26
|
+
email: data.user.email,
|
|
27
|
+
phone: data.user.phone,
|
|
28
|
+
name: data.user.user_metadata?.full_name,
|
|
29
|
+
providers: data.user.app_metadata?.providers ?? ["email"],
|
|
30
|
+
avatarUrl: data.user.user_metadata?.avatar_url,
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
return safeData
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/template/supabase/actions/user.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabaseAdminLayout.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/admin/supabaseAdminLayout.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,gGAK/B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabaseAdminLayout.js","sourceRoot":"","sources":["../../../../src/template/supabase/admin/supabaseAdminLayout.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;CAKlC,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const supabaseAdminLoginLayout = "\"use client\"\n\nimport { login } from \"@/actions/auth.action\"\nimport { useState, useTransition } from \"react\"\n\nexport default function AdminLoginPage() {\n const [email, setEmail] = useState(\"\")\n const [password, setPassword] = useState(\"\")\n const [isPending, startTransition] = useTransition()\n const [error, setError] = useState<string | null>(null)\n\n const handleLogin = async (e: React.SubmitEvent<HTMLFormElement>) => {\n e.preventDefault()\n setError(null)\n\n const formData = new FormData()\n formData.set(\"email\", email)\n formData.set(\"password\", password)\n\n startTransition(async () => {\n await login(formData)\n })\n }\n\n return (\n <div className=\"flex justify-center items-center min-h-screen bg-linear-to-br from-black to-zinc-900\">\n <div className=\"rounded-2xl shadow-xl bg-zinc-900 p-8 w-full max-w-md border border-gray-700\">\n <h1 className=\"text-3xl font-bold mb-1 text-center text-white\">Login</h1>\n <p className=\"mb-6 text-zinc-500 text-center\">Login as admin</p>\n <form onSubmit={handleLogin} className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-1.5\">\n <label htmlFor=\"admin-email\" className=\"text-sm font-medium text-zinc-700\">\n Email\n </label>\n <input\n id=\"admin-email\"\n type=\"email\"\n value={email}\n autoComplete=\"off\"\n autoFocus\n onChange={(e) => setEmail(e.target.value)}\n placeholder=\"Enter Email\"\n required\n disabled={isPending}\n className=\"border border-gray-700 rounded-lg px-4 py-2 transition focus:outline-none focus:ring-1 ring-gray-500 bg-zinc-900 placeholder-white text-white autofill:bg-zinc-900 autofill:text-white\"\n style={{\n WebkitBoxShadow: \"0 0 0 1000px #18181b inset\",\n boxShadow: \"0 0 0 1000px #18181b inset\",\n WebkitTextFillColor: \"#fff\",\n }}\n />\n </div>\n <div className=\"flex flex-col gap-1.5\">\n <label htmlFor=\"admin-password\" className=\"text-sm font-medium text-zinc-700\">\n Password\n </label>\n <input\n id=\"admin-password\"\n type=\"password\"\n value={password}\n autoComplete=\"off\"\n onChange={(e) => setPassword(e.target.value)}\n placeholder=\"Enter Password\"\n required\n disabled={isPending}\n className=\"border border-gray-700 rounded-lg px-4 py-2 transition focus:outline-none focus:ring-1 ring-gray-500 bg-zinc-900 placeholder-white text-white\"\n style={{\n WebkitBoxShadow: \"0 0 0 1000px #18181b inset\",\n boxShadow: \"0 0 0 1000px #18181b inset\",\n WebkitTextFillColor: \"#fff\",\n }}\n />\n </div>\n {error && (\n <div className=\"text-red-500 text-sm mt-1 rounded bg-red-50 p-2 border border-red-100 text-center animate-pulse\">\n {error}\n </div>\n )}\n <button\n type=\"submit\"\n disabled={isPending}\n className=\"mt-2 rounded-lg bg-blue-600 hover:bg-blue-700 transition text-white font-semibold py-2 shadow text-lg disabled:opacity-60 disabled:cursor-not-allowed\"\n >\n {isPending ? (\n <span className=\"flex justify-center items-center gap-2\">\n <svg className=\"animate-spin h-5 w-5 text-white\" viewBox=\"0 0 24 24\">\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n fill=\"none\"\n />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8v4l3-3-3-3v4a8 8 0 000 16v-4l-3 3 3 3v-4a8 8 0 01-8-8z\"\n />\n </svg>\n Logging in...\n </span>\n ) : (\n \"Submit\"\n )}\n </button>\n </form>\n </div>\n </div>\n )\n}\n";
|
|
2
|
+
//# sourceMappingURL=supabaseAdminLoginLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabaseAdminLoginLayout.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/admin/supabaseAdminLoginLayout.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,85IAgHpC,CAAA"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export const supabaseAdminLoginLayout = `"use client"
|
|
2
|
+
|
|
3
|
+
import { login } from "@/actions/auth.action"
|
|
4
|
+
import { useState, useTransition } from "react"
|
|
5
|
+
|
|
6
|
+
export default function AdminLoginPage() {
|
|
7
|
+
const [email, setEmail] = useState("")
|
|
8
|
+
const [password, setPassword] = useState("")
|
|
9
|
+
const [isPending, startTransition] = useTransition()
|
|
10
|
+
const [error, setError] = useState<string | null>(null)
|
|
11
|
+
|
|
12
|
+
const handleLogin = async (e: React.SubmitEvent<HTMLFormElement>) => {
|
|
13
|
+
e.preventDefault()
|
|
14
|
+
setError(null)
|
|
15
|
+
|
|
16
|
+
const formData = new FormData()
|
|
17
|
+
formData.set("email", email)
|
|
18
|
+
formData.set("password", password)
|
|
19
|
+
|
|
20
|
+
startTransition(async () => {
|
|
21
|
+
await login(formData)
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<div className="flex justify-center items-center min-h-screen bg-linear-to-br from-black to-zinc-900">
|
|
27
|
+
<div className="rounded-2xl shadow-xl bg-zinc-900 p-8 w-full max-w-md border border-gray-700">
|
|
28
|
+
<h1 className="text-3xl font-bold mb-1 text-center text-white">Login</h1>
|
|
29
|
+
<p className="mb-6 text-zinc-500 text-center">Login as admin</p>
|
|
30
|
+
<form onSubmit={handleLogin} className="flex flex-col gap-4">
|
|
31
|
+
<div className="flex flex-col gap-1.5">
|
|
32
|
+
<label htmlFor="admin-email" className="text-sm font-medium text-zinc-700">
|
|
33
|
+
Email
|
|
34
|
+
</label>
|
|
35
|
+
<input
|
|
36
|
+
id="admin-email"
|
|
37
|
+
type="email"
|
|
38
|
+
value={email}
|
|
39
|
+
autoComplete="off"
|
|
40
|
+
autoFocus
|
|
41
|
+
onChange={(e) => setEmail(e.target.value)}
|
|
42
|
+
placeholder="Enter Email"
|
|
43
|
+
required
|
|
44
|
+
disabled={isPending}
|
|
45
|
+
className="border border-gray-700 rounded-lg px-4 py-2 transition focus:outline-none focus:ring-1 ring-gray-500 bg-zinc-900 placeholder-white text-white autofill:bg-zinc-900 autofill:text-white"
|
|
46
|
+
style={{
|
|
47
|
+
WebkitBoxShadow: "0 0 0 1000px #18181b inset",
|
|
48
|
+
boxShadow: "0 0 0 1000px #18181b inset",
|
|
49
|
+
WebkitTextFillColor: "#fff",
|
|
50
|
+
}}
|
|
51
|
+
/>
|
|
52
|
+
</div>
|
|
53
|
+
<div className="flex flex-col gap-1.5">
|
|
54
|
+
<label htmlFor="admin-password" className="text-sm font-medium text-zinc-700">
|
|
55
|
+
Password
|
|
56
|
+
</label>
|
|
57
|
+
<input
|
|
58
|
+
id="admin-password"
|
|
59
|
+
type="password"
|
|
60
|
+
value={password}
|
|
61
|
+
autoComplete="off"
|
|
62
|
+
onChange={(e) => setPassword(e.target.value)}
|
|
63
|
+
placeholder="Enter Password"
|
|
64
|
+
required
|
|
65
|
+
disabled={isPending}
|
|
66
|
+
className="border border-gray-700 rounded-lg px-4 py-2 transition focus:outline-none focus:ring-1 ring-gray-500 bg-zinc-900 placeholder-white text-white"
|
|
67
|
+
style={{
|
|
68
|
+
WebkitBoxShadow: "0 0 0 1000px #18181b inset",
|
|
69
|
+
boxShadow: "0 0 0 1000px #18181b inset",
|
|
70
|
+
WebkitTextFillColor: "#fff",
|
|
71
|
+
}}
|
|
72
|
+
/>
|
|
73
|
+
</div>
|
|
74
|
+
{error && (
|
|
75
|
+
<div className="text-red-500 text-sm mt-1 rounded bg-red-50 p-2 border border-red-100 text-center animate-pulse">
|
|
76
|
+
{error}
|
|
77
|
+
</div>
|
|
78
|
+
)}
|
|
79
|
+
<button
|
|
80
|
+
type="submit"
|
|
81
|
+
disabled={isPending}
|
|
82
|
+
className="mt-2 rounded-lg bg-blue-600 hover:bg-blue-700 transition text-white font-semibold py-2 shadow text-lg disabled:opacity-60 disabled:cursor-not-allowed"
|
|
83
|
+
>
|
|
84
|
+
{isPending ? (
|
|
85
|
+
<span className="flex justify-center items-center gap-2">
|
|
86
|
+
<svg className="animate-spin h-5 w-5 text-white" viewBox="0 0 24 24">
|
|
87
|
+
<circle
|
|
88
|
+
className="opacity-25"
|
|
89
|
+
cx="12"
|
|
90
|
+
cy="12"
|
|
91
|
+
r="10"
|
|
92
|
+
stroke="currentColor"
|
|
93
|
+
strokeWidth="4"
|
|
94
|
+
fill="none"
|
|
95
|
+
/>
|
|
96
|
+
<path
|
|
97
|
+
className="opacity-75"
|
|
98
|
+
fill="currentColor"
|
|
99
|
+
d="M4 12a8 8 0 018-8v4l3-3-3-3v4a8 8 0 000 16v-4l-3 3 3 3v-4a8 8 0 01-8-8z"
|
|
100
|
+
/>
|
|
101
|
+
</svg>
|
|
102
|
+
Logging in...
|
|
103
|
+
</span>
|
|
104
|
+
) : (
|
|
105
|
+
"Submit"
|
|
106
|
+
)}
|
|
107
|
+
</button>
|
|
108
|
+
</form>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
)
|
|
112
|
+
}
|
|
113
|
+
`;
|
|
114
|
+
//# sourceMappingURL=supabaseAdminLoginLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabaseAdminLoginLayout.js","sourceRoot":"","sources":["../../../../src/template/supabase/admin/supabaseAdminLoginLayout.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHvC,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const adminProxy = "import { ENV } from \"@/configs/env\"\nimport { createServerClient } from \"@supabase/ssr\"\nimport { NextResponse, type NextRequest } from \"next/server\"\n\nexport async function proxy(request: NextRequest) {\n let supabaseResponse = NextResponse.next({ request })\n const { pathname } = request.nextUrl\n\n const isAdminRoute = pathname.startsWith(\"/admin\")\n\n if (isAdminRoute) {\n if (pathname.startsWith(\"/admin/login\")) {\n return supabaseResponse\n }\n\n const supabase = createServerClient(ENV.SUPABASE_URL!, ENV.SUPABASE_ANON_KEY!, {\n cookies: {\n getAll() {\n return request.cookies.getAll()\n },\n setAll(cookiesToSet) {\n cookiesToSet.forEach(({ name, value }) => request.cookies.set(name, value))\n supabaseResponse = NextResponse.next({ request })\n cookiesToSet.forEach(({ name, value, options }) => supabaseResponse.cookies.set(name, value, options))\n },\n },\n })\n\n const {\n data: { user },\n } = await supabase.auth.getUser()\n\n if (!user || user.id !== ENV.SUPABASE_ADMIN_UID) {\n return NextResponse.redirect(new URL(\"/\", request.url))\n }\n }\n\n return supabaseResponse\n}\n\nexport const config = {\n matcher: [\"/((?!_next/static|_next/image|favicon.ico|.*\\\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)\"],\n}\n";
|
|
2
|
+
//# sourceMappingURL=adminProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminProxy.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/proxy/adminProxy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,u1CA2CtB,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export const adminProxy = `import { ENV } from "@/configs/env"
|
|
2
|
+
import { createServerClient } from "@supabase/ssr"
|
|
3
|
+
import { NextResponse, type NextRequest } from "next/server"
|
|
4
|
+
|
|
5
|
+
export async function proxy(request: NextRequest) {
|
|
6
|
+
let supabaseResponse = NextResponse.next({ request })
|
|
7
|
+
const { pathname } = request.nextUrl
|
|
8
|
+
|
|
9
|
+
const isAdminRoute = pathname.startsWith("/admin")
|
|
10
|
+
|
|
11
|
+
if (isAdminRoute) {
|
|
12
|
+
if (pathname.startsWith("/admin/login")) {
|
|
13
|
+
return supabaseResponse
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const supabase = createServerClient(ENV.SUPABASE_URL!, ENV.SUPABASE_ANON_KEY!, {
|
|
17
|
+
cookies: {
|
|
18
|
+
getAll() {
|
|
19
|
+
return request.cookies.getAll()
|
|
20
|
+
},
|
|
21
|
+
setAll(cookiesToSet) {
|
|
22
|
+
cookiesToSet.forEach(({ name, value }) => request.cookies.set(name, value))
|
|
23
|
+
supabaseResponse = NextResponse.next({ request })
|
|
24
|
+
cookiesToSet.forEach(({ name, value, options }) => supabaseResponse.cookies.set(name, value, options))
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
const {
|
|
30
|
+
data: { user },
|
|
31
|
+
} = await supabase.auth.getUser()
|
|
32
|
+
|
|
33
|
+
if (!user || user.id !== ENV.SUPABASE_ADMIN_UID) {
|
|
34
|
+
return NextResponse.redirect(new URL("/", request.url))
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return supabaseResponse
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const config = {
|
|
42
|
+
matcher: ["/((?!_next/static|_next/image|favicon.ico|.*\\\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)"],
|
|
43
|
+
}
|
|
44
|
+
`;
|
|
45
|
+
//# sourceMappingURL=adminProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminProxy.js","sourceRoot":"","sources":["../../../../src/template/supabase/proxy/adminProxy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CzB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authAdminProxy.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/proxy/authAdminProxy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,cA2D1B,CAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export const authAdminProxy = () => `import { PROTECTED_ROUTES, ROUTES } from "@/generated/path/routes"
|
|
2
|
+
import { createServerClient } from "@supabase/ssr"
|
|
3
|
+
import { NextResponse, type NextRequest } from "next/server"
|
|
4
|
+
import { ENV } from "./configs/env"
|
|
5
|
+
|
|
6
|
+
export async function proxy(request: NextRequest) {
|
|
7
|
+
let supabaseResponse = NextResponse.next({
|
|
8
|
+
request: {
|
|
9
|
+
headers: request.headers,
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
const { pathname } = request.nextUrl
|
|
13
|
+
|
|
14
|
+
const supabase = createServerClient(
|
|
15
|
+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
|
|
16
|
+
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
|
|
17
|
+
{
|
|
18
|
+
cookies: {
|
|
19
|
+
getAll() {
|
|
20
|
+
return request.cookies.getAll()
|
|
21
|
+
},
|
|
22
|
+
setAll(cookiesToSet) {
|
|
23
|
+
cookiesToSet.forEach(({ name, value }) => request.cookies.set(name, value))
|
|
24
|
+
supabaseResponse = NextResponse.next({
|
|
25
|
+
request,
|
|
26
|
+
})
|
|
27
|
+
cookiesToSet.forEach(({ name, value, options }) => supabaseResponse.cookies.set(name, value, options))
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const {
|
|
34
|
+
data: { user },
|
|
35
|
+
} = await supabase.auth.getUser()
|
|
36
|
+
|
|
37
|
+
const isAdminRoute = pathname.startsWith("/admin")
|
|
38
|
+
|
|
39
|
+
if (isAdminRoute) {
|
|
40
|
+
if (!user) {
|
|
41
|
+
return NextResponse.redirect(new URL("/", request.url))
|
|
42
|
+
}
|
|
43
|
+
if (user.id !== ENV.SUPABASE_ADMIN_UID) {
|
|
44
|
+
return NextResponse.redirect(new URL("/", request.url))
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const isProtectedRoute = PROTECTED_ROUTES.some((route) => pathname.startsWith(route))
|
|
49
|
+
|
|
50
|
+
if (isProtectedRoute && !user) {
|
|
51
|
+
return NextResponse.redirect(new URL(ROUTES.LOGIN, request.url))
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return supabaseResponse
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const config = {
|
|
58
|
+
matcher: ["/((?!_next/static|_next/image|favicon.ico|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)"],
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
//# sourceMappingURL=authAdminProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authAdminProxy.js","sourceRoot":"","sources":["../../../../src/template/supabase/proxy/authAdminProxy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DnC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authProxy.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/proxy/authProxy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,cA+CrB,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const authProxy = () => `import { PROTECTED_ROUTES, ROUTES } from "@/generated/path/routes"
|
|
2
|
+
import { createServerClient } from "@supabase/ssr"
|
|
3
|
+
import { NextResponse, type NextRequest } from "next/server"
|
|
4
|
+
|
|
5
|
+
export async function proxy(request: NextRequest) {
|
|
6
|
+
let supabaseResponse = NextResponse.next({
|
|
7
|
+
request: {
|
|
8
|
+
headers: request.headers,
|
|
9
|
+
},
|
|
10
|
+
})
|
|
11
|
+
const { pathname } = request.nextUrl
|
|
12
|
+
|
|
13
|
+
const supabase = createServerClient(
|
|
14
|
+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
|
|
15
|
+
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
|
|
16
|
+
{
|
|
17
|
+
cookies: {
|
|
18
|
+
getAll() {
|
|
19
|
+
return request.cookies.getAll()
|
|
20
|
+
},
|
|
21
|
+
setAll(cookiesToSet) {
|
|
22
|
+
cookiesToSet.forEach(({ name, value }) => request.cookies.set(name, value))
|
|
23
|
+
supabaseResponse = NextResponse.next({
|
|
24
|
+
request,
|
|
25
|
+
})
|
|
26
|
+
cookiesToSet.forEach(({ name, value, options }) => supabaseResponse.cookies.set(name, value, options))
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
const {
|
|
33
|
+
data: { user },
|
|
34
|
+
} = await supabase.auth.getUser()
|
|
35
|
+
|
|
36
|
+
const isProtectedRoute = PROTECTED_ROUTES.some((route) => pathname.startsWith(route))
|
|
37
|
+
|
|
38
|
+
if (isProtectedRoute && !user) {
|
|
39
|
+
return NextResponse.redirect(new URL(ROUTES.LOGIN, request.url))
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return supabaseResponse
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const config = {
|
|
46
|
+
matcher: ["/((?!_next/static|_next/image|favicon.ico|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)"],
|
|
47
|
+
}
|
|
48
|
+
`;
|
|
49
|
+
//# sourceMappingURL=authProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authProxy.js","sourceRoot":"","sources":["../../../../src/template/supabase/proxy/authProxy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C9B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleCallback.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/route/googleCallback.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,cAuB1B,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const googleCallback = () => `"use server"
|
|
2
|
+
|
|
3
|
+
import { createClient } from "@/lib/supabase/server"
|
|
4
|
+
import { NextResponse } from "next/server"
|
|
5
|
+
|
|
6
|
+
export async function GET(request: Request) {
|
|
7
|
+
const { searchParams, origin } = new URL(request.url)
|
|
8
|
+
const code = searchParams.get("code")
|
|
9
|
+
const next = searchParams.get("next") ?? "/"
|
|
10
|
+
|
|
11
|
+
if (code) {
|
|
12
|
+
const supabase = await createClient()
|
|
13
|
+
|
|
14
|
+
const { error } = await supabase.auth.exchangeCodeForSession(code)
|
|
15
|
+
|
|
16
|
+
if (!error) {
|
|
17
|
+
return NextResponse.redirect(\`\${origin}\${next}\`)
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return NextResponse.redirect(\`\${origin}/login?message=signin_with_failed&provider=google\`)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
`;
|
|
25
|
+
//# sourceMappingURL=googleCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleCallback.js","sourceRoot":"","sources":["../../../../src/template/supabase/route/googleCallback.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBnC,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const userSchema = "import { z } from \"zod\"\n\nexport const SafeUserDefaultSchema = z.object({\n id: z.uuid(),\n email: z.email(),\n phone: z.string().optional(),\n name: z.string().optional(),\n providers: z.array(z.enum([\"google\", \"email\"])),\n avatarUrl: z.url().optional(),\n})\n\nexport type SafeUserDTO = z.infer<typeof SafeUserDefaultSchema>\n";
|
|
2
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/template/supabase/schemas/user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,2VAYtB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const userSchema = `import { z } from "zod"
|
|
2
|
+
|
|
3
|
+
export const SafeUserDefaultSchema = z.object({
|
|
4
|
+
id: z.uuid(),
|
|
5
|
+
email: z.email(),
|
|
6
|
+
phone: z.string().optional(),
|
|
7
|
+
name: z.string().optional(),
|
|
8
|
+
providers: z.array(z.enum(["google", "email"])),
|
|
9
|
+
avatarUrl: z.url().optional(),
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
export type SafeUserDTO = z.infer<typeof SafeUserDefaultSchema>
|
|
13
|
+
`;
|
|
14
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/template/supabase/schemas/user.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;CAYzB,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const supabaseUtilClient = "import { ENV } from \"@/configs/env\"\nimport {
|
|
1
|
+
export declare const supabaseUtilClient = "import { ENV } from \"@/configs/env\"\nimport { createBrowserClient } from \"@supabase/ssr\"\n\nconst supabaseUrl = ENV.SUPABASE_URL\nconst supabaseKey = ENV.SUPABASE_ANON_KEY\n\nexport const supabase = createBrowserClient(supabaseUrl, supabaseKey)\n";
|
|
2
2
|
export declare const supabaseUtilServer = "import { ENV } from \"@/configs/env\"\nimport { createServerClient } from \"@supabase/ssr\"\nimport { cookies } from \"next/headers\"\n\nexport async function createClient() {\n const cookieStore = await cookies()\n\n return createServerClient(ENV.SUPABASE_URL, ENV.SUPABASE_ANON_KEY, {\n cookies: {\n getAll() {\n return cookieStore.getAll()\n },\n setAll(cookiesToSet) {\n try {\n cookiesToSet.forEach(({ name, value, options }) => cookieStore.set(name, value, options))\n } catch {}\n },\n },\n })\n}";
|
|
3
3
|
//# sourceMappingURL=utilBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilBase.d.ts","sourceRoot":"","sources":["../../../src/template/supabase/utilBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"utilBase.d.ts","sourceRoot":"","sources":["../../../src/template/supabase/utilBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,+PAO9B,CAAA;AAED,eAAO,MAAM,kBAAkB,ujBAmB7B,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export const supabaseUtilClient = `import { ENV } from "@/configs/env"
|
|
2
|
-
import {
|
|
2
|
+
import { createBrowserClient } from "@supabase/ssr"
|
|
3
3
|
|
|
4
4
|
const supabaseUrl = ENV.SUPABASE_URL
|
|
5
5
|
const supabaseKey = ENV.SUPABASE_ANON_KEY
|
|
6
6
|
|
|
7
|
-
export const supabase =
|
|
7
|
+
export const supabase = createBrowserClient(supabaseUrl, supabaseKey)
|
|
8
8
|
`;
|
|
9
9
|
export const supabaseUtilServer = `import { ENV } from "@/configs/env"
|
|
10
10
|
import { createServerClient } from "@supabase/ssr"
|
|
@@ -13,7 +13,8 @@ export declare abstract class BaseStateCommand extends BaseCommand {
|
|
|
13
13
|
protected abstract generateStateFile(generateType: "general" | "provider" | "persist", stateClassName: string): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
export declare abstract class BaseSupabaseCommand extends BaseCommand {
|
|
16
|
-
protected abstract generateAdmin(configsDir: string): Promise<void>;
|
|
16
|
+
protected abstract generateAdmin(configsDir: string, isNeedAuth: boolean): Promise<void>;
|
|
17
|
+
protected abstract generateAuth(isNeedAdmin: boolean): Promise<void>;
|
|
17
18
|
protected abstract generateCrud(crudName: string): Promise<void>;
|
|
18
19
|
}
|
|
19
20
|
export declare abstract class BaseLocalstorageCommand extends BaseCommand {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseExtensionCommands.d.ts","sourceRoot":"","sources":["../../src/types/BaseExtensionCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,8BAAsB,cAAe,SAAQ,WAAW;IACtD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE;IACxF,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAChF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACzG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CACvD;AAED,8BAAsB,gBAAiB,SAAQ,WAAW;IACxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAClC,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,EAChD,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CACjB;AAED,8BAAsB,mBAAoB,SAAQ,WAAW;IAC3D,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseExtensionCommands.d.ts","sourceRoot":"","sources":["../../src/types/BaseExtensionCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,8BAAsB,cAAe,SAAQ,WAAW;IACtD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE;IACxF,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAChF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACzG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CACvD;AAED,8BAAsB,gBAAiB,SAAQ,WAAW;IACxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAClC,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,EAChD,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CACjB;AAED,8BAAsB,mBAAoB,SAAQ,WAAW;IAC3D,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IACxF,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACjE;AAED,8BAAsB,uBAAwB,SAAQ,WAAW;CAAG;AAEpE,8BAAsB,gBAAiB,SAAQ,WAAW;CAAG;AAE7D,8BAAsB,gBAAiB,SAAQ,WAAW;IACxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE;CACvE;AAED,8BAAsB,cAAe,SAAQ,WAAW;IACtD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE;CAC/D;AAED,8BAAsB,gBAAiB,SAAQ,WAAW;CAAG;AAE7D,8BAAsB,mBAAoB,SAAQ,WAAW;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseExtensionCommands.js","sourceRoot":"","sources":["../../src/types/BaseExtensionCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,MAAM,OAAgB,cAAe,SAAQ,WAAW;CAMvD;AAED,MAAM,OAAgB,gBAAiB,SAAQ,WAAW;CAKzD;AAED,MAAM,OAAgB,mBAAoB,SAAQ,WAAW;
|
|
1
|
+
{"version":3,"file":"BaseExtensionCommands.js","sourceRoot":"","sources":["../../src/types/BaseExtensionCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,MAAM,OAAgB,cAAe,SAAQ,WAAW;CAMvD;AAED,MAAM,OAAgB,gBAAiB,SAAQ,WAAW;CAKzD;AAED,MAAM,OAAgB,mBAAoB,SAAQ,WAAW;CAI5D;AAED,MAAM,OAAgB,uBAAwB,SAAQ,WAAW;CAAG;AAEpE,MAAM,OAAgB,gBAAiB,SAAQ,WAAW;CAAG;AAE7D,MAAM,OAAgB,gBAAiB,SAAQ,WAAW;CAGzD;AAED,MAAM,OAAgB,cAAe,SAAQ,WAAW;CAEvD;AAED,MAAM,OAAgB,gBAAiB,SAAQ,WAAW;CAAG;AAE7D,MAAM,OAAgB,mBAAoB,SAAQ,WAAW;CAAG"}
|