@ereo/bundler 0.1.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.
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @ereo/bundler - Island Extraction Plugin
3
+ *
4
+ * Extracts and processes island components for selective hydration.
5
+ */
6
+ import type { Plugin } from '@ereo/core';
7
+ /**
8
+ * Island metadata.
9
+ */
10
+ export interface IslandMeta {
11
+ id: string;
12
+ name: string;
13
+ file: string;
14
+ strategy: 'load' | 'idle' | 'visible' | 'media' | 'none';
15
+ media?: string;
16
+ exports: string[];
17
+ }
18
+ /**
19
+ * Extract island metadata from file content.
20
+ */
21
+ export declare function extractIslands(content: string, filePath: string): IslandMeta[];
22
+ /**
23
+ * Transform JSX to add island markers.
24
+ */
25
+ export declare function transformIslandJSX(code: string): string;
26
+ /**
27
+ * Generate island manifest.
28
+ */
29
+ export declare function generateIslandManifest(islands: IslandMeta[]): string;
30
+ /**
31
+ * Generate island client bundle entry.
32
+ */
33
+ export declare function generateIslandEntry(islands: IslandMeta[]): string;
34
+ /**
35
+ * Create island extraction plugin.
36
+ */
37
+ export declare function createIslandsPlugin(): Plugin;
38
+ /**
39
+ * Get island by component name.
40
+ */
41
+ export declare function findIslandByName(islands: IslandMeta[], name: string): IslandMeta | undefined;
42
+ /**
43
+ * Check if a file contains islands.
44
+ */
45
+ export declare function hasIslands(content: string): boolean;
46
+ //# sourceMappingURL=islands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"islands.d.ts","sourceRoot":"","sources":["../../src/plugins/islands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AASD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,UAAU,EAAE,CAqCd;AAYD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAcpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAsBjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuC5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,EAAE,EACrB,IAAI,EAAE,MAAM,GACX,UAAU,GAAG,SAAS,CAExB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnD"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @ereo/bundler - Tailwind CSS Plugin
3
+ *
4
+ * Full Tailwind CSS integration with PostCSS processing.
5
+ * Supports @tailwind directives, @apply, custom config, and production minification.
6
+ */
7
+ import type { Plugin } from '@ereo/core';
8
+ /**
9
+ * Tailwind plugin options.
10
+ */
11
+ export interface TailwindPluginOptions {
12
+ /** Content paths to scan for classes (glob patterns) */
13
+ content?: string[];
14
+ /** Custom Tailwind config path */
15
+ config?: string;
16
+ /** Enable dark mode */
17
+ darkMode?: 'class' | 'media' | 'selector' | false;
18
+ /** Minify CSS in production */
19
+ minify?: boolean;
20
+ /** Enable source maps */
21
+ sourcemap?: boolean;
22
+ /** Custom PostCSS plugins */
23
+ postcssPlugins?: any[];
24
+ /** Watch content files for changes (dev mode) */
25
+ watch?: boolean;
26
+ }
27
+ /**
28
+ * Create Tailwind plugin with full CSS processing.
29
+ */
30
+ export declare function createTailwindPlugin(options?: TailwindPluginOptions): Plugin;
31
+ /**
32
+ * Generate Tailwind config file content.
33
+ */
34
+ export declare function generateTailwindConfig(options?: TailwindPluginOptions): string;
35
+ /**
36
+ * Generate CSS entry file with Tailwind directives.
37
+ */
38
+ export declare function generateCSSEntry(): string;
39
+ /**
40
+ * Check if Tailwind is configured in a project.
41
+ */
42
+ export declare function hasTailwindConfig(root: string): Promise<boolean>;
43
+ /**
44
+ * Create Tailwind CSS middleware for dev server.
45
+ * This provides a standalone middleware for serving processed Tailwind CSS.
46
+ */
47
+ export declare function tailwindMiddleware(options?: TailwindPluginOptions): (request: Request, context: any, next: () => Promise<Response>) => Promise<Response>;
48
+ /**
49
+ * Extract Tailwind classes from a file for safelist generation.
50
+ */
51
+ export declare function extractTailwindClasses(content: string): string[];
52
+ /**
53
+ * Generate safelist from content files for JIT optimization.
54
+ */
55
+ export declare function generateSafelist(root: string, patterns: string[]): Promise<string[]>;
56
+ //# sourceMappingURL=tailwind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind.d.ts","sourceRoot":"","sources":["../../src/plugins/tailwind.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,MAAM,EAA4B,MAAM,YAAY,CAAC;AAOnE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IAClD,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA8BD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAgehF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CA0BlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2BtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,qBAA0B,IA6CtD,SAAS,OAAO,EAAE,SAAS,GAAG,EAAE,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,uBAqD5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BhE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuB1F"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @ereo/bundler - Enhanced Route Type Generation
3
+ *
4
+ * Generates TypeScript types for routes enabling end-to-end type safety.
5
+ * Solves TanStack Start limitations:
6
+ * - Full search param types per route
7
+ * - Hash param types (unique to Ereo)
8
+ * - Context inheritance chain types
9
+ * - Performance optimizations for large route trees
10
+ *
11
+ * Performance optimizations:
12
+ * - Object maps instead of tuples
13
+ * - Lazy type evaluation with LazyEval<T>
14
+ * - Split output files by route prefix
15
+ * - Maximum recursion depth guards
16
+ */
17
+ import type { Route } from '@ereo/core';
18
+ /**
19
+ * Extended route type info with search/hash params.
20
+ */
21
+ export interface RouteTypeInfo {
22
+ path: string;
23
+ file: string;
24
+ params: Record<string, ParamType>;
25
+ hasLoader: boolean;
26
+ hasAction: boolean;
27
+ hasMeta: boolean;
28
+ hasHandle: boolean;
29
+ hasSearchParams: boolean;
30
+ hasHashParams: boolean;
31
+ loaderTypeRef?: string;
32
+ actionTypeRef?: string;
33
+ searchParamsTypeRef?: string;
34
+ hashParamsTypeRef?: string;
35
+ contextTypeRef?: string;
36
+ parentPath?: string;
37
+ config?: {
38
+ renderMode?: string;
39
+ auth?: boolean;
40
+ };
41
+ }
42
+ /**
43
+ * Parameter type with optionality.
44
+ */
45
+ export interface ParamType {
46
+ type: 'string' | 'string[]';
47
+ optional?: boolean;
48
+ }
49
+ /**
50
+ * Generation options.
51
+ */
52
+ export interface TypeGenerationOptions {
53
+ routesDir?: string;
54
+ inferTypes?: boolean;
55
+ splitFiles?: boolean;
56
+ maxRoutesPerFile?: number;
57
+ generateSearchParams?: boolean;
58
+ generateHashParams?: boolean;
59
+ generateContext?: boolean;
60
+ lazyEvaluation?: boolean;
61
+ }
62
+ /**
63
+ * Extract parameter types from a route path with optionality.
64
+ */
65
+ export declare function extractParams(path: string): Record<string, ParamType>;
66
+ /**
67
+ * Generate TypeScript type definitions for routes with full inference.
68
+ */
69
+ export declare function generateRouteTypes(routes: Route[], options?: TypeGenerationOptions): string;
70
+ /**
71
+ * Generate split type files for large route trees.
72
+ */
73
+ export declare function generateSplitRouteTypes(routes: Route[], options?: TypeGenerationOptions): Map<string, string>;
74
+ /**
75
+ * Write route types to file.
76
+ */
77
+ export declare function writeRouteTypes(outDir: string, routes: Route[], options?: TypeGenerationOptions): Promise<void>;
78
+ /**
79
+ * Write split route types to files (for large route trees).
80
+ */
81
+ export declare function writeSplitRouteTypes(outDir: string, routes: Route[], options?: TypeGenerationOptions): Promise<void>;
82
+ /**
83
+ * Create type generation plugin.
84
+ */
85
+ export declare function createTypesPlugin(options?: TypeGenerationOptions & {
86
+ outDir?: string;
87
+ watch?: boolean;
88
+ }): {
89
+ name: string;
90
+ transformRoutes(routeList: Route[]): Route[];
91
+ buildEnd(): Promise<void>;
92
+ configureServer(_server: {
93
+ middlewares: unknown[];
94
+ }): Promise<void>;
95
+ };
96
+ /**
97
+ * Generate Link component props types.
98
+ */
99
+ export declare function generateLinkTypes(routes: Route[]): string;
100
+ /**
101
+ * Generate useLoaderData hook types.
102
+ */
103
+ export declare function generateHookTypes(): string;
104
+ /**
105
+ * Generate all type files for a routes directory.
106
+ */
107
+ export declare function generateAllTypes(routes: Route[], outDir: string, routesDir: string): Promise<void>;
108
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @ereo/bundler - Production Build
3
+ *
4
+ * Optimized production builds using Bun's bundler.
5
+ * Handles server/client bundles, islands, CSS, and code splitting.
6
+ */
7
+ import type { Plugin } from '@ereo/core';
8
+ /**
9
+ * Build options.
10
+ */
11
+ export interface BuildOptions {
12
+ /** Project root directory */
13
+ root?: string;
14
+ /** Output directory */
15
+ outDir?: string;
16
+ /** Enable minification */
17
+ minify?: boolean;
18
+ /** Generate sourcemaps */
19
+ sourcemap?: boolean;
20
+ /** Target runtime */
21
+ target?: 'bun' | 'browser' | 'node';
22
+ /** Entry points */
23
+ entrypoints?: string[];
24
+ /** External packages */
25
+ external?: string[];
26
+ /** Enable code splitting */
27
+ splitting?: boolean;
28
+ /** Plugins to use */
29
+ plugins?: Plugin[];
30
+ /** Public path for assets */
31
+ publicPath?: string;
32
+ /** Asset file extensions to copy */
33
+ assetExtensions?: string[];
34
+ }
35
+ /**
36
+ * Build output entry.
37
+ */
38
+ export interface BuildOutput {
39
+ path: string;
40
+ size: number;
41
+ type: 'js' | 'css' | 'asset' | 'map';
42
+ hash?: string;
43
+ isEntry?: boolean;
44
+ exports?: string[];
45
+ }
46
+ /**
47
+ * Build result.
48
+ */
49
+ export interface BuildResult {
50
+ success: boolean;
51
+ outputs: BuildOutput[];
52
+ duration: number;
53
+ errors?: string[];
54
+ }
55
+ /**
56
+ * Build the project for production.
57
+ */
58
+ export declare function build(options?: BuildOptions): Promise<BuildResult>;
59
+ /**
60
+ * Get build output size formatted.
61
+ */
62
+ export declare function formatSize(bytes: number): string;
63
+ /**
64
+ * Print build report.
65
+ */
66
+ export declare function printBuildReport(result: BuildResult): void;
67
+ /**
68
+ * Analyze bundle size and provide recommendations.
69
+ */
70
+ export declare function analyzeBuild(result: BuildResult): {
71
+ totalSize: number;
72
+ jsSize: number;
73
+ cssSize: number;
74
+ assetSize: number;
75
+ largestFiles: BuildOutput[];
76
+ recommendations: string[];
77
+ };
78
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/prod/build.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAuC,MAAM,EAAE,MAAM,YAAY,CAAC;AAU9E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAwED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAkL5E;AAs3BD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAyC1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CA2CA"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@ereo/bundler",
3
+ "version": "0.1.6",
4
+ "license": "MIT",
5
+ "author": "Ereo Team",
6
+ "homepage": "https://ereo.dev",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/ereojs/ereo.git",
10
+ "directory": "packages/bundler"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/ereojs/ereo/issues"
14
+ },
15
+ "type": "module",
16
+ "main": "./dist/index.js",
17
+ "types": "./dist/index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "scripts": {
28
+ "build": "bun build ./src/index.ts --outdir ./dist --target bun --external @ereo/core --external @ereo/router --external postcss --external tailwindcss --external autoprefixer --external cssnano --external glob && bun run build:types",
29
+ "build:types": "tsc --emitDeclarationOnly --outDir dist",
30
+ "dev": "bun build ./src/index.ts --outdir ./dist --target bun --watch",
31
+ "test": "bun test",
32
+ "typecheck": "tsc --noEmit"
33
+ },
34
+ "dependencies": {
35
+ "@ereo/core": "workspace:*",
36
+ "@ereo/router": "workspace:*",
37
+ "postcss": "^8.4.35",
38
+ "tailwindcss": "^3.4.1",
39
+ "autoprefixer": "^10.4.17",
40
+ "cssnano": "^6.0.3",
41
+ "glob": "^10.3.10"
42
+ },
43
+ "devDependencies": {
44
+ "@types/bun": "^1.1.0",
45
+ "typescript": "^5.4.0"
46
+ }
47
+ }