create-varity-app 2.0.0-beta.15 → 2.0.0-beta.17
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/package.json
CHANGED
|
@@ -2,5 +2,14 @@
|
|
|
2
2
|
> my-saas-app@0.1.0 build /home/macoding/varity-workspace/varity-sdk-private/templates/saas-starter
|
|
3
3
|
> next build
|
|
4
4
|
|
|
5
|
+
⚠ Warning: Next.js inferred your workspace root, but it may not be correct.
|
|
6
|
+
We detected multiple lockfiles and selected the directory of /home/macoding/varity-workspace/package-lock.json as the root directory.
|
|
7
|
+
To silence this warning, set `outputFileTracingRoot` in your Next.js config, or consider removing one of the lockfiles if it's not needed.
|
|
8
|
+
See https://nextjs.org/docs/app/api-reference/config/next-config-js/output#caveats for more information.
|
|
9
|
+
Detected additional lockfiles:
|
|
10
|
+
* /home/macoding/varity-workspace/varity-sdk-private/pnpm-lock.yaml
|
|
11
|
+
|
|
5
12
|
▲ Next.js 15.5.11
|
|
6
13
|
|
|
14
|
+
Creating an optimized production build ...
|
|
15
|
+
⚠ Mismatching @next/swc version, detected: 15.5.7 while Next.js is on 15.5.11. Please ensure these match
|
package/template/KNOWN_ISSUES.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
| Settings | Working | 4 tabs with backend persistence via DB Proxy |
|
|
18
18
|
| Command Palette | Working | Cmd+K / Ctrl+K |
|
|
19
19
|
| Color Themes | Working | 4 presets (Blue, Purple, Green, Orange) |
|
|
20
|
-
| Static Export | Working | `output: 'export'` for
|
|
20
|
+
| Static Export | Working | `output: 'export'` for static hosting (global CDN) |
|
|
21
21
|
| Mobile Nav | Working | Responsive sidebar with hamburger menu |
|
|
22
22
|
|
|
23
23
|
## Known Issues
|
package/template/next.config.js
CHANGED
|
@@ -3,18 +3,11 @@ const nextConfig = {
|
|
|
3
3
|
output: 'export',
|
|
4
4
|
images: { unoptimized: true },
|
|
5
5
|
trailingSlash: true,
|
|
6
|
-
basePath: process.env.NEXT_PUBLIC_BASE_PATH || '',
|
|
7
6
|
productionBrowserSourceMaps: false,
|
|
8
7
|
webpack: (config, { isServer, dev }) => {
|
|
9
|
-
// Suppress
|
|
10
|
-
config.resolve.
|
|
11
|
-
|
|
12
|
-
'@react-native-async-storage/async-storage': false,
|
|
13
|
-
};
|
|
14
|
-
// Force production devtool to avoid 35MB eval-source-map chunks
|
|
15
|
-
if (!dev && !isServer) {
|
|
16
|
-
config.devtool = false;
|
|
17
|
-
}
|
|
8
|
+
// Suppress unused optional peer dependencies from UI Kit internals
|
|
9
|
+
['@react-native-async-storage/async-storage', '@solana/kit', '@solana/sysvars', '@solana-program/token-2022', 'x402', '@coinbase/wallet-sdk', '@walletconnect/ethereum-provider'].forEach(pkg => { config.resolve.alias[pkg] = false; });
|
|
10
|
+
if (!dev && !isServer) config.devtool = false;
|
|
18
11
|
return config;
|
|
19
12
|
},
|
|
20
13
|
};
|
|
@@ -7,7 +7,11 @@ import { useProjects, useTasks, useTeam } from '@/lib/hooks';
|
|
|
7
7
|
import { CommandPalette } from '@varity-labs/ui-kit';
|
|
8
8
|
import { Menu, X } from 'lucide-react';
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// Defensively import Privy/UI-Kit components at runtime (not statically) so the
|
|
11
|
+
// dashboard renders gracefully even if @varity-labs/ui-kit hasn't been installed
|
|
12
|
+
// yet (e.g. during local scaffolding before `npm install` completes).
|
|
13
|
+
// This is intentional — it is NOT a sign that something is broken.
|
|
14
|
+
// See KNOWN_ISSUES.md for details on this pattern.
|
|
11
15
|
let DashboardLayout: any = null;
|
|
12
16
|
let PrivyProtectedRoute: any = null;
|
|
13
17
|
let PrivyStackComponent: any = null;
|
|
@@ -19,7 +23,9 @@ try {
|
|
|
19
23
|
PrivyProtectedRoute = uiKit.PrivyProtectedRoute;
|
|
20
24
|
PrivyStackComponent = uiKit.PrivyStack;
|
|
21
25
|
usePrivyHook = uiKit.usePrivy;
|
|
22
|
-
} catch {
|
|
26
|
+
} catch {
|
|
27
|
+
// ui-kit not installed or not yet available — DashboardShell fallback renders below
|
|
28
|
+
}
|
|
23
29
|
|
|
24
30
|
function RedirectToLogin() {
|
|
25
31
|
const router = useRouter();
|
|
@@ -154,7 +160,7 @@ function DashboardShell({ children }: { children: React.ReactNode }) {
|
|
|
154
160
|
|
|
155
161
|
const handleLogout = async () => {
|
|
156
162
|
await logout();
|
|
157
|
-
|
|
163
|
+
router.push('/');
|
|
158
164
|
};
|
|
159
165
|
|
|
160
166
|
// Fallback layout when DashboardLayout from ui-kit isn't available
|
|
@@ -255,7 +261,7 @@ function DashboardShell({ children }: { children: React.ReactNode }) {
|
|
|
255
261
|
showSidebar={!isMobile}
|
|
256
262
|
user={{
|
|
257
263
|
name: userName,
|
|
258
|
-
|
|
264
|
+
email: userEmail,
|
|
259
265
|
}}
|
|
260
266
|
onLogout={handleLogout}
|
|
261
267
|
onNavigateToProfile={() => router.push('/dashboard/settings')}
|
|
@@ -286,7 +292,6 @@ export default function DashboardRootLayout({
|
|
|
286
292
|
return (
|
|
287
293
|
<PrivyStackComponent
|
|
288
294
|
appId={process.env.NEXT_PUBLIC_PRIVY_APP_ID}
|
|
289
|
-
thirdwebClientId={process.env.NEXT_PUBLIC_THIRDWEB_CLIENT_ID}
|
|
290
295
|
loginMethods={['email', 'google']}
|
|
291
296
|
appearance={{ theme: 'light', accentColor: '#2563EB', logo: '/logo.svg' }}
|
|
292
297
|
>
|
|
@@ -84,9 +84,8 @@ export default function LoginPage() {
|
|
|
84
84
|
return (
|
|
85
85
|
<PrivyStackComponent
|
|
86
86
|
appId={process.env.NEXT_PUBLIC_PRIVY_APP_ID}
|
|
87
|
-
thirdwebClientId={process.env.NEXT_PUBLIC_THIRDWEB_CLIENT_ID}
|
|
88
87
|
loginMethods={['email', 'google']}
|
|
89
|
-
appearance={{ theme: 'light', accentColor: '#2563EB' }}
|
|
88
|
+
appearance={{ theme: 'light', accentColor: '#2563EB', logo: '/logo.svg' }}
|
|
90
89
|
>
|
|
91
90
|
<LoginContent />
|
|
92
91
|
</PrivyStackComponent>
|