@webmate-studio/builder 0.2.122 → 0.2.125

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": "@webmate-studio/builder",
3
- "version": "0.2.122",
3
+ "version": "0.2.125",
4
4
  "type": "module",
5
5
  "description": "Webmate Studio Component Builder",
6
6
  "keywords": [
package/src/bundler.js CHANGED
@@ -25,7 +25,8 @@ export async function bundleIsland(islandPath, outputPath, options = {}) {
25
25
  sourcemap = true,
26
26
  target = 'es2020',
27
27
  format = 'esm',
28
- componentDir = null // NEW: Component directory for component-specific node_modules
28
+ componentDir = null, // Component directory for component-specific node_modules
29
+ svelteCustomElement = true // Set false for mount()-based islands (preview mode)
29
30
  } = options;
30
31
 
31
32
  try {
@@ -152,12 +153,12 @@ export async function bundleIsland(islandPath, outputPath, options = {}) {
152
153
  });
153
154
  }
154
155
  },
155
- // Svelte support (Svelte 5 Web Components)
156
+ // Svelte support
156
157
  esbuildSvelte({
157
158
  compilerOptions: {
158
- customElement: true, // Compile to Web Components
159
- css: 'injected', // CSS always injected for custom elements
160
- runes: true // Enable Svelte 5 runes ($props, $derived, $effect, etc.)
159
+ customElement: svelteCustomElement,
160
+ css: 'injected',
161
+ runes: true
161
162
  }
162
163
  })
163
164
  ],
@@ -191,7 +192,7 @@ export async function bundleIsland(islandPath, outputPath, options = {}) {
191
192
  /**
192
193
  * Bundle all islands in a component directory
193
194
  */
194
- export async function bundleComponentIslands(componentDir, outputDir) {
195
+ export async function bundleComponentIslands(componentDir, outputDir, options = {}) {
195
196
  const islandsDir = path.join(componentDir, 'islands');
196
197
 
197
198
  // Check if islands directory exists
@@ -230,8 +231,8 @@ export async function bundleComponentIslands(componentDir, outputDir) {
230
231
 
231
232
  console.log(pc.dim(` Bundling ${islandFile}...`));
232
233
 
233
- // Pass componentDir to bundler for component-specific node_modules resolution
234
- const result = await bundleIsland(inputPath, outputPath, { componentDir });
234
+ // Pass componentDir and any extra options to bundler
235
+ const result = await bundleIsland(inputPath, outputPath, { componentDir, ...options });
235
236
 
236
237
  if (result.success) {
237
238
  const sizeKb = (result.size / 1024).toFixed(2);
@@ -811,12 +811,10 @@ export function generateTailwindV4Theme(tokens) {
811
811
  lines.push(` --radius: ${tokens.borderRadius};`);
812
812
  }
813
813
 
814
- // Container widths (specific breakpoints)
815
- if (tokens.container) {
816
- for (const [key, value] of Object.entries(tokens.container)) {
817
- lines.push(` --container-${key}: ${value};`);
818
- }
819
- }
814
+ // Container widths NICHT als --container-* ausgeben!
815
+ // In Tailwind v4 steuern --container-* die max-w-* Klassen (z.B. --container-2xl = max-w-2xl).
816
+ // Die Werte hier sind Breakpoints (640px, 1536px), nicht max-width-Werte (42rem, 56rem).
817
+ // Breakpoints werden separat als --breakpoint-* ausgegeben.
820
818
 
821
819
  // Breakpoints
822
820
  if (tokens.breakpoints) {
@@ -1221,10 +1219,8 @@ export function generateCSSFromTokens(tokens) {
1221
1219
  lines.push(` --tracking-${key}: ${value};`);
1222
1220
  }
1223
1221
 
1224
- // Container
1225
- for (const [key, value] of Object.entries(tokens.container || {})) {
1226
- lines.push(` --container-${key}: ${value};`);
1227
- }
1222
+ // Container — NICHT als --container-* ausgeben (kollidiert mit Tailwind v4 max-w-*)
1223
+ // Breakpoints werden separat als --breakpoint-* ausgegeben.
1228
1224
 
1229
1225
  // Border Width
1230
1226
  if (typeof tokens.borderWidth === 'object' && tokens.borderWidth !== null) {