alepha 0.15.2 → 0.15.3

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 (132) hide show
  1. package/README.md +68 -80
  2. package/dist/api/audits/index.d.ts +332 -332
  3. package/dist/api/audits/index.d.ts.map +1 -1
  4. package/dist/api/files/index.d.ts +170 -170
  5. package/dist/api/files/index.d.ts.map +1 -1
  6. package/dist/api/jobs/index.d.ts +151 -151
  7. package/dist/api/keys/index.d.ts +195 -195
  8. package/dist/api/keys/index.d.ts.map +1 -1
  9. package/dist/api/parameters/index.d.ts +260 -260
  10. package/dist/api/users/index.d.ts +22 -11
  11. package/dist/api/users/index.d.ts.map +1 -1
  12. package/dist/api/users/index.js +7 -2
  13. package/dist/api/users/index.js.map +1 -1
  14. package/dist/api/verifications/index.d.ts +128 -128
  15. package/dist/api/verifications/index.d.ts.map +1 -1
  16. package/dist/bucket/index.d.ts +8 -0
  17. package/dist/bucket/index.d.ts.map +1 -1
  18. package/dist/bucket/index.js +7 -2
  19. package/dist/bucket/index.js.map +1 -1
  20. package/dist/cli/index.d.ts +191 -74
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +215 -48
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/command/index.d.ts +10 -0
  25. package/dist/command/index.d.ts.map +1 -1
  26. package/dist/command/index.js +67 -13
  27. package/dist/command/index.js.map +1 -1
  28. package/dist/core/index.browser.js +28 -21
  29. package/dist/core/index.browser.js.map +1 -1
  30. package/dist/core/index.d.ts.map +1 -1
  31. package/dist/core/index.js +28 -21
  32. package/dist/core/index.js.map +1 -1
  33. package/dist/core/index.native.js +28 -21
  34. package/dist/core/index.native.js.map +1 -1
  35. package/dist/email/index.d.ts +8 -0
  36. package/dist/email/index.d.ts.map +1 -1
  37. package/dist/email/index.js +7 -2
  38. package/dist/email/index.js.map +1 -1
  39. package/dist/mcp/index.d.ts +5 -5
  40. package/dist/orm/index.bun.js +32 -16
  41. package/dist/orm/index.bun.js.map +1 -1
  42. package/dist/orm/index.d.ts +4 -1
  43. package/dist/orm/index.d.ts.map +1 -1
  44. package/dist/orm/index.js +34 -22
  45. package/dist/orm/index.js.map +1 -1
  46. package/dist/react/router/index.browser.js +9 -15
  47. package/dist/react/router/index.browser.js.map +1 -1
  48. package/dist/react/router/index.d.ts +295 -407
  49. package/dist/react/router/index.d.ts.map +1 -1
  50. package/dist/react/router/index.js +566 -776
  51. package/dist/react/router/index.js.map +1 -1
  52. package/dist/redis/index.d.ts +19 -19
  53. package/dist/security/index.d.ts +42 -42
  54. package/dist/security/index.d.ts.map +1 -1
  55. package/dist/security/index.js +8 -7
  56. package/dist/security/index.js.map +1 -1
  57. package/dist/server/auth/index.d.ts +167 -167
  58. package/dist/server/core/index.d.ts +9 -9
  59. package/dist/server/health/index.d.ts +17 -17
  60. package/dist/server/links/index.d.ts +39 -39
  61. package/dist/server/static/index.js +7 -2
  62. package/dist/server/static/index.js.map +1 -1
  63. package/dist/server/swagger/index.d.ts +8 -0
  64. package/dist/server/swagger/index.d.ts.map +1 -1
  65. package/dist/server/swagger/index.js +7 -2
  66. package/dist/server/swagger/index.js.map +1 -1
  67. package/dist/sms/index.d.ts +8 -0
  68. package/dist/sms/index.d.ts.map +1 -1
  69. package/dist/sms/index.js +7 -2
  70. package/dist/sms/index.js.map +1 -1
  71. package/dist/system/index.browser.js +734 -12
  72. package/dist/system/index.browser.js.map +1 -1
  73. package/dist/system/index.d.ts +8 -0
  74. package/dist/system/index.d.ts.map +1 -1
  75. package/dist/system/index.js +7 -2
  76. package/dist/system/index.js.map +1 -1
  77. package/dist/vite/index.d.ts +1 -1
  78. package/dist/vite/index.js +15 -7
  79. package/dist/vite/index.js.map +1 -1
  80. package/package.json +4 -2
  81. package/src/api/logs/TODO.md +13 -10
  82. package/src/cli/apps/AlephaPackageBuilderCli.ts +9 -0
  83. package/src/cli/atoms/buildOptions.ts +99 -9
  84. package/src/cli/commands/build.ts +149 -32
  85. package/src/cli/commands/db.ts +5 -7
  86. package/src/cli/commands/init.spec.ts +50 -6
  87. package/src/cli/commands/init.ts +28 -5
  88. package/src/cli/providers/ViteDevServerProvider.ts +1 -10
  89. package/src/cli/services/AlephaCliUtils.ts +16 -0
  90. package/src/cli/services/PackageManagerUtils.ts +2 -0
  91. package/src/cli/services/ProjectScaffolder.spec.ts +97 -0
  92. package/src/cli/services/ProjectScaffolder.ts +28 -6
  93. package/src/cli/templates/agentMd.ts +6 -1
  94. package/src/cli/templates/apiAppSecurityTs.ts +11 -0
  95. package/src/cli/templates/apiIndexTs.ts +18 -4
  96. package/src/cli/templates/webAppRouterTs.ts +25 -1
  97. package/src/cli/templates/webHelloComponentTsx.ts +15 -5
  98. package/src/command/helpers/Runner.spec.ts +135 -0
  99. package/src/command/helpers/Runner.ts +4 -1
  100. package/src/command/providers/CliProvider.spec.ts +325 -0
  101. package/src/command/providers/CliProvider.ts +117 -7
  102. package/src/core/Alepha.ts +32 -25
  103. package/src/orm/index.bun.ts +1 -1
  104. package/src/orm/index.ts +2 -6
  105. package/src/orm/providers/drivers/BunSqliteProvider.ts +4 -1
  106. package/src/orm/providers/drivers/CloudflareD1Provider.ts +57 -30
  107. package/src/orm/providers/drivers/DatabaseProvider.ts +9 -1
  108. package/src/orm/providers/drivers/NodeSqliteProvider.ts +4 -1
  109. package/src/react/router/hooks/useActive.ts +1 -1
  110. package/src/react/router/hooks/useRouter.ts +1 -1
  111. package/src/react/router/index.ts +4 -0
  112. package/src/react/router/primitives/$page.browser.spec.tsx +24 -24
  113. package/src/react/router/primitives/$page.spec.tsx +0 -32
  114. package/src/react/router/primitives/$page.ts +6 -14
  115. package/src/react/router/providers/ReactBrowserProvider.ts +6 -3
  116. package/src/react/router/providers/ReactPageProvider.ts +1 -1
  117. package/src/react/router/providers/ReactPreloadProvider.spec.ts +142 -0
  118. package/src/react/router/providers/ReactPreloadProvider.ts +85 -0
  119. package/src/react/router/providers/ReactServerProvider.ts +7 -78
  120. package/src/react/router/providers/ReactServerTemplateProvider.spec.ts +210 -0
  121. package/src/react/router/providers/ReactServerTemplateProvider.ts +228 -665
  122. package/src/react/router/services/ReactRouter.ts +13 -13
  123. package/src/security/__tests__/ServerSecurityProvider.spec.ts +77 -0
  124. package/src/security/providers/ServerSecurityProvider.ts +30 -22
  125. package/src/server/core/providers/NodeHttpServerProvider.spec.ts +9 -3
  126. package/src/system/index.browser.ts +25 -0
  127. package/src/system/index.workerd.ts +1 -0
  128. package/src/system/providers/FileSystemProvider.ts +8 -0
  129. package/src/system/providers/NodeFileSystemProvider.ts +11 -2
  130. package/src/vite/tasks/buildServer.ts +2 -12
  131. package/src/vite/tasks/generateCloudflare.ts +10 -7
  132. package/src/vite/tasks/generateDocker.ts +4 -0
