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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-varity-app",
3
- "version": "2.0.0-beta.15",
3
+ "version": "2.0.0-beta.17",
4
4
  "description": "Create production-ready apps with auth, database, and payments built in",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -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
@@ -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 IPFS deployment |
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
@@ -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 MetaMask SDK warning for @react-native-async-storage
10
- config.resolve.fallback = {
11
- ...config.resolve.fallback,
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
- // Conditionally import Privy/UI-Kit components
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
- window.location.href = '/';
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
- address: userEmail,
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>
@@ -2,7 +2,7 @@
2
2
  "name": "my-saas-app",
3
3
  "version": "0.1.0",
4
4
  "framework": "nextjs",
5
- "hosting": "ipfs",
5
+ "hosting": "static",
6
6
  "build": {
7
7
  "command": "npm run build",
8
8
  "output": "out"