@farm.js/cli 0.1.0-beta.6 → 0.1.0-beta.7

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/dist/index.mjs CHANGED
@@ -8,11 +8,12 @@ import path from "node:path";
8
8
  import { execFileSync, execSync } from "child_process";
9
9
  import { existsSync as existsSync$1, readFileSync as readFileSync$1 } from "fs";
10
10
  import path$1 from "path";
11
- import { APITypeGenerator, generateEnvTypes, generateFarmI18nTypes, generateRouteTypes, getFarmDocsRouteTypeEntries, getFarmSourceRoots, getIntegrationSchemas, getPresetForDeployTarget, loadConfig, logger, normalizeDeployTarget, resolveConfig, resolveDeployConfig, resolveDeployOutputPath } from "@farm.js/core";
11
+ import { generateFarmTypeArtifacts, getFarmDocsRouteTypeEntries, getFarmSourceRoots, getIntegrationSchemas, getPresetForDeployTarget, loadConfig, logger, normalizeDeployTarget, resolveConfig, resolveDeployConfig, resolveDeployOutputPath } from "@farm.js/core";
12
12
  import { spawn, spawnSync } from "node:child_process";
13
13
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
14
14
  import pc from "picocolors";
15
15
  import { Cron } from "croner";
16
+ import { pathToFileURL } from "node:url";
16
17
  //#region \0rolldown/runtime.js
17
18
  var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
18
19
  //#endregion
@@ -810,29 +811,16 @@ async function generateFarmArtifacts(options = {}) {
810
811
  ...userConfig
811
812
  }, "development");
812
813
  const extraRoutes = [...resolvedConfig.openapi?.enabled && resolvedConfig.openapi.route ? [resolvedConfig.openapi.route] : [], ...getFarmDocsRouteTypeEntries(resolvedConfig.docs)];
813
- await generateRouteTypes({
814
+ const typeArtifacts = await generateFarmTypeArtifacts({
814
815
  root: resolvedConfig.root,
815
816
  srcDir: resolvedConfig.srcDir,
817
+ configPath: options.configPath,
818
+ layers: resolvedConfig.layers,
816
819
  extraRoutes,
817
- suppressLintOnLink: resolvedConfig.suppressLintOnLink
820
+ suppressLintOnLink: resolvedConfig.suppressLintOnLink,
821
+ i18nConfig: resolvedConfig.i18n
818
822
  });
819
- await generateEnvTypes({
820
- root: resolvedConfig.root,
821
- srcDir: resolvedConfig.srcDir,
822
- configPath: options.configPath
823
- });
824
- const appDir = path.join(resolvedConfig.root, resolvedConfig.srcDir, "app");
825
- const apiGenerator = new APITypeGenerator(appDir);
826
- const apiRoutes = apiGenerator.scanAPIRoutes();
827
- const apiTypesPath = path.join(resolvedConfig.root, resolvedConfig.srcDir, "lib", "api.generated.ts");
828
- await mkdir(path.dirname(apiTypesPath), { recursive: true });
829
- await writeFile(apiTypesPath, apiGenerator.generateAPIRouter(apiRoutes), "utf8");
830
- if (resolvedConfig.i18n.enabled) await generateFarmI18nTypes({
831
- root: resolvedConfig.root,
832
- srcDir: resolvedConfig.srcDir,
833
- config: resolvedConfig.i18n
834
- });
835
- logger.success(`Generated route, API, env${resolvedConfig.i18n.enabled ? ", and i18n" : ""} types (${apiRoutes.length} API route${apiRoutes.length === 1 ? "" : "s"}).`);
823
+ logger.success(`Generated route, API, env${resolvedConfig.i18n.enabled ? ", and i18n" : ""} types (${typeArtifacts.apiRoutes.length} API route${typeArtifacts.apiRoutes.length === 1 ? "" : "s"}).`);
836
824
  const schemas = getIntegrationSchemas(resolvedConfig.integrations);
837
825
  const schemaEntries = Object.entries(schemas);
838
826
  if (!schemaEntries.length) {
@@ -2420,6 +2408,31 @@ function toPosix(value) {
2420
2408
  return value.split(path.sep).join("/");
2421
2409
  }
2422
2410
  //#endregion
2411
+ //#region src/auth.ts
2412
+ async function migrateFarmAuth(options = {}) {
2413
+ const root = path.resolve(options.root || process.cwd());
2414
+ const userConfig = await loadConfig(root, options.configPath, "production");
2415
+ if (!userConfig) throw new Error(`No farm.config file was found in ${root}.`);
2416
+ if (!(await resolveConfig({
2417
+ ...userConfig,
2418
+ root
2419
+ }, "production")).auth.enabled) throw new Error("Farm Auth is disabled. Add `auth: true` to farm.config.ts first.");
2420
+ const resolveFromApp = createRequire(path.join(root, "package.json"));
2421
+ let modulePath;
2422
+ try {
2423
+ modulePath = resolveFromApp.resolve("@farm.js/auth/internal");
2424
+ } catch {
2425
+ throw new Error("Install @farm.js/auth before running `farm auth migrate`.");
2426
+ }
2427
+ const runtime = await import(
2428
+ /* @vite-ignore */
2429
+ pathToFileURL(modulePath).href
2430
+ );
2431
+ logger.info("Applying the Farm Auth database schema...");
2432
+ await runtime.migrateFarmAuth();
2433
+ logger.success("Farm Auth database is ready.");
2434
+ }
2435
+ //#endregion
2423
2436
  //#region src/upgrade.ts
2424
2437
  const DEPENDENCY_SECTIONS = [
2425
2438
  "dependencies",
@@ -2590,6 +2603,6 @@ function formatError(error) {
2590
2603
  return error instanceof Error ? error.message : String(error);
2591
2604
  }
2592
2605
  //#endregion
2593
- export { addFarmIntegration, buildFarm, createFarmUpgradePlan, createFrameworkMigrationPlan, createGatewaySession, createPreviewGatewayPlan, createPreviewTunnelPlan, createServer, deployFarm, detectFarmPackageManager, formatFarmCronJobs, formatFarmDoctorReport, formatFarmUpgradePlan, forwardGatewayRequest, generateFarmArtifacts, inspectFrameworkMigrations, listFarmCronJobs, listFarmIntegrationProviders, loadFarmCronConfig, migrateFarm, parsePreviewPublicUrl, previewFarm, resolveCloudflareAgentDeployPlan, resolvePreviewTarget, runFarmCronJob, runFarmDoctor, runPreviewGateway, startDevServer, startFarmCronScheduler, upgradeFarm };
2606
+ export { addFarmIntegration, buildFarm, createFarmUpgradePlan, createFrameworkMigrationPlan, createGatewaySession, createPreviewGatewayPlan, createPreviewTunnelPlan, createServer, deployFarm, detectFarmPackageManager, formatFarmCronJobs, formatFarmDoctorReport, formatFarmUpgradePlan, forwardGatewayRequest, generateFarmArtifacts, inspectFrameworkMigrations, listFarmCronJobs, listFarmIntegrationProviders, loadFarmCronConfig, migrateFarm, migrateFarmAuth, parsePreviewPublicUrl, previewFarm, resolveCloudflareAgentDeployPlan, resolvePreviewTarget, runFarmCronJob, runFarmDoctor, runPreviewGateway, startDevServer, startFarmCronScheduler, upgradeFarm };
2594
2607
 
2595
2608
  //# sourceMappingURL=index.mjs.map