@@ -225,6 +225,7 @@ declare class Runner {
225
225
  protected cliName: string;
226
226
  protected commandName: string;
227
227
  protected firstTaskStarted: boolean;
228
+ protected taskCounter: number;
228
229
  constructor();
229
230
  protected get useDynamicLogger(): boolean;
230
231
  /**
@@ -760,6 +761,15 @@ declare class CliProvider {
760
761
  protected getMaxFlagLength(flags: {
761
762
  aliases: string[];
762
763
  }[]): number;
764
+ /**
765
+ * Extract enum values from a schema if it represents an enum.
766
+ * Returns undefined if the schema is not an enum.
767
+ */
768
+ protected getEnumValues(schema: TSchema): string[] | undefined;
769
+ /**
770
+ * Format flag description with enum values if applicable.
771
+ */
772
+ protected formatFlagDescription(description: string | undefined, schema: TSchema | undefined): string;
763
773
  }
764
774
  //#endregion
765
775
  //#region ../../src/command/index.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/command/errors/CommandError.ts","../../src/command/helpers/Asker.ts","../../src/command/helpers/EnvUtils.ts","../../src/command/helpers/PrettyPrint.ts","../../src/system/providers/ShellProvider.ts","../../src/command/helpers/Runner.ts","../../src/command/primitives/$command.ts","../../src/logger/providers/ConsoleColorProvider.ts","../../src/command/providers/CliProvider.ts","../../src/command/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/command/errors/CommandError.ts","../../src/command/helpers/Asker.ts","../../src/command/helpers/EnvUtils.ts","../../src/command/helpers/PrettyPrint.ts","../../src/system/providers/ShellProvider.ts","../../src/command/helpers/Runner.ts","../../src/command/primitives/$command.ts","../../src/logger/providers/ConsoleColorProvider.ts","../../src/command/providers/CliProvider.ts","../../src/command/index.ts"],"mappings":"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"}
