create-universal-dapp 1.0.1 → 1.0.3

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.
@@ -17,7 +17,7 @@ export async function createNextjsApp(options) {
17
17
  await createESLintConfig(options);
18
18
  }
19
19
  // Create Tailwind config (Tailwind-only setup)
20
- await createTailwindConfig(options);
20
+ await createPostcssConfig(options);
21
21
  spinner.succeed('Next.js project structure created');
22
22
  }
23
23
  catch (error) {
@@ -26,31 +26,41 @@ export async function createNextjsApp(options) {
26
26
  }
27
27
  }
28
28
  async function createNextjsPackageJson(options) {
29
+ const baseDevDeps = {
30
+ "@tailwindcss/postcss": "^4",
31
+ "@types/node": "^20",
32
+ "@types/react": "^19",
33
+ "@types/react-dom": "^19",
34
+ "tailwindcss": "^4",
35
+ "typescript": "^5"
36
+ };
37
+ const eslintDevDeps = {
38
+ "@eslint/eslintrc": "^3",
39
+ "eslint": "^9",
40
+ "eslint-config-next": "15.5.3",
41
+ };
42
+ const devDependencies = {
43
+ ...baseDevDeps,
44
+ ...(options.eslint ? eslintDevDeps : {}),
45
+ };
29
46
  const packageJson = {
30
47
  name: options.projectName,
31
- version: "0.1.0",
32
48
  private: true,
49
+ version: "0.0.0",
50
+ type: "module",
33
51
  scripts: {
34
- dev: "next dev",
35
- build: "next build",
36
- start: "next start",
37
- lint: options.eslint ? "next lint" : undefined
52
+ dev: "vite",
53
+ build: "tsc && vite build",
54
+ ...(options.eslint && { lint: "eslint ." }),
55
+ preview: "vite preview"
38
56
  },
39
57
  dependencies: {
40
- react: "^18.3.1",
41
- "react-dom": "^18.3.1",
42
- next: "^14.0.0",
43
- "@pushchain/ui-kit": "^1.1.33"
58
+ "@pushchain/ui-kit": "^1.1.34",
59
+ "next": "15.5.3",
60
+ "react": "19.1.0",
61
+ "react-dom": "19.1.0"
44
62
  },
45
- devDependencies: {
46
- typescript: "^5.2.2",
47
- "@types/node": "^20.8.0",
48
- "@types/react": "^18.2.33",
49
- "@types/react-dom": "^18.2.14",
50
- tailwindcss: "^3.3.0",
51
- autoprefixer: "^10.4.16",
52
- postcss: "^8.4.31"
53
- }
63
+ devDependencies,
54
64
  };
55
65
  // Remove undefined values
56
66
  Object.keys(packageJson.scripts).forEach(key => {
@@ -63,177 +73,160 @@ async function createNextjsPackageJson(options) {
63
73
  }
64
74
  async function createNextjsConfig(options) {
65
75
  // Next.js config
66
- const nextConfig = `/** @type {import('next').NextConfig} */
67
- const nextConfig = {
68
- // Add any Next.js config options here
69
- }
76
+ const nextConfig = `import type { NextConfig } from "next";
77
+
78
+ const nextConfig: NextConfig = {
79
+ /* config options here */
80
+ reactStrictMode: true,
81
+ };
70
82
 
71
- module.exports = nextConfig`;
83
+ export default nextConfig;`;
72
84
  await fs.writeFile(path.join(options.targetDir, 'next.config.js'), nextConfig);
73
85
  // TypeScript config
74
86
  const tsConfig = {
75
- compilerOptions: {
76
- target: "es5",
77
- lib: ["dom", "dom.iterable", "es6"],
78
- allowJs: true,
79
- skipLibCheck: true,
80
- strict: true,
81
- forceConsistentCasingInFileNames: true,
82
- noEmit: true,
83
- esModuleInterop: true,
84
- module: "esnext",
85
- moduleResolution: "bundler",
86
- resolveJsonModule: true,
87
- isolatedModules: true,
88
- jsx: "preserve",
89
- incremental: true,
90
- plugins: [
91
- {
92
- name: "next"
93
- }
94
- ],
95
- baseUrl: ".",
96
- paths: {
87
+ "compilerOptions": {
88
+ "target": "ES2017",
89
+ "lib": ["dom", "dom.iterable", "esnext"],
90
+ "allowJs": true,
91
+ "skipLibCheck": true,
92
+ "strict": true,
93
+ "noEmit": true,
94
+ "esModuleInterop": true,
95
+ "module": "esnext",
96
+ "moduleResolution": "bundler",
97
+ "resolveJsonModule": true,
98
+ "isolatedModules": true,
99
+ "jsx": "preserve",
100
+ "incremental": true,
101
+ "paths": {
97
102
  "@/*": ["./src/*"]
98
103
  }
99
104
  },
100
- include: ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
101
- exclude: ["node_modules"]
105
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
106
+ "exclude": ["node_modules"]
102
107
  };
103
108
  await fs.writeJSON(path.join(options.targetDir, 'tsconfig.json'), tsConfig, { spaces: 2 });
104
109
  }
105
110
  async function createNextjsSourceFiles(options) {
106
111
  // Create src directory structure
107
112
  const srcDir = path.join(options.targetDir, 'src');
108
- const appDir = path.join(srcDir, 'app');
113
+ const appDir = path.join(srcDir, 'pages');
114
+ const stylesDir = path.join(srcDir, 'styles');
109
115
  await fs.ensureDir(appDir);
110
116
  // Create app layout
111
- const layout = `import './globals.css'
112
- import { Inter } from 'next/font/google'
113
- import { PushChainProviders } from '@/providers/PushChainProviders'
114
- import type { Metadata } from 'next'
115
-
116
- const inter = Inter({ subsets: ['latin'] })
117
+ const layout = `import "@/styles/globals.css";
118
+ import type { AppProps } from "next/app";
119
+ import { PushChainProviders } from '../providers/PushChainProviders';
117
120
 
118
- export const metadata: Metadata = {
119
- title: '${options.projectName}',
120
- description: 'A Push Chain application built with Next.js - enabling universal blockchain access and shared state management.',
121
- keywords: ['Push Chain', 'blockchain', 'Web3', 'universal wallet', 'Next.js'],
122
- authors: [{ name: '${options.projectName} Team' }],
123
- creator: '${options.projectName}',
124
- publisher: '${options.projectName}',
125
- formatDetection: {
126
- email: false,
127
- address: false,
128
- telephone: false,
129
- },
130
- metadataBase: new URL('https://your-domain.com'), // Replace with your actual domain
131
- openGraph: {
132
- title: '${options.projectName}',
133
- description: 'A Push Chain application built with Next.js',
134
- url: 'https://your-domain.com', // Replace with your actual URL
135
- siteName: '${options.projectName}',
136
- locale: 'en_US',
137
- type: 'website',
138
- },
139
- twitter: {
140
- card: 'summary_large_image',
141
- title: '${options.projectName}',
142
- description: 'A Push Chain application built with Next.js',
143
- creator: '@your_twitter_handle', // Replace with your Twitter handle
144
- },
145
- robots: {
146
- index: true,
147
- follow: true,
148
- googleBot: {
149
- index: true,
150
- follow: true,
151
- 'max-video-preview': -1,
152
- 'max-image-preview': 'large',
153
- 'max-snippet': -1,
154
- },
155
- },
156
- }
121
+ export default function App({ Component, pageProps }: AppProps) {
122
+ return (
123
+ <PushChainProviders>
124
+ <Component {...pageProps} />
125
+ </PushChainProviders>
126
+ );
127
+ }`;
128
+ await fs.writeFile(path.join(appDir, '_app.tsx'), layout);
129
+ // Create document layout
130
+ const document = `import { Html, Head, Main, NextScript } from "next/document";
157
131
 
158
- export default function RootLayout({
159
- children,
160
- }: {
161
- children: React.ReactNode
162
- }) {
132
+ export default function Document() {
163
133
  return (
164
- <html lang="en">
165
- <body className={inter.className}>
166
- <PushChainProviders>
167
- {children}
168
- </PushChainProviders>
134
+ <Html lang="en">
135
+ <Head />
136
+ <body className="antialiased">
137
+ <Main />
138
+ <NextScript />
169
139
  </body>
170
- </html>
171
- )
140
+ </Html>
141
+ );
172
142
  }`;
173
- await fs.writeFile(path.join(appDir, 'layout.tsx'), layout);
143
+ await fs.writeFile(path.join(appDir, '_document.tsx'), document);
174
144
  // Create main page
175
145
  const page = `'use client'
176
146
 
177
147
  import { PushUniversalAccountButton, usePushWalletContext } from '@pushchain/ui-kit'
178
148
 
179
- export default function Home() {
149
+ function App() {
180
150
  const { universalAccount } = usePushWalletContext();
181
151
 
182
152
  console.log("universalAccount", universalAccount);
183
-
153
+
184
154
  return (
185
- <main className="min-h-screen bg-white text-gray-900 p-8">
186
- <div className="container mx-auto max-w-4xl">
155
+ <div className="min-h-screen p-8">
156
+ <div className="max-w-[800px] mx-auto">
187
157
  <div className="text-center mb-8">
188
- <h1 className="text-4xl font-bold mb-4">
189
- Welcome to ${options.projectName}
158
+ <h1 className="text-[2.5rem] font-bold mb-4">
159
+ Welcome to my-push-app
190
160
  </h1>
191
- <p className="text-lg text-gray-600 mb-8">
161
+ <p className="text-[1.2rem] text-gray-400 mb-8">
192
162
  Your Push Chain application is ready to go!
193
163
  </p>
194
164
  </div>
165
+
166
+ <div className="max-w-[600px] mx-auto p-8 border border-gray-300 rounded-lg text-center">
167
+ <h2 className="mb-4">Push Chain Integration</h2>
195
168
 
196
- <div className="max-w-2xl mx-auto border rounded-lg shadow-sm p-6">
197
- <div className="flex items-center justify-between mb-4">
198
- <h2 className="text-2xl font-semibold">Push Chain Integration</h2>
199
- <span className={"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold text-white " + (universalAccount ? 'bg-green-500' : 'bg-gray-500')}>
200
- {universalAccount ? 'Connected' : 'Not Connected'}
169
+ <div className="mb-4">
170
+ <span
171
+ className={"px-2 py-1 rounded text-white text-[12px] " + (universalAccount ? 'bg-green-500' : 'bg-gray-500')}
172
+ >
173
+ {universalAccount ? "Connected" : "Not Connected"}
201
174
  </span>
202
175
  </div>
203
-
204
- <div className="flex justify-center mb-6">
176
+
177
+ <div className="mb-8 justify-items-center">
205
178
  <PushUniversalAccountButton />
206
179
  </div>
207
-
180
+
208
181
  {universalAccount && (
209
- <div className="mt-6 p-4 bg-gray-100 rounded-lg">
210
- <h3 className="font-semibold mb-2">Account Details:</h3>
211
- <pre className="text-sm overflow-auto">
182
+ <div className="mt-8 p-4 bg-gray-100 text-neutral-800 rounded-md text-left">
183
+ <h3 className="font-bold mb-2">Account Details:</h3>
184
+ <pre className="text-[0.8rem] overflow-auto">
212
185
  {JSON.stringify(universalAccount, null, 2)}
213
186
  </pre>
214
187
  </div>
215
188
  )}
216
-
217
- <div className="text-sm text-gray-600 mt-6">
218
- <p className="font-medium">Next steps:</p>
219
- <ul className="list-disc list-inside space-y-1 mt-2">
189
+
190
+ <div className="text-[0.9rem] text-gray-400 mt-8 text-left">
191
+ <p><strong>Next steps:</strong></p>
192
+ <ul className="my-2 pl-6 list-disc">
220
193
  <li>Configure your Push Chain settings in providers/PushChainProviders.tsx</li>
221
- <li>Customize the app metadata in app/layout.tsx</li>
194
+ <li>Customize the app metadata with your branding</li>
222
195
  <li>Add your chain configuration and RPC URLs</li>
223
196
  <li>Explore the @pushchain/ui-kit for more components</li>
224
197
  </ul>
225
198
  </div>
226
199
  </div>
227
200
  </div>
228
- </main>
201
+ </div>
229
202
  )
230
- }`;
231
- await fs.writeFile(path.join(appDir, 'page.tsx'), page);
203
+ }
204
+
205
+ export default App`;
206
+ await fs.writeFile(path.join(appDir, 'index.tsx'), page);
232
207
  // Create global CSS (Tailwind directives only)
233
- const globalCss = `@tailwind base;
234
- @tailwind components;
235
- @tailwind utilities;`;
236
- await fs.writeFile(path.join(appDir, 'globals.css'), globalCss);
208
+ const globalCss = `@import "tailwindcss";
209
+
210
+ :root {
211
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
212
+ line-height: 1.5;
213
+ font-weight: 400;
214
+
215
+ color: rgba(255, 255, 255, 0.87);
216
+ background-color: #242424;
217
+
218
+ font-synthesis: none;
219
+ text-rendering: optimizeLegibility;
220
+ -webkit-font-smoothing: antialiased;
221
+ -moz-osx-font-smoothing: grayscale;
222
+ -webkit-text-size-adjust: 100%;
223
+ }
224
+
225
+ h1 {
226
+ font-size: 3.2em;
227
+ line-height: 1.1;
228
+ }`;
229
+ await fs.writeFile(path.join(stylesDir, 'globals.css'), globalCss);
237
230
  }
238
231
  async function createPushChainIntegration(options) {
239
232
  // Create providers directory
@@ -307,10 +300,6 @@ const PushChainProviders = ({ children }: { children: React.ReactNode }) => {
307
300
 
308
301
  // Add more chains as needed:
309
302
  // "eip155:1": ["https://mainnet.infura.io/v3/YOUR_PROJECT_ID"], // Ethereum Mainnet
310
- // "eip155:137": ["https://polygon-rpc.com/"], // Polygon
311
- // "eip155:42161": ["https://arb1.arbitrum.io/rpc"], // Arbitrum
312
- // "eip155:10": ["https://mainnet.optimism.io"], // Optimism
313
- // "eip155:8453": ["https://mainnet.base.org"], // Base
314
303
  },
315
304
  },
316
305
  };
@@ -363,44 +352,42 @@ NEXT_PUBLIC_PUSHCHAIN_NETWORK=testnet
363
352
  await fs.writeFile(path.join(options.targetDir, '.env.local'), envFile);
364
353
  }
365
354
  async function createESLintConfig(options) {
366
- const eslintConfig = {
367
- extends: [
368
- "next/core-web-vitals",
369
- "@typescript-eslint/recommended"
370
- ],
371
- parser: "@typescript-eslint/parser",
372
- plugins: ["@typescript-eslint"],
373
- rules: {
374
- "@typescript-eslint/no-unused-vars": "warn",
375
- "@typescript-eslint/no-explicit-any": "warn"
376
- }
377
- };
378
- await fs.writeJSON(path.join(options.targetDir, '.eslintrc.json'), eslintConfig, { spaces: 2 });
379
- }
380
- async function createTailwindConfig(options) {
381
- const tailwindConfig = `/** @type {import('tailwindcss').Config} */
382
- module.exports = {
383
- darkMode: ["class"],
384
- content: [
385
- './pages/**/*.{ts,tsx}',
386
- './components/**/*.{ts,tsx}',
387
- './app/**/*.{ts,tsx}',
388
- './src/**/*.{ts,tsx}',
389
- ],
390
- theme: {
391
- extend: {},
355
+ const config = `import { dirname } from "path";
356
+ import { fileURLToPath } from "url";
357
+ import { FlatCompat } from "@eslint/eslintrc";
358
+
359
+ const __filename = fileURLToPath(import.meta.url);
360
+ const __dirname = dirname(__filename);
361
+
362
+ const compat = new FlatCompat({
363
+ baseDirectory: __dirname,
364
+ });
365
+
366
+ const eslintConfig = [
367
+ ...compat.extends("next/core-web-vitals", "next/typescript"),
368
+ {
369
+ ignores: [
370
+ "node_modules/**",
371
+ ".next/**",
372
+ "out/**",
373
+ "build/**",
374
+ "next-env.d.ts",
375
+ ],
392
376
  },
393
- plugins: [],
394
- }`;
395
- await fs.writeFile(path.join(options.targetDir, 'tailwind.config.js'), tailwindConfig);
377
+ ];
378
+
379
+ export default eslintConfig;
380
+ `;
381
+ await fs.writeJSON(path.join(options.targetDir, 'eslint.config.mjs'), config);
382
+ }
383
+ async function createPostcssConfig(options) {
396
384
  // PostCSS config
397
- const postcssConfig = `module.exports = {
398
- plugins: {
399
- tailwindcss: {},
400
- autoprefixer: {},
401
- },
402
- }`;
403
- await fs.writeFile(path.join(options.targetDir, 'postcss.config.js'), postcssConfig);
385
+ const postcssConfig = `const config = {
386
+ plugins: ["@tailwindcss/postcss"],
387
+ };
388
+
389
+ export default config;
390
+ `;
391
+ await fs.writeFile(path.join(options.targetDir, 'postcss.config.mjs'), postcssConfig);
404
392
  }
405
- // Removed shadcn config and components for Tailwind-only setup
406
393
  //# sourceMappingURL=nextjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../src/templates/nextjs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../src/templates/nextjs.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { ProjectOptions } from '../types/index.js';
2
2
  export declare function createViteApp(options: ProjectOptions): Promise<void>;
3
+ export declare function createESLintConfig(options: ProjectOptions): Promise<void>;
3
4
  //# sourceMappingURL=vite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../src/templates/vite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B1E"}
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../src/templates/vite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B1E;AAogBD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC/E"}
@@ -16,8 +16,6 @@ export async function createViteApp(options) {
16
16
  if (options.eslint) {
17
17
  await createESLintConfig(options);
18
18
  }
19
- // Create Tailwind config (Tailwind-only setup)
20
- await createTailwindConfig(options);
21
19
  spinner.succeed('Vite project structure created');
22
20
  }
23
21
  catch (error) {
@@ -26,6 +24,26 @@ export async function createViteApp(options) {
26
24
  }
27
25
  }
28
26
  async function createVitePackageJson(options) {
27
+ const baseDevDeps = {
28
+ "@tailwindcss/vite": "^4.1.13",
29
+ "@types/react": "^19.1.10",
30
+ "@types/react-dom": "^19.1.7",
31
+ "@vitejs/plugin-react": "^5.0.0",
32
+ typescript: "^5.8.3",
33
+ vite: "^7.1.2",
34
+ tailwindcss: "^4.1.13",
35
+ };
36
+ const eslintDevDeps = {
37
+ "@eslint/js": "^9.33.0",
38
+ "eslint": "^9.33.0",
39
+ "typescript-eslint": "^8.39.1",
40
+ "eslint-plugin-react-hooks": "^5.2.0",
41
+ "eslint-plugin-react-refresh": "^0.4.20",
42
+ };
43
+ const devDependencies = {
44
+ ...baseDevDeps,
45
+ ...(options.eslint ? eslintDevDeps : {}),
46
+ };
29
47
  const packageJson = {
30
48
  name: options.projectName,
31
49
  private: true,
@@ -34,24 +52,15 @@ async function createVitePackageJson(options) {
34
52
  scripts: {
35
53
  dev: "vite",
36
54
  build: "tsc && vite build",
37
- lint: options.eslint ? "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0" : undefined,
55
+ ...(options.eslint && { lint: "eslint ." }),
38
56
  preview: "vite preview"
39
57
  },
40
58
  dependencies: {
41
- react: "^18.3.1",
42
- "react-dom": "^18.3.1",
43
- "@pushchain/ui-kit": "^1.1.33"
59
+ react: "^19.1.1",
60
+ "react-dom": "^19.1.1",
61
+ "@pushchain/ui-kit": "^1.1.34"
44
62
  },
45
- devDependencies: {
46
- "@types/react": "^18.2.43",
47
- "@types/react-dom": "^18.2.17",
48
- "@vitejs/plugin-react": "^4.2.1",
49
- typescript: "^5.2.2",
50
- vite: "^5.0.8",
51
- tailwindcss: "^3.3.0",
52
- autoprefixer: "^10.4.16",
53
- postcss: "^8.4.31"
54
- }
63
+ devDependencies,
55
64
  };
56
65
  // Remove undefined values
57
66
  Object.keys(packageJson.scripts).forEach(key => {
@@ -67,10 +76,11 @@ async function createViteConfig(options) {
67
76
  const viteConfig = `import { defineConfig } from 'vite'
68
77
  import react from '@vitejs/plugin-react'
69
78
  import path from 'path'
79
+ import tailwindcss from '@tailwindcss/vite'
70
80
 
71
81
  // https://vitejs.dev/config/
72
82
  export default defineConfig({
73
- plugins: [react()],
83
+ plugins: [react(), tailwindcss()],
74
84
  resolve: {
75
85
  alias: {
76
86
  "@": path.resolve(__dirname, "./src"),
@@ -80,52 +90,70 @@ export default defineConfig({
80
90
  await fs.writeFile(path.join(options.targetDir, 'vite.config.ts'), viteConfig);
81
91
  // TypeScript config
82
92
  const tsConfig = {
83
- compilerOptions: {
84
- target: "ES2020",
85
- useDefineForClassFields: true,
86
- lib: ["ES2020", "DOM", "DOM.Iterable"],
87
- module: "ESNext",
88
- skipLibCheck: true,
89
- moduleResolution: "bundler",
90
- allowImportingTsExtensions: true,
91
- resolveJsonModule: true,
92
- isolatedModules: true,
93
- noEmit: true,
94
- jsx: "react-jsx",
95
- strict: true,
96
- noUnusedLocals: true,
97
- noUnusedParameters: true,
98
- noFallthroughCasesInSwitch: true,
99
- baseUrl: ".",
100
- paths: {
101
- "@/*": ["./src/*"]
102
- }
103
- },
104
- include: ["src"],
105
- references: [{ "path": "./tsconfig.node.json" }]
93
+ "files": [],
94
+ "references": [
95
+ { "path": "./tsconfig.app.json" },
96
+ { "path": "./tsconfig.node.json" }
97
+ ]
106
98
  };
107
99
  await fs.writeJSON(path.join(options.targetDir, 'tsconfig.json'), tsConfig, { spaces: 2 });
100
+ // App TypeScript config
101
+ const tsAppConfig = {
102
+ "compilerOptions": {
103
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
104
+ "target": "ES2022",
105
+ "useDefineForClassFields": true,
106
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
107
+ "module": "ESNext",
108
+ "skipLibCheck": true,
109
+ /* Bundler mode */
110
+ "moduleResolution": "bundler",
111
+ "allowImportingTsExtensions": true,
112
+ "verbatimModuleSyntax": true,
113
+ "moduleDetection": "force",
114
+ "noEmit": true,
115
+ "jsx": "react-jsx",
116
+ /* Linting */
117
+ "strict": true,
118
+ "noUnusedLocals": true,
119
+ "noUnusedParameters": true,
120
+ "erasableSyntaxOnly": true,
121
+ "noFallthroughCasesInSwitch": true,
122
+ "noUncheckedSideEffectImports": true
123
+ },
124
+ "include": ["src"]
125
+ };
126
+ await fs.writeJSON(path.join(options.targetDir, 'tsconfig.app.json'), tsAppConfig, { spaces: 2 });
108
127
  // Node TypeScript config
109
128
  const tsNodeConfig = {
110
- compilerOptions: {
111
- composite: true,
112
- skipLibCheck: true,
113
- module: "ESNext",
114
- moduleResolution: "bundler",
115
- allowSyntheticDefaultImports: true
129
+ "compilerOptions": {
130
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
131
+ "target": "ES2023",
132
+ "lib": ["ES2023"],
133
+ "module": "ESNext",
134
+ "skipLibCheck": true,
135
+ /* Bundler mode */
136
+ "moduleResolution": "bundler",
137
+ "allowImportingTsExtensions": true,
138
+ "verbatimModuleSyntax": true,
139
+ "moduleDetection": "force",
140
+ "noEmit": true,
141
+ /* Linting */
142
+ "strict": true,
143
+ "noUnusedLocals": true,
144
+ "noUnusedParameters": true,
145
+ "erasableSyntaxOnly": true,
146
+ "noFallthroughCasesInSwitch": true,
147
+ "noUncheckedSideEffectImports": true
116
148
  },
117
- include: ["vite.config.ts"]
149
+ "include": ["vite.config.ts"]
118
150
  };
119
151
  await fs.writeJSON(path.join(options.targetDir, 'tsconfig.node.json'), tsNodeConfig, { spaces: 2 });
120
152
  }
121
153
  async function createViteSourceFiles(options) {
122
154
  // Create src directory structure
123
155
  const srcDir = path.join(options.targetDir, 'src');
124
- const componentsDir = path.join(srcDir, 'components');
125
- const libDir = path.join(srcDir, 'lib');
126
156
  await fs.ensureDir(srcDir);
127
- await fs.ensureDir(componentsDir);
128
- await fs.ensureDir(libDir);
129
157
  // Create index.html
130
158
  const indexHtml = `<!doctype html>
131
159
  <html lang="en">
@@ -162,64 +190,46 @@ import { PushUniversalAccountButton, usePushWalletContext } from '@pushchain/ui-
162
190
 
163
191
  function App() {
164
192
  const { universalAccount } = usePushWalletContext();
165
-
166
- console.log("universalAccount", universalAccount);
167
193
 
168
194
  return (
169
- <div style={{ minHeight: '100vh', padding: '2rem' }}>
170
- <div style={{ maxWidth: '800px', margin: '0 auto' }}>
171
- <div style={{ textAlign: 'center', marginBottom: '2rem' }}>
172
- <h1 style={{ fontSize: '2.5rem', fontWeight: 'bold', marginBottom: '1rem' }}>
173
- Welcome to ${options.projectName}
195
+ <div className="min-h-screen p-8">
196
+ <div className="max-w-[800px] mx-auto">
197
+ <div className="text-center mb-8">
198
+ <h1 className="text-[2.5rem] font-bold mb-4">
199
+ Welcome to my-push-app
174
200
  </h1>
175
- <p style={{ fontSize: '1.2rem', color: '#666', marginBottom: '2rem' }}>
201
+ <p className="text-[1.2rem] text-gray-400 mb-8">
176
202
  Your Push Chain application is ready to go!
177
203
  </p>
178
204
  </div>
179
205
 
180
- <div style={{
181
- maxWidth: '600px',
182
- margin: '0 auto',
183
- padding: '2rem',
184
- border: '1px solid #ddd',
185
- borderRadius: '8px',
186
- textAlign: 'center'
187
- }}>
188
- <h2 style={{ marginBottom: '1rem' }}>Push Chain Integration</h2>
189
- <div style={{ marginBottom: '1rem' }}>
190
- <span style={{
191
- padding: '4px 8px',
192
- borderRadius: '4px',
193
- backgroundColor: universalAccount ? '#22c55e' : '#6b7280',
194
- color: 'white',
195
- fontSize: '12px'
196
- }}>
206
+ <div className="max-w-[600px] mx-auto p-8 border border-gray-300 rounded-lg text-center">
207
+ <h2 className="mb-4">Push Chain Integration</h2>
208
+
209
+ <div className="mb-4">
210
+ <span
211
+ className={"px-2 py-1 rounded text-white text-[12px] " + (universalAccount ? 'bg-green-500' : 'bg-gray-500')}
212
+ >
197
213
  {universalAccount ? "Connected" : "Not Connected"}
198
214
  </span>
199
215
  </div>
200
216
 
201
- <div style={{ marginBottom: '2rem' }}>
217
+ <div className="mb-8 justify-items-center">
202
218
  <PushUniversalAccountButton />
203
219
  </div>
204
220
 
205
221
  {universalAccount && (
206
- <div style={{
207
- marginTop: '2rem',
208
- padding: '1rem',
209
- backgroundColor: '#f5f5f5',
210
- borderRadius: '6px',
211
- textAlign: 'left'
212
- }}>
213
- <h3 style={{ fontWeight: 'bold', marginBottom: '0.5rem' }}>Account Details:</h3>
214
- <pre style={{ fontSize: '0.8rem', overflow: 'auto' }}>
222
+ <div className="mt-8 p-4 bg-gray-100 text-neutral-800 rounded-md text-left">
223
+ <h3 className="font-bold mb-2">Account Details:</h3>
224
+ <pre className="text-[0.8rem] overflow-auto">
215
225
  {JSON.stringify(universalAccount, null, 2)}
216
226
  </pre>
217
227
  </div>
218
228
  )}
219
229
 
220
- <div style={{ fontSize: '0.9rem', color: '#666', marginTop: '2rem', textAlign: 'left' }}>
230
+ <div className="text-[0.9rem] text-gray-400 mt-8 text-left">
221
231
  <p><strong>Next steps:</strong></p>
222
- <ul style={{ margin: '0.5rem 0', paddingLeft: '1.5rem' }}>
232
+ <ul className="my-2 pl-6 list-disc">
223
233
  <li>Configure your Push Chain settings in providers/PushChainProviders.tsx</li>
224
234
  <li>Customize the app metadata with your branding</li>
225
235
  <li>Add your chain configuration and RPC URLs</li>
@@ -279,9 +289,7 @@ export default App`;
279
289
  }`;
280
290
  await fs.writeFile(path.join(srcDir, 'App.css'), appCss);
281
291
  // Create index.css (Tailwind directives only)
282
- const indexCss = `@tailwind base;
283
- @tailwind components;
284
- @tailwind utilities;
292
+ const indexCss = `@import "tailwindcss";
285
293
 
286
294
  :root {
287
295
  font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
@@ -428,8 +436,6 @@ const PushChainProviders = ({ children }: { children: React.ReactNode }) => {
428
436
 
429
437
  // Add more chains as needed:
430
438
  // "eip155:1": ["https://mainnet.infura.io/v3/YOUR_PROJECT_ID"], // Ethereum Mainnet
431
- // "eip155:137": ["https://polygon-rpc.com/"], // Polygon
432
- // "eip155:42161": ["https://arb1.arbitrum.io/rpc"], // Arbitrum
433
439
  },
434
440
  },
435
441
  };
@@ -476,309 +482,33 @@ VITE_PUSHCHAIN_NETWORK=testnet
476
482
  # VITE_APP_VERSION=1.0.0`;
477
483
  await fs.writeFile(path.join(options.targetDir, '.env'), envFile);
478
484
  }
479
- async function createESLintConfig(options) {
480
- const eslintConfig = {
481
- root: true,
482
- env: { browser: true, es2020: true },
483
- extends: [
484
- 'eslint:recommended',
485
- '@typescript-eslint/recommended',
486
- 'eslint-plugin-react-hooks/recommended',
487
- ],
488
- ignorePatterns: ['dist', '.eslintrc.cjs'],
489
- parser: '@typescript-eslint/parser',
490
- plugins: ['react-refresh'],
491
- rules: {
492
- 'react-refresh/only-export-components': [
493
- 'warn',
494
- { allowConstantExport: true },
495
- ],
496
- },
497
- };
498
- await fs.writeJSON(path.join(options.targetDir, '.eslintrc.json'), eslintConfig, { spaces: 2 });
499
- }
500
- async function createTailwindConfig(options) {
501
- const tailwindConfig = `/** @type {import('tailwindcss').Config} */
502
- export default {
503
- darkMode: ["class"],
504
- content: [
505
- "./index.html",
506
- "./src/**/*.{js,ts,jsx,tsx}",
507
- ],
508
- theme: {
509
- container: {
510
- center: true,
511
- padding: "2rem",
512
- screens: {
513
- "2xl": "1400px",
514
- },
515
- },
516
- extend: {
517
- colors: {
518
- border: "hsl(var(--border))",
519
- input: "hsl(var(--input))",
520
- ring: "hsl(var(--ring))",
521
- background: "hsl(var(--background))",
522
- foreground: "hsl(var(--foreground))",
523
- primary: {
524
- DEFAULT: "hsl(var(--primary))",
525
- foreground: "hsl(var(--primary-foreground))",
526
- },
527
- secondary: {
528
- DEFAULT: "hsl(var(--secondary))",
529
- foreground: "hsl(var(--secondary-foreground))",
530
- },
531
- destructive: {
532
- DEFAULT: "hsl(var(--destructive))",
533
- foreground: "hsl(var(--destructive-foreground))",
534
- },
535
- muted: {
536
- DEFAULT: "hsl(var(--muted))",
537
- foreground: "hsl(var(--muted-foreground))",
538
- },
539
- accent: {
540
- DEFAULT: "hsl(var(--accent))",
541
- foreground: "hsl(var(--accent-foreground))",
542
- },
543
- popover: {
544
- DEFAULT: "hsl(var(--popover))",
545
- foreground: "hsl(var(--popover-foreground))",
546
- },
547
- card: {
548
- DEFAULT: "hsl(var(--card))",
549
- foreground: "hsl(var(--card-foreground))",
550
- },
551
- },
552
- borderRadius: {
553
- lg: "var(--radius)",
554
- md: "calc(var(--radius) - 2px)",
555
- sm: "calc(var(--radius) - 4px)",
556
- },
557
- keyframes: {
558
- "accordion-down": {
559
- from: { height: 0 },
560
- to: { height: "var(--radix-accordion-content-height)" },
561
- },
562
- "accordion-up": {
563
- from: { height: "var(--radix-accordion-content-height)" },
564
- to: { height: 0 },
565
- },
566
- },
567
- animation: {
568
- "accordion-down": "accordion-down 0.2s ease-out",
569
- "accordion-up": "accordion-up 0.2s ease-out",
570
- },
571
- },
572
- },
573
- plugins: [require("tailwindcss-animate")],
574
- }`;
575
- await fs.writeFile(path.join(options.targetDir, 'tailwind.config.js'), tailwindConfig);
576
- // PostCSS config
577
- const postcssConfig = `export default {
578
- plugins: {
579
- tailwindcss: {},
580
- autoprefixer: {},
581
- },
582
- }`;
583
- await fs.writeFile(path.join(options.targetDir, 'postcss.config.js'), postcssConfig);
584
- }
585
- async function createShadcnConfig(options) {
586
- const componentsJson = {
587
- "$schema": "https://ui.shadcn.com/schema.json",
588
- "style": "default",
589
- "rsc": false,
590
- "tsx": true,
591
- "tailwind": {
592
- "config": "tailwind.config.js",
593
- "css": "src/index.css",
594
- "baseColor": "slate",
595
- "cssVariables": true
596
- },
597
- "aliases": {
598
- "components": "@/components",
599
- "utils": "@/lib/utils"
600
- }
601
- };
602
- await fs.writeJSON(path.join(options.targetDir, 'components.json'), componentsJson, { spaces: 2 });
603
- // Create basic shadcn components (same as Next.js version)
604
- const componentsDir = path.join(options.targetDir, 'src', 'components', 'ui');
605
- await fs.ensureDir(componentsDir);
606
- // Button component (same as Next.js)
607
- const buttonComponent = `import * as React from "react"
608
- import { Slot } from "@radix-ui/react-slot"
609
- import { cva, type VariantProps } from "class-variance-authority"
610
-
611
- import { cn } from "@/lib/utils"
612
-
613
- const buttonVariants = cva(
614
- "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
485
+ export async function createESLintConfig(options) {
486
+ if (!options.eslint)
487
+ return;
488
+ const config = `import js from '@eslint/js'
489
+ import globals from 'globals'
490
+ import reactHooks from 'eslint-plugin-react-hooks'
491
+ import reactRefresh from 'eslint-plugin-react-refresh'
492
+ import tseslint from 'typescript-eslint'
493
+ import { defineConfig, globalIgnores } from 'eslint/config'
494
+
495
+ export default defineConfig([
496
+ globalIgnores(['dist']),
615
497
  {
616
- variants: {
617
- variant: {
618
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
619
- destructive:
620
- "bg-destructive text-destructive-foreground hover:bg-destructive/90",
621
- outline:
622
- "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
623
- secondary:
624
- "bg-secondary text-secondary-foreground hover:bg-secondary/80",
625
- ghost: "hover:bg-accent hover:text-accent-foreground",
626
- link: "text-primary underline-offset-4 hover:underline",
627
- },
628
- size: {
629
- default: "h-10 px-4 py-2",
630
- sm: "h-9 rounded-md px-3",
631
- lg: "h-11 rounded-md px-8",
632
- icon: "h-10 w-10",
633
- },
634
- },
635
- defaultVariants: {
636
- variant: "default",
637
- size: "default",
498
+ files: ['**/*.{ts,tsx}'],
499
+ extends: [
500
+ js.configs.recommended,
501
+ tseslint.configs.recommended,
502
+ reactHooks.configs['recommended-latest'],
503
+ reactRefresh.configs.vite,
504
+ ],
505
+ languageOptions: {
506
+ ecmaVersion: 2020,
507
+ globals: globals.browser,
638
508
  },
639
- }
640
- )
641
-
642
- export interface ButtonProps
643
- extends React.ButtonHTMLAttributes<HTMLButtonElement>,
644
- VariantProps<typeof buttonVariants> {
645
- asChild?: boolean
646
- }
647
-
648
- const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
649
- ({ className, variant, size, asChild = false, ...props }, ref) => {
650
- const Comp = asChild ? Slot : "button"
651
- return (
652
- <Comp
653
- className={cn(buttonVariants({ variant, size, className }))}
654
- ref={ref}
655
- {...props}
656
- />
657
- )
658
- }
659
- )
660
- Button.displayName = "Button"
661
-
662
- export { Button, buttonVariants }`;
663
- await fs.writeFile(path.join(componentsDir, 'button.tsx'), buttonComponent);
664
- // Card and Badge components (same as Next.js)
665
- const cardComponent = `import * as React from "react"
666
-
667
- import { cn } from "@/lib/utils"
668
-
669
- const Card = React.forwardRef<
670
- HTMLDivElement,
671
- React.HTMLAttributes<HTMLDivElement>
672
- >(({ className, ...props }, ref) => (
673
- <div
674
- ref={ref}
675
- className={cn(
676
- "rounded-lg border bg-card text-card-foreground shadow-sm",
677
- className
678
- )}
679
- {...props}
680
- />
681
- ))
682
- Card.displayName = "Card"
683
-
684
- const CardHeader = React.forwardRef<
685
- HTMLDivElement,
686
- React.HTMLAttributes<HTMLDivElement>
687
- >(({ className, ...props }, ref) => (
688
- <div ref={ref} className={cn("flex flex-col space-y-1.5 p-6", className)} {...props} />
689
- ))
690
- CardHeader.displayName = "CardHeader"
691
-
692
- const CardTitle = React.forwardRef<
693
- HTMLParagraphElement,
694
- React.HTMLAttributes<HTMLHeadingElement>
695
- >(({ className, ...props }, ref) => (
696
- <h3
697
- ref={ref}
698
- className={cn(
699
- "text-2xl font-semibold leading-none tracking-tight",
700
- className
701
- )}
702
- {...props}
703
- />
704
- ))
705
- CardTitle.displayName = "CardTitle"
706
-
707
- const CardDescription = React.forwardRef<
708
- HTMLParagraphElement,
709
- React.HTMLAttributes<HTMLParagraphElement>
710
- >(({ className, ...props }, ref) => (
711
- <p
712
- ref={ref}
713
- className={cn("text-sm text-muted-foreground", className)}
714
- {...props}
715
- />
716
- ))
717
- CardDescription.displayName = "CardDescription"
718
-
719
- const CardContent = React.forwardRef<
720
- HTMLDivElement,
721
- React.HTMLAttributes<HTMLDivElement>
722
- >(({ className, ...props }, ref) => (
723
- <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />
724
- ))
725
- CardContent.displayName = "CardContent"
726
-
727
- const CardFooter = React.forwardRef<
728
- HTMLDivElement,
729
- React.HTMLAttributes<HTMLDivElement>
730
- >(({ className, ...props }, ref) => (
731
- <div ref={ref} className={cn("flex items-center p-6 pt-0", className)} {...props} />
732
- ))
733
- CardFooter.displayName = "CardFooter"
734
-
735
- export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }`;
736
- await fs.writeFile(path.join(componentsDir, 'card.tsx'), cardComponent);
737
- const badgeComponent = `import * as React from "react"
738
- import { cva, type VariantProps } from "class-variance-authority"
739
-
740
- import { cn } from "@/lib/utils"
741
-
742
- const badgeVariants = cva(
743
- "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
744
- {
745
- variants: {
746
- variant: {
747
- default:
748
- "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
749
- secondary:
750
- "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
751
- destructive:
752
- "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
753
- outline: "text-foreground",
754
- },
755
- },
756
- defaultVariants: {
757
- variant: "default",
758
- },
759
- }
760
- )
761
-
762
- export interface BadgeProps
763
- extends React.HTMLAttributes<HTMLDivElement>,
764
- VariantProps<typeof badgeVariants> {}
765
-
766
- function Badge({ className, variant, ...props }: BadgeProps) {
767
- return (
768
- <div className={cn(badgeVariants({ variant }), className)} {...props} />
769
- )
770
- }
771
-
772
- export { Badge, badgeVariants }`;
773
- await fs.writeFile(path.join(componentsDir, 'badge.tsx'), badgeComponent);
774
- // Utils file (same as Next.js)
775
- const libDir = path.join(options.targetDir, 'src', 'lib');
776
- const utilsFile = `import { type ClassValue, clsx } from "clsx"
777
- import { twMerge } from "tailwind-merge"
778
-
779
- export function cn(...inputs: ClassValue[]) {
780
- return twMerge(clsx(inputs))
781
- }`;
782
- await fs.writeFile(path.join(libDir, 'utils.ts'), utilsFile);
509
+ },
510
+ ])
511
+ `;
512
+ await fs.writeFile(path.join(options.targetDir, 'eslint.config.js'), config);
783
513
  }
784
514
  //# sourceMappingURL=vite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/templates/vite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/templates/vite.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-universal-dapp",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "CLI tool to scaffold Push Chain universal applications with Next.js or Vite",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",