raktajs 0.1.0
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/README.md +90 -0
- package/dist/auto-import/generator.d.ts +4 -0
- package/dist/auto-import/generator.d.ts.map +1 -0
- package/dist/auto-import/index.d.ts +5 -0
- package/dist/auto-import/index.d.ts.map +1 -0
- package/dist/auto-import/index.js +153 -0
- package/dist/auto-import/index.js.map +11 -0
- package/dist/auto-import/scanner.d.ts +9 -0
- package/dist/auto-import/scanner.d.ts.map +1 -0
- package/dist/auto-import/types.d.ts +20 -0
- package/dist/auto-import/types.d.ts.map +1 -0
- package/dist/cli/build.d.ts +2 -0
- package/dist/cli/build.d.ts.map +1 -0
- package/dist/cli/dev.d.ts +2 -0
- package/dist/cli/dev.d.ts.map +1 -0
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/imports.d.ts +2 -0
- package/dist/cli/imports.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/make.d.ts +4 -0
- package/dist/cli/make.d.ts.map +1 -0
- package/dist/cli/rakta.d.ts +3 -0
- package/dist/cli/rakta.d.ts.map +1 -0
- package/dist/cli/rakta.js +1511 -0
- package/dist/cli/rakta.js.map +33 -0
- package/dist/cli/routes.d.ts +2 -0
- package/dist/cli/routes.d.ts.map +1 -0
- package/dist/cli/rpcTypes.d.ts +2 -0
- package/dist/cli/rpcTypes.d.ts.map +1 -0
- package/dist/cli/seo.d.ts +2 -0
- package/dist/cli/seo.d.ts.map +1 -0
- package/dist/cli/start.d.ts +2 -0
- package/dist/cli/start.d.ts.map +1 -0
- package/dist/components/Click.d.ts +11 -0
- package/dist/components/Click.d.ts.map +1 -0
- package/dist/components/Picture.d.ts +22 -0
- package/dist/components/Picture.d.ts.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +1383 -0
- package/dist/components/index.js.map +15 -0
- package/dist/config/defineConfig.d.ts +64 -0
- package/dist/config/defineConfig.d.ts.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +104 -0
- package/dist/config/index.js.map +11 -0
- package/dist/config/loadConfig.d.ts +4 -0
- package/dist/config/loadConfig.d.ts.map +1 -0
- package/dist/forge/build.d.ts +7 -0
- package/dist/forge/build.d.ts.map +1 -0
- package/dist/forge/devServer.d.ts +7 -0
- package/dist/forge/devServer.d.ts.map +1 -0
- package/dist/forge/index.d.ts +6 -0
- package/dist/forge/index.d.ts.map +1 -0
- package/dist/forge/index.js +579 -0
- package/dist/forge/index.js.map +17 -0
- package/dist/forge/inspect.d.ts +9 -0
- package/dist/forge/inspect.d.ts.map +1 -0
- package/dist/forge/types.d.ts +55 -0
- package/dist/forge/types.d.ts.map +1 -0
- package/dist/http/errors.d.ts +17 -0
- package/dist/http/errors.d.ts.map +1 -0
- package/dist/http/index.d.ts +4 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +154 -0
- package/dist/http/index.js.map +11 -0
- package/dist/http/panturaFetch.d.ts +33 -0
- package/dist/http/panturaFetch.d.ts.map +1 -0
- package/dist/http/types.d.ts +24 -0
- package/dist/http/types.d.ts.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3872 -0
- package/dist/index.js.map +50 -0
- package/dist/pwa/cache.d.ts +6 -0
- package/dist/pwa/cache.d.ts.map +1 -0
- package/dist/pwa/index.d.ts +5 -0
- package/dist/pwa/index.d.ts.map +1 -0
- package/dist/pwa/index.js +136 -0
- package/dist/pwa/index.js.map +12 -0
- package/dist/pwa/manifest.d.ts +11 -0
- package/dist/pwa/manifest.d.ts.map +1 -0
- package/dist/pwa/serviceWorker.d.ts +11 -0
- package/dist/pwa/serviceWorker.d.ts.map +1 -0
- package/dist/pwa/types.d.ts +45 -0
- package/dist/pwa/types.d.ts.map +1 -0
- package/dist/render/index.d.ts +5 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +183 -0
- package/dist/render/index.js.map +11 -0
- package/dist/render/modes.d.ts +13 -0
- package/dist/render/modes.d.ts.map +1 -0
- package/dist/render/renderer.d.ts +15 -0
- package/dist/render/renderer.d.ts.map +1 -0
- package/dist/render/types.d.ts +72 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/router/index.d.ts +5 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +228 -0
- package/dist/router/index.js.map +12 -0
- package/dist/router/manifest.d.ts +6 -0
- package/dist/router/manifest.d.ts.map +1 -0
- package/dist/router/matcher.d.ts +5 -0
- package/dist/router/matcher.d.ts.map +1 -0
- package/dist/router/scanner.d.ts +6 -0
- package/dist/router/scanner.d.ts.map +1 -0
- package/dist/router/types.d.ts +45 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/rpc/client.d.ts +24 -0
- package/dist/rpc/client.d.ts.map +1 -0
- package/dist/rpc/index.d.ts +6 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js +179 -0
- package/dist/rpc/index.js.map +13 -0
- package/dist/rpc/procedure.d.ts +28 -0
- package/dist/rpc/procedure.d.ts.map +1 -0
- package/dist/rpc/router.d.ts +12 -0
- package/dist/rpc/router.d.ts.map +1 -0
- package/dist/rpc/types.d.ts +48 -0
- package/dist/rpc/types.d.ts.map +1 -0
- package/dist/schema/array.d.ts +15 -0
- package/dist/schema/array.d.ts.map +1 -0
- package/dist/schema/boolean.d.ts +7 -0
- package/dist/schema/boolean.d.ts.map +1 -0
- package/dist/schema/errors.d.ts +21 -0
- package/dist/schema/errors.d.ts.map +1 -0
- package/dist/schema/index.d.ts +11 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +393 -0
- package/dist/schema/index.js.map +16 -0
- package/dist/schema/number.d.ts +17 -0
- package/dist/schema/number.d.ts.map +1 -0
- package/dist/schema/object.d.ts +19 -0
- package/dist/schema/object.d.ts.map +1 -0
- package/dist/schema/string.d.ts +18 -0
- package/dist/schema/string.d.ts.map +1 -0
- package/dist/schema/types.d.ts +27 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/seo/head.d.ts +8 -0
- package/dist/seo/head.d.ts.map +1 -0
- package/dist/seo/index.d.ts +9 -0
- package/dist/seo/index.d.ts.map +1 -0
- package/dist/seo/index.js +1578 -0
- package/dist/seo/index.js.map +17 -0
- package/dist/seo/metadata.d.ts +106 -0
- package/dist/seo/metadata.d.ts.map +1 -0
- package/dist/seo/robots.d.ts +14 -0
- package/dist/seo/robots.d.ts.map +1 -0
- package/dist/seo/sitemap.d.ts +27 -0
- package/dist/seo/sitemap.d.ts.map +1 -0
- package/dist/store/createStore.d.ts +18 -0
- package/dist/store/createStore.d.ts.map +1 -0
- package/dist/store/index.d.ts +3 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +925 -0
- package/dist/store/index.js.map +12 -0
- package/dist/store/types.d.ts +14 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/tide/adapter.d.ts +8 -0
- package/dist/tide/adapter.d.ts.map +1 -0
- package/dist/tide/index.d.ts +4 -0
- package/dist/tide/index.d.ts.map +1 -0
- package/dist/tide/index.js +477 -0
- package/dist/tide/index.js.map +16 -0
- package/dist/tide/runtime.d.ts +8 -0
- package/dist/tide/runtime.d.ts.map +1 -0
- package/dist/tide/types.d.ts +40 -0
- package/dist/tide/types.d.ts.map +1 -0
- package/package.json +128 -0
package/README.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# rakta
|
|
2
|
+
|
|
3
|
+
The core framework package of **Rakta.js** — a lightweight, composable
|
|
4
|
+
frontend framework on Bun, React, and TypeScript.
|
|
5
|
+
|
|
6
|
+
> Small in size. Fierce in speed. Alive in every route.
|
|
7
|
+
> Bun in the engine. React at the core. Cirebon in the soul. Garuda in the heart.
|
|
8
|
+
|
|
9
|
+
This package is rarely installed directly — most people get it through
|
|
10
|
+
[`create-rakta-app`](https://www.npmjs.com/package/create-rakta-app). It is
|
|
11
|
+
documented here for contributors and for people building custom tooling on
|
|
12
|
+
top of Rakta.js.
|
|
13
|
+
|
|
14
|
+
## What's inside
|
|
15
|
+
|
|
16
|
+
| Module | Import | Feature name | Purpose |
|
|
17
|
+
| --- | --- | --- | --- |
|
|
18
|
+
| Router | `rakta/router` | MendungWeave | File-based route scanning, matching, and manifest generation |
|
|
19
|
+
| Components | `rakta/components` | ShrimpStep / TrusmiFrame | `<click to="">` navigation and `<picture path="">` images |
|
|
20
|
+
| RPC | `rakta/rpc` | CarubanWire | Type-safe procedure router and client, inspired by tRPC |
|
|
21
|
+
| Store | `rakta/store` | — | Lightweight, Zustand-inspired state store using `useSyncExternalStore` |
|
|
22
|
+
| Schema | `rakta/schema` | — | Runtime validation with static type inference |
|
|
23
|
+
| HTTP | `rakta/http` | PanturaFetch | A small, typed `fetch`-based HTTP client with interceptors |
|
|
24
|
+
| SEO | `rakta/seo` | WaliSignal / SunyaragiCrown | Metadata, `<head>` rendering, sitemap, and robots.txt helpers |
|
|
25
|
+
| Auto import | `rakta/auto-import` | TrusmiThread | Scans `app/`, `components/`, `lib/` and writes `.rakta/auto-imports.ts` |
|
|
26
|
+
| Render | `rakta/render` | NorthCoastFlow | Render mode resolution (CSR / SSR / SSG / CSG / SPA / Hybrid) |
|
|
27
|
+
| Forge | `rakta/forge` | CherbonsEngine | Dev server, build, and project inspection |
|
|
28
|
+
| Tide | `rakta/tide` | — | Request/response runtime context helpers |
|
|
29
|
+
| Config | `rakta/config` | — | `defineConfig` / `loadConfig` for `rakta.config.ts` |
|
|
30
|
+
|
|
31
|
+
## Installation
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
bun add rakta
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
`rakta` declares `react` and `react-dom` (`>=19.0.0`) as peer dependencies.
|
|
38
|
+
|
|
39
|
+
## Quick example
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import { defineConfig } from "rakta/config";
|
|
43
|
+
|
|
44
|
+
export default defineConfig({
|
|
45
|
+
appName: "My App",
|
|
46
|
+
render: { defaultMode: "csr" },
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
// app/page.tsx
|
|
52
|
+
import { Click } from "rakta/components";
|
|
53
|
+
|
|
54
|
+
export default function HomePage() {
|
|
55
|
+
return (
|
|
56
|
+
<main>
|
|
57
|
+
<h1>Welcome</h1>
|
|
58
|
+
<click to="/about">About</click>
|
|
59
|
+
</main>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## CLI
|
|
65
|
+
|
|
66
|
+
The `rakta` package also exposes a CLI binary:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
bun rakta dev
|
|
70
|
+
bun rakta build
|
|
71
|
+
bun rakta start
|
|
72
|
+
bun rakta routes
|
|
73
|
+
bun rakta make page about
|
|
74
|
+
bun rakta make layout dashboard
|
|
75
|
+
bun rakta make api users
|
|
76
|
+
bun rakta seo:generate
|
|
77
|
+
bun rakta imports:generate
|
|
78
|
+
bun rakta rpc:types
|
|
79
|
+
bun rakta doctor
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Documentation
|
|
83
|
+
|
|
84
|
+
Full documentation lives in the repository root under
|
|
85
|
+
[`docs/en`](../../docs/en) (English) and [`docs/id`](../../docs/id)
|
|
86
|
+
(Bahasa Indonesia).
|
|
87
|
+
|
|
88
|
+
## License
|
|
89
|
+
|
|
90
|
+
MIT — Rhein Sullivan | Vyagra Nexus™
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AutoImportGeneratorOptions, AutoImportManifest } from "./types";
|
|
2
|
+
export declare function generateAutoImports(options: AutoImportGeneratorOptions): AutoImportManifest;
|
|
3
|
+
export declare function printAutoImportSummary(manifest: AutoImportManifest): void;
|
|
4
|
+
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/auto-import/generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,0BAA0B,EAC1B,kBAAkB,EAElB,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,0BAA0B,GACjC,kBAAkB,CAoCpB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAiBzE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { generateAutoImports, printAutoImportSummary, } from "./generator";
|
|
2
|
+
export type { ScanForExportsOptions } from "./scanner";
|
|
3
|
+
export { scanForExports } from "./scanner";
|
|
4
|
+
export type { AutoImportGeneratorOptions, AutoImportKind, AutoImportManifest, DiscoveredExport, } from "./types";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto-import/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EACX,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GAChB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/auto-import/generator.ts
|
|
3
|
+
import { mkdirSync, writeFileSync } from "fs";
|
|
4
|
+
import { join as join2 } from "path";
|
|
5
|
+
|
|
6
|
+
// src/auto-import/scanner.ts
|
|
7
|
+
import { existsSync, readdirSync } from "fs";
|
|
8
|
+
import { basename, extname, join, relative } from "path";
|
|
9
|
+
var DEFAULT_EXTENSIONS = [
|
|
10
|
+
".ts",
|
|
11
|
+
".tsx",
|
|
12
|
+
".js",
|
|
13
|
+
".jsx"
|
|
14
|
+
];
|
|
15
|
+
function detectKind(filePath) {
|
|
16
|
+
const lower = filePath.replace(/\\/g, "/").toLowerCase();
|
|
17
|
+
if (lower.includes("/stores/") || lower.endsWith(".store.ts") || lower.endsWith(".store.tsx")) {
|
|
18
|
+
return "store";
|
|
19
|
+
}
|
|
20
|
+
if (lower.includes("/schemas/") || lower.endsWith(".schema.ts") || lower.endsWith(".schema.tsx")) {
|
|
21
|
+
return "schema";
|
|
22
|
+
}
|
|
23
|
+
if (lower.includes("/components/")) {
|
|
24
|
+
return "component";
|
|
25
|
+
}
|
|
26
|
+
const fileName = basename(lower);
|
|
27
|
+
if (fileName.startsWith("use")) {
|
|
28
|
+
return "hook";
|
|
29
|
+
}
|
|
30
|
+
if (lower.includes("/lib/") || lower.includes("/utils/") || lower.includes("/helpers/")) {
|
|
31
|
+
return "utils";
|
|
32
|
+
}
|
|
33
|
+
return "unknown";
|
|
34
|
+
}
|
|
35
|
+
function toPascalCase(text) {
|
|
36
|
+
return text.replace(/[-_.]/g, " ").replace(/\s+(.)/g, (_match, char) => char.toUpperCase()).replace(/^(.)/, (_match, char) => char.toUpperCase());
|
|
37
|
+
}
|
|
38
|
+
function deriveExportName(filePath, dirPath) {
|
|
39
|
+
const relativePath = relative(dirPath, filePath).replace(/\\/g, "/");
|
|
40
|
+
const withoutExtension = relativePath.replace(/\.(ts|tsx|js|jsx)$/, "").replace(/\/index$/, "");
|
|
41
|
+
return toPascalCase(withoutExtension.replace(/\//g, "_"));
|
|
42
|
+
}
|
|
43
|
+
function walkDirectory(dirPath, extensions) {
|
|
44
|
+
if (!existsSync(dirPath)) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
const collected = [];
|
|
48
|
+
function walk(currentPath) {
|
|
49
|
+
const entries = readdirSync(currentPath, {
|
|
50
|
+
withFileTypes: true
|
|
51
|
+
});
|
|
52
|
+
for (const entry of entries) {
|
|
53
|
+
if (entry.name.startsWith(".") || entry.name === "node_modules") {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
const fullPath = join(currentPath, entry.name);
|
|
57
|
+
if (entry.isDirectory()) {
|
|
58
|
+
walk(fullPath);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (entry.isFile() && extensions.includes(extname(entry.name))) {
|
|
62
|
+
collected.push(fullPath);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
walk(dirPath);
|
|
67
|
+
return collected;
|
|
68
|
+
}
|
|
69
|
+
function scanForExports(options) {
|
|
70
|
+
const extensions = options.extensions ?? DEFAULT_EXTENSIONS;
|
|
71
|
+
const discovered = [];
|
|
72
|
+
const outputAbs = join(options.frontendRoot, options.outputDirectory);
|
|
73
|
+
for (const directory of options.directories) {
|
|
74
|
+
const directoryAbs = join(options.frontendRoot, directory);
|
|
75
|
+
const files = walkDirectory(directoryAbs, extensions);
|
|
76
|
+
for (const filePath of files) {
|
|
77
|
+
const relativeFromOutput = relative(outputAbs, filePath).replace(/\\/g, "/").replace(/\.(ts|tsx)$/, "");
|
|
78
|
+
const importPath = relativeFromOutput.startsWith(".") ? relativeFromOutput : `./${relativeFromOutput}`;
|
|
79
|
+
discovered.push({
|
|
80
|
+
name: deriveExportName(filePath, directoryAbs),
|
|
81
|
+
filePath: relative(options.frontendRoot, filePath).replace(/\\/g, "/"),
|
|
82
|
+
importPath,
|
|
83
|
+
kind: detectKind(filePath)
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return discovered;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// src/auto-import/generator.ts
|
|
91
|
+
var GENERATED_HEADER = `// This file is auto-generated by: bun rakta imports:generate
|
|
92
|
+
// Do not edit manually. Re-generate whenever you add or remove files.
|
|
93
|
+
// Note: Rakta Auto Import v0.1.0 produces a typed re-export layer.
|
|
94
|
+
// Import from this file in your app code:
|
|
95
|
+
// import { useCounterStore, http } from "./.rakta/auto-imports";
|
|
96
|
+
`;
|
|
97
|
+
function buildImportLines(exports) {
|
|
98
|
+
if (exports.length === 0) {
|
|
99
|
+
return `// No exports discovered. Check your autoImport.directories config.
|
|
100
|
+
`;
|
|
101
|
+
}
|
|
102
|
+
return exports.map((discoveredExport) => `export * from "${discoveredExport.importPath}";`).join(`
|
|
103
|
+
`);
|
|
104
|
+
}
|
|
105
|
+
function generateAutoImports(options) {
|
|
106
|
+
const exports = scanForExports({
|
|
107
|
+
frontendRoot: options.frontendRoot,
|
|
108
|
+
directories: options.directories,
|
|
109
|
+
outputDirectory: options.outputDirectory,
|
|
110
|
+
...options.extensions ? {
|
|
111
|
+
extensions: options.extensions
|
|
112
|
+
} : {}
|
|
113
|
+
});
|
|
114
|
+
const outputDir = join2(options.frontendRoot, options.outputDirectory);
|
|
115
|
+
mkdirSync(outputDir, {
|
|
116
|
+
recursive: true
|
|
117
|
+
});
|
|
118
|
+
const tsContent = `${GENERATED_HEADER}
|
|
119
|
+
${buildImportLines(exports)}
|
|
120
|
+
`;
|
|
121
|
+
writeFileSync(join2(outputDir, "auto-imports.ts"), tsContent, "utf-8");
|
|
122
|
+
if (options.generateDts) {
|
|
123
|
+
const dtsContent = tsContent.replace("// This file is auto-generated by: bun rakta imports:generate", "// Type declarations \u2014 auto-generated by: bun rakta imports:generate");
|
|
124
|
+
writeFileSync(join2(outputDir, "auto-imports.d.ts"), dtsContent, "utf-8");
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
generatedAt: new Date().toISOString(),
|
|
128
|
+
sourceDirectories: options.directories,
|
|
129
|
+
exports
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function printAutoImportSummary(manifest) {
|
|
133
|
+
console.log(`
|
|
134
|
+
Rakta Auto Import`);
|
|
135
|
+
console.log(` ${"\u2500".repeat(50)}`);
|
|
136
|
+
console.log(`Generated: ${manifest.generatedAt}`);
|
|
137
|
+
console.log(`Exports: ${manifest.exports.length}`);
|
|
138
|
+
if (manifest.exports.length > 0) {
|
|
139
|
+
console.log("");
|
|
140
|
+
for (const discoveredExport of manifest.exports) {
|
|
141
|
+
console.log(`[${discoveredExport.kind.padEnd(10)}] ${discoveredExport.name} <- ${discoveredExport.filePath}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
console.log(` ${"\u2500".repeat(50)}
|
|
145
|
+
`);
|
|
146
|
+
}
|
|
147
|
+
export {
|
|
148
|
+
scanForExports,
|
|
149
|
+
printAutoImportSummary,
|
|
150
|
+
generateAutoImports
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
//# debugId=EE441A6E1C94C7FC64756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["..\\..\\src\\auto-import\\generator.ts", "..\\..\\src\\auto-import\\scanner.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { mkdirSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { scanForExports } from \"./scanner\";\nimport type {\n\tAutoImportGeneratorOptions,\n\tAutoImportManifest,\n\tDiscoveredExport,\n} from \"./types\";\n\nconst GENERATED_HEADER = `// This file is auto-generated by: bun rakta imports:generate\n// Do not edit manually. Re-generate whenever you add or remove files.\n// Note: Rakta Auto Import v0.1.0 produces a typed re-export layer.\n// Import from this file in your app code:\n// import { useCounterStore, http } from \"./.rakta/auto-imports\";\n`;\n\nfunction buildImportLines(exports: ReadonlyArray<DiscoveredExport>): string {\n\tif (exports.length === 0) {\n\t\treturn \"// No exports discovered. Check your autoImport.directories config.\\n\";\n\t}\n\n\treturn exports\n\t\t.map(\n\t\t\t(discoveredExport) => `export * from \"${discoveredExport.importPath}\";`,\n\t\t)\n\t\t.join(\"\\n\");\n}\n\nexport function generateAutoImports(\n\toptions: AutoImportGeneratorOptions,\n): AutoImportManifest {\n\tconst exports = scanForExports({\n\t\tfrontendRoot: options.frontendRoot,\n\t\tdirectories: options.directories,\n\t\toutputDirectory: options.outputDirectory,\n\t\t...(options.extensions\n\t\t\t? {\n\t\t\t\t\textensions: options.extensions,\n\t\t\t\t}\n\t\t\t: {}),\n\t});\n\n\tconst outputDir = join(options.frontendRoot, options.outputDirectory);\n\n\tmkdirSync(outputDir, {\n\t\trecursive: true,\n\t});\n\n\tconst tsContent = `${GENERATED_HEADER}\\n${buildImportLines(exports)}\\n`;\n\n\twriteFileSync(join(outputDir, \"auto-imports.ts\"), tsContent, \"utf-8\");\n\n\tif (options.generateDts) {\n\t\tconst dtsContent = tsContent.replace(\n\t\t\t\"// This file is auto-generated by: bun rakta imports:generate\",\n\t\t\t\"// Type declarations — auto-generated by: bun rakta imports:generate\",\n\t\t);\n\n\t\twriteFileSync(join(outputDir, \"auto-imports.d.ts\"), dtsContent, \"utf-8\");\n\t}\n\n\treturn {\n\t\tgeneratedAt: new Date().toISOString(),\n\t\tsourceDirectories: options.directories,\n\t\texports,\n\t};\n}\n\nexport function printAutoImportSummary(manifest: AutoImportManifest): void {\n\tconsole.log(\"\\n Rakta Auto Import\");\n\tconsole.log(` ${\"─\".repeat(50)}`);\n\tconsole.log(`Generated: ${manifest.generatedAt}`);\n\tconsole.log(`Exports: ${manifest.exports.length}`);\n\n\tif (manifest.exports.length > 0) {\n\t\tconsole.log(\"\");\n\n\t\tfor (const discoveredExport of manifest.exports) {\n\t\t\tconsole.log(\n\t\t\t\t`[${discoveredExport.kind.padEnd(10)}] ${discoveredExport.name} <- ${discoveredExport.filePath}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconsole.log(` ${\"─\".repeat(50)}\\n`);\n}\n",
|
|
6
|
+
"import { existsSync, readdirSync } from \"node:fs\";\nimport { basename, extname, join, relative } from \"node:path\";\nimport type { AutoImportKind, DiscoveredExport } from \"./types\";\n\nconst DEFAULT_EXTENSIONS: ReadonlyArray<string> = [\n\t\".ts\",\n\t\".tsx\",\n\t\".js\",\n\t\".jsx\",\n];\n\nfunction detectKind(filePath: string): AutoImportKind {\n\tconst lower = filePath.replace(/\\\\/g, \"/\").toLowerCase();\n\n\tif (\n\t\tlower.includes(\"/stores/\") ||\n\t\tlower.endsWith(\".store.ts\") ||\n\t\tlower.endsWith(\".store.tsx\")\n\t) {\n\t\treturn \"store\";\n\t}\n\n\tif (\n\t\tlower.includes(\"/schemas/\") ||\n\t\tlower.endsWith(\".schema.ts\") ||\n\t\tlower.endsWith(\".schema.tsx\")\n\t) {\n\t\treturn \"schema\";\n\t}\n\n\tif (lower.includes(\"/components/\")) {\n\t\treturn \"component\";\n\t}\n\n\tconst fileName = basename(lower);\n\n\tif (fileName.startsWith(\"use\")) {\n\t\treturn \"hook\";\n\t}\n\n\tif (\n\t\tlower.includes(\"/lib/\") ||\n\t\tlower.includes(\"/utils/\") ||\n\t\tlower.includes(\"/helpers/\")\n\t) {\n\t\treturn \"utils\";\n\t}\n\n\treturn \"unknown\";\n}\n\nfunction toPascalCase(text: string): string {\n\treturn text\n\t\t.replace(/[-_.]/g, \" \")\n\t\t.replace(/\\s+(.)/g, (_match: string, char: string) => char.toUpperCase())\n\t\t.replace(/^(.)/, (_match: string, char: string) => char.toUpperCase());\n}\n\nfunction deriveExportName(filePath: string, dirPath: string): string {\n\tconst relativePath = relative(dirPath, filePath).replace(/\\\\/g, \"/\");\n\n\tconst withoutExtension = relativePath\n\t\t.replace(/\\.(ts|tsx|js|jsx)$/, \"\")\n\t\t.replace(/\\/index$/, \"\");\n\n\treturn toPascalCase(withoutExtension.replace(/\\//g, \"_\"));\n}\n\nfunction walkDirectory(\n\tdirPath: string,\n\textensions: ReadonlyArray<string>,\n): string[] {\n\tif (!existsSync(dirPath)) {\n\t\treturn [];\n\t}\n\n\tconst collected: string[] = [];\n\n\tfunction walk(currentPath: string): void {\n\t\tconst entries = readdirSync(currentPath, {\n\t\t\twithFileTypes: true,\n\t\t});\n\n\t\tfor (const entry of entries) {\n\t\t\tif (entry.name.startsWith(\".\") || entry.name === \"node_modules\") {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fullPath = join(currentPath, entry.name);\n\n\t\t\tif (entry.isDirectory()) {\n\t\t\t\twalk(fullPath);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (entry.isFile() && extensions.includes(extname(entry.name))) {\n\t\t\t\tcollected.push(fullPath);\n\t\t\t}\n\t\t}\n\t}\n\n\twalk(dirPath);\n\n\treturn collected;\n}\n\nexport interface ScanForExportsOptions {\n\treadonly frontendRoot: string;\n\treadonly directories: ReadonlyArray<string>;\n\treadonly outputDirectory: string;\n\treadonly extensions?: ReadonlyArray<string>;\n}\n\nexport function scanForExports(\n\toptions: ScanForExportsOptions,\n): DiscoveredExport[] {\n\tconst extensions = options.extensions ?? DEFAULT_EXTENSIONS;\n\tconst discovered: DiscoveredExport[] = [];\n\tconst outputAbs = join(options.frontendRoot, options.outputDirectory);\n\n\tfor (const directory of options.directories) {\n\t\tconst directoryAbs = join(options.frontendRoot, directory);\n\n\t\tconst files = walkDirectory(directoryAbs, extensions);\n\n\t\tfor (const filePath of files) {\n\t\t\tconst relativeFromOutput = relative(outputAbs, filePath)\n\t\t\t\t.replace(/\\\\/g, \"/\")\n\t\t\t\t.replace(/\\.(ts|tsx)$/, \"\");\n\n\t\t\tconst importPath = relativeFromOutput.startsWith(\".\")\n\t\t\t\t? relativeFromOutput\n\t\t\t\t: `./${relativeFromOutput}`;\n\n\t\t\tdiscovered.push({\n\t\t\t\tname: deriveExportName(filePath, directoryAbs),\n\t\t\t\tfilePath: relative(options.frontendRoot, filePath).replace(/\\\\/g, \"/\"),\n\t\t\t\timportPath,\n\t\t\t\tkind: detectKind(filePath),\n\t\t\t});\n\t\t}\n\t}\n\n\treturn discovered;\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "EE441A6E1C94C7FC64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DiscoveredExport } from "./types";
|
|
2
|
+
export interface ScanForExportsOptions {
|
|
3
|
+
readonly frontendRoot: string;
|
|
4
|
+
readonly directories: ReadonlyArray<string>;
|
|
5
|
+
readonly outputDirectory: string;
|
|
6
|
+
readonly extensions?: ReadonlyArray<string>;
|
|
7
|
+
}
|
|
8
|
+
export declare function scanForExports(options: ScanForExportsOptions): DiscoveredExport[];
|
|
9
|
+
//# sourceMappingURL=scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/auto-import/scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAwGhE,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,wBAAgB,cAAc,CAC7B,OAAO,EAAE,qBAAqB,GAC5B,gBAAgB,EAAE,CA6BpB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type AutoImportKind = "component" | "hook" | "store" | "schema" | "utils" | "unknown";
|
|
2
|
+
export interface DiscoveredExport {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly filePath: string;
|
|
5
|
+
readonly importPath: string;
|
|
6
|
+
readonly kind: AutoImportKind;
|
|
7
|
+
}
|
|
8
|
+
export interface AutoImportManifest {
|
|
9
|
+
readonly generatedAt: string;
|
|
10
|
+
readonly sourceDirectories: ReadonlyArray<string>;
|
|
11
|
+
readonly exports: ReadonlyArray<DiscoveredExport>;
|
|
12
|
+
}
|
|
13
|
+
export interface AutoImportGeneratorOptions {
|
|
14
|
+
readonly frontendRoot: string;
|
|
15
|
+
readonly directories: ReadonlyArray<string>;
|
|
16
|
+
readonly outputDirectory: string;
|
|
17
|
+
readonly extensions?: ReadonlyArray<string>;
|
|
18
|
+
readonly generateDts: boolean;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auto-import/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,WAAW,GACX,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAEb,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAYA,wBAAsB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAWA,wBAAsB,aAAa,CAClC,GAAG,GAAE,MAAsB,GACzB,OAAO,CAAC,IAAI,CAAC,CA6Df"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/cli/imports.ts"],"names":[],"mappings":"AAQA,wBAAsB,sBAAsB,CAC3C,GAAG,GAAE,MAAsB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make.d.ts","sourceRoot":"","sources":["../../src/cli/make.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;AAwB1D,wBAAsB,WAAW,CAChC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAsB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmFf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rakta.d.ts","sourceRoot":"","sources":["../../src/cli/rakta.ts"],"names":[],"mappings":""}
|