@@ -1587,8 +1587,13 @@ var NodeFileSystemProvider = class {
1587
1587
  * await fs.mkdir("/tmp/mydir", { mode: 0o755 });
1588
1588
  * ```
1589
1589
  */
1590
- async mkdir(path, options) {
1591
- await mkdir(path, options);
1590
+ async mkdir(path, options = {}) {
1591
+ const p = mkdir(path, {
1592
+ recursive: options.recursive ?? true,
1593
+ mode: options.mode
1594
+ });
1595
+ if (options.force === false) await p;
1596
+ else await p.catch(() => {});
1592
1597
  }
1593
1598
  /**
1594
1599
  * Lists files in a directory.
@@ -2082,6 +2087,7 @@ var Runner = class {
2082
2087
  cliName = "";
2083
2088
  commandName = "";
2084
2089
  firstTaskStarted = false;
2090
+ taskCounter = 0;
2085
2091
  constructor() {
2086
2092
  this.run = this.createRunMethod();
2087
2093
  }
@@ -2095,6 +2101,8 @@ var Runner = class {
2095
2101
  startCommand(cliName, commandName) {
2096
2102
  this.cliName = cliName;
2097
2103
  this.commandName = commandName;
2104
+ this.firstTaskStarted = false;
2105
+ this.taskCounter = 0;
2098
2106
  }
2099
2107
  createRunMethod() {
2100
2108
  const runFn = async (cmd, options) => {
@@ -2176,7 +2184,7 @@ var Runner = class {
2176
2184
  }
2177
2185
  async executeTask(task) {
2178
2186
  const now = Date.now();
2179
- const taskId = task.name;
2187
+ const taskId = `task-${++this.taskCounter}`;
2180
2188
  if (this.useDynamicLogger) this.prettyPrint.startSpinner(taskId, task.name);
2181
2189
  else this.log.info(`Starting '${task.name}' ...`);
2182
2190
  let stdout = "";
@@ -2674,8 +2682,15 @@ var CliProvider = class {
2674
2682
  if (strict) throw new CommandError(`Unknown flag: --${rawKey}`);
2675
2683
  continue;
2676
2684
  }
2685
+ const isUnionWithBoolean = t.schema.isUnion(def.schema) && def.schema.anyOf.some((s) => t.schema.isBoolean(s));
2677
2686
  if (t.schema.isBoolean(def.schema)) result[def.key] = true;
2678
- else if (value) try {
2687
+ else if (isUnionWithBoolean && !value) {
2688
+ const nextArg = argv[i + 1];
2689
+ if (nextArg && !nextArg.startsWith("-")) {
2690
+ result[def.key] = nextArg;
2691
+ i++;
2692
+ } else result[def.key] = true;
2693
+ } else if (value) try {
2679
2694
  if (t.schema.isObject(def.schema) || t.schema.isArray(def.schema)) result[def.key] = JSON.parse(value);
2680
2695
  else result[def.key] = value;
2681
2696
  } catch {
@@ -2707,7 +2722,11 @@ var CliProvider = class {
2707
2722
  const hasEqualValue = valueParts.length > 0;
2708
2723
  const def = flagDefs.find((d) => d.aliases.includes(rawKey));
2709
2724
  if (!def) continue;
2710
- if (!t.schema.isBoolean(def.schema) && !hasEqualValue) {
2725
+ const isUnionWithBoolean = t.schema.isUnion(def.schema) && def.schema.anyOf.some((s) => t.schema.isBoolean(s));
2726
+ if (!t.schema.isBoolean(def.schema) && !isUnionWithBoolean && !hasEqualValue) {
2727
+ const nextArg = argv[i + 1];
2728
+ if (nextArg && !nextArg.startsWith("-")) consumed.add(i + 1);
2729
+ } else if (isUnionWithBoolean && !hasEqualValue) {
2711
2730
  const nextArg = argv[i + 1];
2712
2731
  if (nextArg && !nextArg.startsWith("-")) consumed.add(i + 1);
2713
2732
  }
@@ -2828,13 +2847,14 @@ var CliProvider = class {
2828
2847
  ...Object.entries(command.flags.properties).map(([key, value]) => ({
2829
2848
  key,
2830
2849
  schema: value,
2831
- aliases: value.alias ?? [key],
2850
+ aliases: [key, ...value.aliases ?? (value.alias ? [value.alias] : [])],
2832
2851
  description: value.description
2833
2852
  })),
2834
2853
  ...command.options.mode ? [{
2835
2854
  key: "mode",
2836
2855
  aliases: ["m", "mode"],
2837
- description: typeof command.options.mode === "string" ? `Environment mode - loads .env.{mode} (default: ${command.options.mode})` : "Environment mode (e.g., production, staging) - loads .env.{mode}"
2856
+ description: typeof command.options.mode === "string" ? `Environment mode - loads .env.{mode} (default: ${command.options.mode})` : "Environment mode (e.g., production, staging) - loads .env.{mode}",
2857
+ schema: t.string()
2838
2858
  }] : [],
2839
2859
  ...Object.entries(this.getAllGlobalFlags()).map(([key, value]) => ({
2840
2860
  key,
@@ -2842,11 +2862,14 @@ var CliProvider = class {
2842
2862
  }))
2843
2863
  ];
2844
2864
  const maxFlagLength = this.getMaxFlagLength(flags);
2845
- for (const { aliases, description } of flags) {
2846
- const flagStr = (Array.isArray(aliases) ? aliases : [aliases]).map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ");
2865
+ for (const flag of flags) {
2866
+ const { aliases, description } = flag;
2867
+ const schema = "schema" in flag ? flag.schema : void 0;
2868
+ const flagStr = (Array.isArray(aliases) ? aliases : [aliases]).slice().sort((a, b) => a.length - b.length).map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ");
2847
2869
  const coloredFlag = c.set("GREY_LIGHT", flagStr);
2848
2870
  const padding = " ".repeat(Math.max(0, maxFlagLength - flagStr.length));
2849
- this.log.info(` ${coloredFlag}${padding} ${description ?? ""}`);
2871
+ const formattedDesc = this.formatFlagDescription(description, schema);
2872
+ this.log.info(` ${coloredFlag}${padding} ${formattedDesc}`);
2850
2873
  }
2851
2874
  const envVars = Object.entries(command.env.properties);
2852
2875
  if (envVars.length > 0) {
@@ -2881,14 +2904,16 @@ var CliProvider = class {
2881
2904
  const globalFlags = [...rootCommand ? Object.entries(rootCommand.flags.properties).map(([key, value]) => ({
2882
2905
  key,
2883
2906
  aliases: [key, ...value.aliases ?? (value.alias ? [value.alias] : void 0) ?? []],
2884
- description: value.description
2907
+ description: value.description,
2908
+ schema: value
2885
2909
  })) : [], ...Object.values(this.getAllGlobalFlags())];
2886
2910
  const maxFlagLength = this.getMaxFlagLength(globalFlags);
2887
- for (const { aliases, description } of globalFlags) {
2911
+ for (const { aliases, description, schema } of globalFlags) {
2888
2912
  const flagStr = aliases.map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ");
2889
2913
  const coloredFlag = c.set("GREY_LIGHT", flagStr);
2890
2914
  const padding = " ".repeat(Math.max(0, maxFlagLength - flagStr.length));
2891
- this.log.info(` ${coloredFlag}${padding} ${description ?? ""}`);
2915
+ const formattedDesc = this.formatFlagDescription(description, schema);
2916
+ this.log.info(` ${coloredFlag}${padding} ${formattedDesc}`);
2892
2917
  }
2893
2918
  }
2894
2919
  this.log.info("");
@@ -2952,6 +2977,35 @@ var CliProvider = class {
2952
2977
  return (Array.isArray(f.aliases) ? f.aliases : [f.aliases]).map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ").length;
2953
2978
  }));
2954
2979
  }
2980
+ /**
2981
+ * Extract enum values from a schema if it represents an enum.
2982
+ * Returns undefined if the schema is not an enum.
2983
+ */
2984
+ getEnumValues(schema) {
2985
+ if (!schema) return void 0;
2986
+ if ("enum" in schema && Array.isArray(schema.enum) && schema.enum.every((v) => typeof v === "string")) return schema.enum;
2987
+ if (t.schema.isUnion(schema)) {
2988
+ const union = schema;
2989
+ const values = [];
2990
+ for (const variant of union.anyOf) if (t.schema.isString(variant) && "const" in variant && typeof variant.const === "string") values.push(variant.const);
2991
+ else return;
2992
+ return values.length > 0 ? values : void 0;
2993
+ }
2994
+ }
2995
+ /**
2996
+ * Format flag description with enum values if applicable.
2997
+ */
2998
+ formatFlagDescription(description, schema) {
2999
+ const baseDesc = description ?? "";
3000
+ if (!schema) return baseDesc;
3001
+ const enumValues = this.getEnumValues(schema);
3002
+ if (enumValues && enumValues.length > 0) {
3003
+ const valuesStr = enumValues.join(", ");
3004
+ const enumHint = this.color.set("GREY_DARK", `[${valuesStr}]`);
3005
+ return baseDesc ? `${baseDesc} ${enumHint}` : enumHint;
3006
+ }
3007
+ return baseDesc;
3008
+ }
2955
3009
  };
2956
3010
 
2957
3011
  //#endregion