@deneb-ui/create-template 2.0.4 → 2.0.6
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/bin/index.js +33 -14
- package/package.json +1 -1
- package/template/package.json +0 -1
- package/template/src/app/page.tsx +0 -72
- package/template/src/data/site-data.json +10 -2
package/bin/index.js
CHANGED
|
@@ -79,35 +79,54 @@ function runScaffolding(targetInput) {
|
|
|
79
79
|
const skipInstall = process.argv.includes('--skip-install');
|
|
80
80
|
|
|
81
81
|
if (!skipInstall) {
|
|
82
|
-
console.log(
|
|
82
|
+
console.log(`\n\x1b[36m📦 Installing dependencies with npm...\x1b[0m \x1b[90m(Next.js 15, Tailwind CSS, @deneb-ui/ui)\x1b[0m\n`);
|
|
83
83
|
try {
|
|
84
84
|
const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
85
85
|
const installRes = require('node:child_process').spawnSync(npmCmd, ['install'], {
|
|
86
86
|
cwd: targetPath,
|
|
87
87
|
stdio: 'inherit',
|
|
88
|
-
shell:
|
|
88
|
+
shell: process.platform === 'win32',
|
|
89
89
|
});
|
|
90
90
|
|
|
91
91
|
if (installRes.status === 0) {
|
|
92
|
-
console.log(`\n\x1b[32m✔ All dependencies and DENEB UI
|
|
92
|
+
console.log(`\n\x1b[32m✔ All dependencies and DENEB UI components installed successfully!\x1b[0m\n`);
|
|
93
93
|
} else {
|
|
94
|
-
console.log(`\n\x1b[
|
|
94
|
+
console.log(`\n\x1b[33m! Note: npm install exited with code ${installRes.status}. Run "npm install" inside ${folderName}.\x1b[0m\n`);
|
|
95
95
|
}
|
|
96
|
-
} catch {
|
|
97
|
-
console.log(`\n\x1b[
|
|
96
|
+
} catch (err) {
|
|
97
|
+
console.log(`\n\x1b[33m! Note: Could not run npm install automatically: ${err.message}\x1b[0m\n`);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
console.log(`
|
|
102
|
-
console.log(` \x1b[
|
|
101
|
+
console.log(`\x1b[32m══════════════════════════════════════════════════════════════════════════════\x1b[0m`);
|
|
102
|
+
console.log(` \x1b[1m\x1b[32m🎉 Success! Created ${folderName} at ${targetPath}\x1b[0m`);
|
|
103
|
+
console.log(`\x1b[32m══════════════════════════════════════════════════════════════════════════════\x1b[0m\n`);
|
|
104
|
+
console.log(`Your storefront template is pre-configured with:`);
|
|
105
|
+
console.log(` \x1b[36m⚡ Next.js 15 App Router\x1b[0m (React 19 + Static Export support)`);
|
|
106
|
+
console.log(` \x1b[36m🎨 Tailwind CSS\x1b[0m (Pre-configured tailwind.config.ts & tokens)`);
|
|
107
|
+
console.log(` \x1b[36m💎 @deneb-ui/ui\x1b[0m (28+ Visual-First Editable Components)`);
|
|
108
|
+
console.log(` \x1b[36m🛠️ @deneb-ui/cli\x1b[0m (Visual Lab, Preflight Validator & Packager)`);
|
|
109
|
+
console.log(` \x1b[36m📋 Fivora Manifest\x1b[0m (Version 2 Contract Compliant)\n`);
|
|
110
|
+
|
|
111
|
+
console.log(`\x1b[1mNext Steps:\x1b[0m\n`);
|
|
112
|
+
console.log(` \x1b[36m1. cd ${folderName}\x1b[0m`);
|
|
113
|
+
console.log(` Navigate into your template directory.\n`);
|
|
103
114
|
if (skipInstall) {
|
|
104
|
-
console.log(` \x1b[
|
|
115
|
+
console.log(` \x1b[36m2. npm install\x1b[0m`);
|
|
116
|
+
console.log(` Install dependencies.\n`);
|
|
105
117
|
}
|
|
106
|
-
console.log(` \x1b[
|
|
107
|
-
console.log(`
|
|
108
|
-
console.log(`
|
|
109
|
-
console.log(` \x1b[
|
|
110
|
-
console.log(`
|
|
118
|
+
console.log(` \x1b[36m${skipInstall ? '3' : '2'}. npm run dev\x1b[0m`);
|
|
119
|
+
console.log(` Start the local dev server at \x1b[4mhttp://localhost:3000\x1b[0m.`);
|
|
120
|
+
console.log(` Follow the in-app developer guide right on your homepage!\n`);
|
|
121
|
+
console.log(` \x1b[36m${skipInstall ? '4' : '3'}. npm run lab\x1b[0m`);
|
|
122
|
+
console.log(` Launch the interactive Fivora Visual Editing Lab simulation.\n`);
|
|
123
|
+
console.log(` \x1b[36m${skipInstall ? '5' : '4'}. npm run validate\x1b[0m`);
|
|
124
|
+
console.log(` Verify preflight compliance to ensure 100% marketplace approval.\n`);
|
|
125
|
+
console.log(` \x1b[36m${skipInstall ? '6' : '5'}. npm run zip\x1b[0m`);
|
|
126
|
+
console.log(` Package a clean, upload-ready \x1b[1mfivora-template.zip\x1b[0m.\n`);
|
|
127
|
+
|
|
128
|
+
console.log(`\x1b[90mArchitecture created by Chamika Gayashan & Induranga Kawishwara\x1b[0m`);
|
|
129
|
+
console.log(`\x1b[1m\x1b[36mHappy building with DENEB UI! 🚀\x1b[0m\n`);
|
|
111
130
|
}
|
|
112
131
|
|
|
113
132
|
printBanner();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deneb-ui/create-template",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "Scaffold a modern, pre-validated DENEB UI storefront template in seconds. Created by Chamika Gayashan & Induranga Kawishwara.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-deneb-template": "bin/index.js",
|
package/template/package.json
CHANGED
|
@@ -112,78 +112,6 @@ export default function HomePage() {
|
|
|
112
112
|
</div>
|
|
113
113
|
</section>
|
|
114
114
|
|
|
115
|
-
<section
|
|
116
|
-
className="page-section dev-guide-section"
|
|
117
|
-
data-design-section="home-developer-guide"
|
|
118
|
-
>
|
|
119
|
-
<div className="dev-guide-header">
|
|
120
|
-
<span className="dev-badge" data-preview-static="dev-guidance">
|
|
121
|
-
⚡ DENEB UI & Fivora Developer Guide
|
|
122
|
-
</span>
|
|
123
|
-
<h2 data-preview-static="dev-guidance">
|
|
124
|
-
How DENEB UI Configures with the Fivora Live Editor
|
|
125
|
-
</h2>
|
|
126
|
-
<p data-preview-static="dev-guidance">
|
|
127
|
-
DENEB UI components are visual-first React primitives engineered for live editing in the Fivora merchant platform:
|
|
128
|
-
</p>
|
|
129
|
-
</div>
|
|
130
|
-
|
|
131
|
-
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 my-8 text-left max-w-5xl mx-auto">
|
|
132
|
-
<div className="p-6 bg-white rounded-2xl border border-slate-200 shadow-sm">
|
|
133
|
-
<h4 data-preview-static="dev-card-title" className="font-bold text-slate-900 mb-2">1. Live Field Markers</h4>
|
|
134
|
-
<p data-preview-static="dev-card-desc" className="text-sm text-slate-500 leading-relaxed">
|
|
135
|
-
Every editable string connects to <code data-preview-static="dev-code">site-data.json</code> via <code data-preview-static="dev-code">fieldPath="home.title"</code>. Clicking in Fivora highlights the field in the sidebar.
|
|
136
|
-
</p>
|
|
137
|
-
</div>
|
|
138
|
-
<div className="p-6 bg-white rounded-2xl border border-slate-200 shadow-sm">
|
|
139
|
-
<h4 data-preview-static="dev-card-title" className="font-bold text-slate-900 mb-2">2. Auto-Balancing Grids</h4>
|
|
140
|
-
<p data-preview-static="dev-card-desc" className="text-sm text-slate-500 leading-relaxed">
|
|
141
|
-
Use <code data-preview-static="dev-code"><EditableGrid></code> and <code data-preview-static="dev-code"><EditableCard></code> from <code data-preview-static="dev-code">@deneb-ui/ui</code> to ensure card heights remain balanced regardless of merchant copy length.
|
|
142
|
-
</p>
|
|
143
|
-
</div>
|
|
144
|
-
<div className="p-6 bg-white rounded-2xl border border-slate-200 shadow-sm">
|
|
145
|
-
<h4 data-preview-static="dev-card-title" className="font-bold text-slate-900 mb-2">3. Add UI Components</h4>
|
|
146
|
-
<p data-preview-static="dev-card-desc" className="text-sm text-slate-500 leading-relaxed">
|
|
147
|
-
Install pre-built components into <code data-preview-static="dev-code">src/components/ui/</code> anytime using <code data-preview-static="dev-code">npx deneb add <name></code> (e.g. product-card, contact-actions, dialog).
|
|
148
|
-
</p>
|
|
149
|
-
</div>
|
|
150
|
-
</div>
|
|
151
|
-
|
|
152
|
-
<div className="dev-command-grid">
|
|
153
|
-
<div className="dev-cmd-card">
|
|
154
|
-
<div className="cmd-header">
|
|
155
|
-
<span className="cmd-tag" data-preview-static="dev-tag">Development</span>
|
|
156
|
-
<code data-preview-static="dev-command">npm run dev</code>
|
|
157
|
-
</div>
|
|
158
|
-
<p data-preview-static="dev-description">Hot-reloading local development with Next.js & Tailwind CSS.</p>
|
|
159
|
-
</div>
|
|
160
|
-
|
|
161
|
-
<div className="dev-cmd-card">
|
|
162
|
-
<div className="cmd-header">
|
|
163
|
-
<span className="cmd-tag" data-preview-static="dev-tag">Simulate</span>
|
|
164
|
-
<code data-preview-static="dev-command">npm run lab</code>
|
|
165
|
-
</div>
|
|
166
|
-
<p data-preview-static="dev-description">Visual Editing Lab simulating merchant field clicks & edits.</p>
|
|
167
|
-
</div>
|
|
168
|
-
|
|
169
|
-
<div className="dev-cmd-card">
|
|
170
|
-
<div className="cmd-header">
|
|
171
|
-
<span className="cmd-tag" data-preview-static="dev-tag">Compliance</span>
|
|
172
|
-
<code data-preview-static="dev-command">npm run validate</code>
|
|
173
|
-
</div>
|
|
174
|
-
<p data-preview-static="dev-description">Runs Fivora preflight contract tests & empty states.</p>
|
|
175
|
-
</div>
|
|
176
|
-
|
|
177
|
-
<div className="dev-cmd-card">
|
|
178
|
-
<div className="cmd-header">
|
|
179
|
-
<span className="cmd-tag" data-preview-static="dev-tag">1-Click Upload</span>
|
|
180
|
-
<code data-preview-static="dev-command">npm run zip</code>
|
|
181
|
-
</div>
|
|
182
|
-
<p data-preview-static="dev-description">Automatically packages clean ZIP excluding caches & junk files.</p>
|
|
183
|
-
</div>
|
|
184
|
-
</div>
|
|
185
|
-
</section>
|
|
186
|
-
|
|
187
115
|
<section
|
|
188
116
|
className="page-section"
|
|
189
117
|
data-design-section="home-introduction"
|
|
@@ -41,7 +41,13 @@
|
|
|
41
41
|
"contact": "Contact"
|
|
42
42
|
},
|
|
43
43
|
"footerHeading": "Build something extraordinary with Fivora.",
|
|
44
|
-
"copyright": "Fivora. All rights reserved."
|
|
44
|
+
"copyright": "Fivora. All rights reserved.",
|
|
45
|
+
"socialMedia": {
|
|
46
|
+
"twitter": "https://twitter.com",
|
|
47
|
+
"github": "https://github.com",
|
|
48
|
+
"linkedin": "https://linkedin.com",
|
|
49
|
+
"instagram": "https://instagram.com"
|
|
50
|
+
}
|
|
45
51
|
},
|
|
46
52
|
"home": {
|
|
47
53
|
"heroEyebrow": "⚡ Fivora Template Starter",
|
|
@@ -91,7 +97,9 @@
|
|
|
91
97
|
"email": "developer@fivora.lk",
|
|
92
98
|
"address": "Colombo, Sri Lanka",
|
|
93
99
|
"formTitle": "Send an enquiry",
|
|
94
|
-
"submitLabel": "Send Message"
|
|
100
|
+
"submitLabel": "Send Message",
|
|
101
|
+
"directMessageText": "Send us a direct message",
|
|
102
|
+
"whatsapp": "+94 77 123 4567"
|
|
95
103
|
}
|
|
96
104
|
},
|
|
97
105
|
"media": {},
|