@ludoloops/svelteforge 0.1.2 → 0.1.4

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.
Files changed (2) hide show
  1. package/dist/index.js +17 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -263,16 +263,26 @@ function applyLandingMode(sv, landingFiles, fullstackFiles, projectName) {
263
263
  return barrel;
264
264
  });
265
265
  sv.file("src/lib/components/ui/form/index.ts", () => {
266
- const formComponents = [];
266
+ const svelteComponents = [];
267
+ const tsFiles = [];
267
268
  for (const path of [...uiFormFiles.keys()].sort()) {
268
- const baseName = (path.split("/").pop() || "").replace(".svelte", "");
269
- formComponents.push(baseName);
269
+ const name = path.split("/").pop() || "";
270
+ if (name.endsWith(".svelte")) svelteComponents.push(name.replace(".svelte", ""));
271
+ else if (name.endsWith(".ts") && name !== "index.ts") tsFiles.push(name);
270
272
  }
271
- return `${formComponents.map((c) => `import ${c} from './${c}.svelte';`).join("\n")}\n\nexport { ${formComponents.join(", ")} };\n`;
273
+ let result = `${svelteComponents.map((c) => `import ${c} from './${c}.svelte';`).join("\n")}\n\nexport { ${svelteComponents.join(", ")} };\n`;
274
+ for (const ts of tsFiles) result += `export * from './${ts}';\n`;
275
+ return result;
272
276
  });
273
277
  sv.file("src/lib/components/layout/index.ts", () => {
274
278
  return generateBarrel(layoutFiles, "/lib/components/layout/");
275
279
  });
280
+ sv.file("src/lib/components/index.ts", () => {
281
+ return `// Layout components\nexport * from './layout';\n\n// UI components\nexport * from './ui';\n`;
282
+ });
283
+ if (uiRichTextFiles.size > 0) sv.file("src/lib/components/ui/rich-text/index.ts", () => {
284
+ return generateBarrel(uiRichTextFiles, "/lib/components/ui/rich-text/");
285
+ });
276
286
  for (const [path, content] of Object.entries(landingFiles)) {
277
287
  const finalContent = content.replace(/__PROJECT_NAME__/g, projectName);
278
288
  sv.file(`src${path}`, () => finalContent);
@@ -330,10 +340,12 @@ var src_default = defineAddon({
330
340
  sv.dependency("zod", "latest");
331
341
  sv.devDependency("@skeletonlabs/skeleton", "latest");
332
342
  sv.devDependency("@skeletonlabs/skeleton-svelte", "latest");
343
+ sv.devDependency("@tailwindcss/vite", "^4.0.0");
344
+ sv.devDependency("tailwindcss", "^4.0.0");
333
345
  if (template === "landing") applyLandingMode(sv, landingFiles, fullstackFiles, directory.src.split("/").slice(-2, -1)[0] || "My App");
334
346
  else applyFullstackMode(sv, fullstackFiles);
335
347
  },
336
- nextSteps: ({ options }) => [`SvelteForge ${options.template} template applied!`, "Run `bun dev` to start developing."]
348
+ nextSteps: ({ options }) => [`SvelteForge ${options.template} template applied!`, "Run `npm run dev` (or `bun dev`) to start developing."]
337
349
  });
338
350
  //#endregion
339
351
  export { src_default as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ludoloops/svelteforge",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "description": "sv community addon — 34 theme-aware UI components, admin dashboard, and 3-layer theme system for SvelteKit",
6
6
  "author": "Ludo (https://lelab.dev)",