juxscript 1.0.27 → 1.0.28

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/cli.js CHANGED
@@ -247,22 +247,43 @@ async function buildProject(isServe = false) {
247
247
  console.log('+ Created jux/index.jux');
248
248
  }
249
249
 
250
- // Copy preset styles from presets/styles/ to jux/styles/
251
- const presetsStylesSrc = path.join(PATHS.packageRoot, 'presets', 'styles');
252
- const stylesDest = path.join(juxDir, 'styles');
253
-
254
- if (fs.existsSync(presetsStylesSrc)) {
255
- fs.mkdirSync(stylesDest, { recursive: true });
256
-
257
- const styleFiles = fs.readdirSync(presetsStylesSrc);
258
- styleFiles.forEach(file => {
259
- if (file.endsWith('.css')) {
260
- const srcFile = path.join(presetsStylesSrc, file);
261
- const destFile = path.join(stylesDest, file);
262
- fs.copyFileSync(srcFile, destFile);
263
- console.log(`+ Copied preset style: styles/${file}`);
250
+ // Copy entire presets folder to jux/presets/
251
+ const presetsSrc = path.join(PATHS.packageRoot, 'presets');
252
+ const presetsDest = path.join(juxDir, 'presets');
253
+
254
+ if (fs.existsSync(presetsSrc)) {
255
+ let copiedCount = 0;
256
+
257
+ function copyRecursive(src, dest) {
258
+ const entries = fs.readdirSync(src, { withFileTypes: true });
259
+
260
+ for (const entry of entries) {
261
+ const srcPath = path.join(src, entry.name);
262
+ const destPath = path.join(dest, entry.name);
263
+
264
+ // Skip hey.jux since we already copied it to index.jux
265
+ if (entry.isFile() && entry.name === 'hey.jux') {
266
+ continue;
267
+ }
268
+
269
+ if (entry.isDirectory()) {
270
+ fs.mkdirSync(destPath, { recursive: true });
271
+ copyRecursive(srcPath, destPath);
272
+ } else if (entry.isFile()) {
273
+ fs.copyFileSync(srcPath, destPath);
274
+ const relativePath = path.relative(presetsSrc, srcPath);
275
+ console.log(`+ Copied preset: presets/${relativePath}`);
276
+ copiedCount++;
277
+ }
264
278
  }
265
- });
279
+ }
280
+
281
+ fs.mkdirSync(presetsDest, { recursive: true });
282
+ copyRecursive(presetsSrc, presetsDest);
283
+
284
+ if (copiedCount > 0) {
285
+ console.log(`+ Copied ${copiedCount} preset file(s) to jux/presets/`);
286
+ }
266
287
  }
267
288
 
268
289
  // Create package.json if it doesn't exist
@@ -2059,5 +2059,5 @@
2059
2059
  }
2060
2060
  ],
2061
2061
  "version": "1.0.0",
2062
- "lastUpdated": "2026-01-28T14:47:56.941Z"
2062
+ "lastUpdated": "2026-01-28T15:24:08.460Z"
2063
2063
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.0.27",
3
+ "version": "1.0.28",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "lib/jux.js",