create-authenik8-app 2.4.11 → 2.4.13

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 (235) hide show
  1. package/README.md +160 -57
  2. package/assets/logo.svg +53 -0
  3. package/dist/src/bin/index.js +199 -125
  4. package/dist/src/bin/index.js.map +1 -1
  5. package/dist/src/lib/args.d.ts +18 -0
  6. package/dist/src/lib/args.d.ts.map +1 -0
  7. package/dist/src/lib/args.js +82 -0
  8. package/dist/src/lib/args.js.map +1 -0
  9. package/dist/src/lib/constants.d.ts +1 -0
  10. package/dist/src/lib/constants.d.ts.map +1 -1
  11. package/dist/src/lib/constants.js +10 -11
  12. package/dist/src/lib/constants.js.map +1 -1
  13. package/dist/src/lib/preflight.d.ts +3 -0
  14. package/dist/src/lib/preflight.d.ts.map +1 -0
  15. package/dist/src/lib/preflight.js +21 -0
  16. package/dist/src/lib/preflight.js.map +1 -0
  17. package/dist/src/lib/process.d.ts +6 -2
  18. package/dist/src/lib/process.d.ts.map +1 -1
  19. package/dist/src/lib/process.js +66 -7
  20. package/dist/src/lib/process.js.map +1 -1
  21. package/dist/src/lib/projectName.d.ts +2 -0
  22. package/dist/src/lib/projectName.d.ts.map +1 -0
  23. package/dist/src/lib/projectName.js +6 -0
  24. package/dist/src/lib/projectName.js.map +1 -0
  25. package/dist/src/lib/schemas.d.ts +192 -0
  26. package/dist/src/lib/schemas.d.ts.map +1 -0
  27. package/dist/src/lib/schemas.js +171 -0
  28. package/dist/src/lib/schemas.js.map +1 -0
  29. package/dist/src/lib/state.d.ts.map +1 -1
  30. package/dist/src/lib/state.js +20 -3
  31. package/dist/src/lib/state.js.map +1 -1
  32. package/dist/src/lib/types.d.ts +6 -13
  33. package/dist/src/lib/types.d.ts.map +1 -1
  34. package/dist/src/lib/ui.d.ts +8 -3
  35. package/dist/src/lib/ui.d.ts.map +1 -1
  36. package/dist/src/lib/ui.js +76 -112
  37. package/dist/src/lib/ui.js.map +1 -1
  38. package/dist/src/steps/configurePrisma.d.ts.map +1 -1
  39. package/dist/src/steps/configurePrisma.js +83 -9
  40. package/dist/src/steps/configurePrisma.js.map +1 -1
  41. package/dist/src/steps/createProject.d.ts +2 -1
  42. package/dist/src/steps/createProject.d.ts.map +1 -1
  43. package/dist/src/steps/createProject.js +149 -28
  44. package/dist/src/steps/createProject.js.map +1 -1
  45. package/dist/src/steps/finalSetup.d.ts +3 -3
  46. package/dist/src/steps/finalSetup.d.ts.map +1 -1
  47. package/dist/src/steps/finalSetup.js +24 -28
  48. package/dist/src/steps/finalSetup.js.map +1 -1
  49. package/dist/src/steps/installAuth.d.ts +1 -1
  50. package/dist/src/steps/installAuth.d.ts.map +1 -1
  51. package/dist/src/steps/installAuth.js +5 -4
  52. package/dist/src/steps/installAuth.js.map +1 -1
  53. package/dist/src/steps/installDeps.d.ts +11 -4
  54. package/dist/src/steps/installDeps.d.ts.map +1 -1
  55. package/dist/src/steps/installDeps.js +45 -77
  56. package/dist/src/steps/installDeps.js.map +1 -1
  57. package/dist/src/steps/prompts.d.ts +1 -1
  58. package/dist/src/steps/prompts.d.ts.map +1 -1
  59. package/dist/src/steps/prompts.js +42 -30
  60. package/dist/src/steps/prompts.js.map +1 -1
  61. package/dist/src/utils/jwk.d.ts +2 -0
  62. package/dist/src/utils/jwk.d.ts.map +1 -0
  63. package/dist/src/utils/jwk.js +44 -0
  64. package/dist/src/utils/jwk.js.map +1 -0
  65. package/dist/src/utils/output.d.ts +1 -1
  66. package/dist/src/utils/output.d.ts.map +1 -1
  67. package/dist/src/utils/output.js +75 -68
  68. package/dist/src/utils/output.js.map +1 -1
  69. package/package.json +17 -9
  70. package/templates/AGENT_IDENTITY.md +112 -0
  71. package/templates/THREAT_MODEL.md +27 -5
  72. package/templates/express-auth/README.md +13 -10
  73. package/templates/express-auth/docker-compose.yml +10 -0
  74. package/templates/express-auth/gitignore.template +6 -0
  75. package/templates/express-auth/package.json +13 -6
  76. package/templates/express-auth/src/app.ts +2 -0
  77. package/templates/express-auth/src/controllers/auth.controller.ts +2 -6
  78. package/templates/express-auth/src/controllers/protected.controller.ts +25 -10
  79. package/templates/express-auth/src/middleware/auth.middleware.ts +1 -0
  80. package/templates/express-auth/src/routes/protected.routes.ts +3 -1
  81. package/templates/express-auth/src/server.ts +6 -12
  82. package/templates/express-auth/src/utils/security.ts +119 -32
  83. package/templates/express-auth+/README.md +13 -10
  84. package/templates/express-auth+/docker-compose.yml +10 -0
  85. package/templates/express-auth+/gitignore.template +6 -0
  86. package/templates/express-auth+/package.json +13 -6
  87. package/templates/express-auth+/src/auth/auth.ts +3 -2
  88. package/templates/express-auth+/src/auth/controllers/password.controller.ts +3 -7
  89. package/templates/express-auth+/src/auth/controllers/protected.controller.ts +26 -11
  90. package/templates/express-auth+/src/auth/identity.adapter.ts +90 -0
  91. package/templates/express-auth+/src/auth/middleware/auth.middleware.ts +3 -4
  92. package/templates/express-auth+/src/auth/routes/protected.routes.ts +2 -2
  93. package/templates/express-auth+/src/oauth-providers/github/src/auth/auth.ts +3 -2
  94. package/templates/express-auth+/src/oauth-providers/google/src/auth/auth.ts +3 -2
  95. package/templates/express-auth+/src/oauth-providers/google-github/src/auth/auth.ts +3 -2
  96. package/templates/express-auth+/src/server.ts +5 -10
  97. package/templates/express-auth+/src/utils/security.ts +109 -28
  98. package/templates/express-base/README.md +13 -6
  99. package/templates/express-base/app.ts +2 -0
  100. package/templates/express-base/controllers/base.controller.ts +33 -19
  101. package/templates/express-base/docker-compose.yml +10 -0
  102. package/templates/express-base/gitignore.template +6 -0
  103. package/templates/express-base/package.json +11 -5
  104. package/templates/express-base/routes/base.routes.ts +1 -1
  105. package/templates/express-base/src/.env.example +7 -2
  106. package/templates/express-base/src/server.ts +6 -12
  107. package/templates/express-base/tsconfig.json +7 -40
  108. package/templates/express-base/utils/security.ts +111 -15
  109. package/templates/fullstack/.env.example +24 -0
  110. package/templates/fullstack/PRESET_CONTRACT.md +46 -0
  111. package/templates/fullstack/README.md +65 -0
  112. package/templates/fullstack/THREAT_MODEL.md +30 -0
  113. package/templates/fullstack/apps/api/package.json +48 -0
  114. package/templates/fullstack/apps/api/prisma/schema.prisma +124 -0
  115. package/templates/fullstack/apps/api/prisma/seed.ts +36 -0
  116. package/templates/fullstack/apps/api/prisma.config.ts +18 -0
  117. package/templates/fullstack/apps/api/src/app.ts +68 -0
  118. package/templates/fullstack/apps/api/src/auth/auth.controller.ts +125 -0
  119. package/templates/fullstack/apps/api/src/auth/auth.routes.ts +50 -0
  120. package/templates/fullstack/apps/api/src/auth/auth.service.ts +257 -0
  121. package/templates/fullstack/apps/api/src/auth/authenik8.ts +67 -0
  122. package/templates/fullstack/apps/api/src/auth/cookies.ts +36 -0
  123. package/templates/fullstack/apps/api/src/config/env.ts +72 -0
  124. package/templates/fullstack/apps/api/src/config/logger.ts +17 -0
  125. package/templates/fullstack/apps/api/src/config/mailer.ts +32 -0
  126. package/templates/fullstack/apps/api/src/config/origins.ts +27 -0
  127. package/templates/fullstack/apps/api/src/config/prisma.ts +9 -0
  128. package/templates/fullstack/apps/api/src/middleware/authenticate.ts +35 -0
  129. package/templates/fullstack/apps/api/src/middleware/csrf.ts +60 -0
  130. package/templates/fullstack/apps/api/src/middleware/origin.ts +12 -0
  131. package/templates/fullstack/apps/api/src/middleware/request-id.ts +9 -0
  132. package/templates/fullstack/apps/api/src/modules/admin/admin.controller.ts +17 -0
  133. package/templates/fullstack/apps/api/src/modules/admin/admin.routes.ts +14 -0
  134. package/templates/fullstack/apps/api/src/modules/admin/admin.service.ts +54 -0
  135. package/templates/fullstack/apps/api/src/modules/projects/project.controller.ts +22 -0
  136. package/templates/fullstack/apps/api/src/modules/projects/project.policy.ts +14 -0
  137. package/templates/fullstack/apps/api/src/modules/projects/project.repository.ts +20 -0
  138. package/templates/fullstack/apps/api/src/modules/projects/project.routes.ts +21 -0
  139. package/templates/fullstack/apps/api/src/modules/projects/project.service.ts +41 -0
  140. package/templates/fullstack/apps/api/src/modules/users/user.controller.ts +26 -0
  141. package/templates/fullstack/apps/api/src/modules/users/user.presenter.ts +13 -0
  142. package/templates/fullstack/apps/api/src/modules/users/user.routes.ts +21 -0
  143. package/templates/fullstack/apps/api/src/modules/users/user.service.ts +71 -0
  144. package/templates/fullstack/apps/api/src/openapi.ts +32 -0
  145. package/templates/fullstack/apps/api/src/server.ts +29 -0
  146. package/templates/fullstack/apps/api/src/types.ts +15 -0
  147. package/templates/fullstack/apps/api/src/utils/crypto.ts +4 -0
  148. package/templates/fullstack/apps/api/src/utils/http.ts +33 -0
  149. package/templates/fullstack/apps/api/src/utils/sealed-value.ts +37 -0
  150. package/templates/fullstack/apps/api/tests/project.policy.test.ts +26 -0
  151. package/templates/fullstack/apps/api/tests/registration.test.ts +69 -0
  152. package/templates/fullstack/apps/api/tests/security.test.ts +98 -0
  153. package/templates/fullstack/apps/api/tests/validation.test.ts +37 -0
  154. package/templates/fullstack/apps/api/tsconfig.json +16 -0
  155. package/templates/fullstack/apps/api/vitest.config.ts +9 -0
  156. package/templates/fullstack/apps/web/index.html +14 -0
  157. package/templates/fullstack/apps/web/package.json +31 -0
  158. package/templates/fullstack/apps/web/public/authenik8-logo.svg +53 -0
  159. package/templates/fullstack/apps/web/src/App.tsx +45 -0
  160. package/templates/fullstack/apps/web/src/auth/AuthProvider.tsx +53 -0
  161. package/templates/fullstack/apps/web/src/auth/RouteGuards.tsx +16 -0
  162. package/templates/fullstack/apps/web/src/auth/providers.ts +3 -0
  163. package/templates/fullstack/apps/web/src/components/AppShell.tsx +80 -0
  164. package/templates/fullstack/apps/web/src/components/AuthShell.tsx +26 -0
  165. package/templates/fullstack/apps/web/src/components/Page.tsx +30 -0
  166. package/templates/fullstack/apps/web/src/features/projects/ProjectPages.tsx +79 -0
  167. package/templates/fullstack/apps/web/src/main.tsx +24 -0
  168. package/templates/fullstack/apps/web/src/pages/DashboardPage.tsx +48 -0
  169. package/templates/fullstack/apps/web/src/pages/StatusPages.tsx +8 -0
  170. package/templates/fullstack/apps/web/src/pages/admin/AuditPage.tsx +19 -0
  171. package/templates/fullstack/apps/web/src/pages/admin/UsersPage.tsx +24 -0
  172. package/templates/fullstack/apps/web/src/pages/auth/LoginPage.tsx +51 -0
  173. package/templates/fullstack/apps/web/src/pages/auth/OAuthCallbackPage.tsx +26 -0
  174. package/templates/fullstack/apps/web/src/pages/auth/RecoveryPages.tsx +53 -0
  175. package/templates/fullstack/apps/web/src/pages/auth/RegisterPage.tsx +86 -0
  176. package/templates/fullstack/apps/web/src/pages/auth/VerifyEmailPage.tsx +24 -0
  177. package/templates/fullstack/apps/web/src/pages/settings/ProfilePage.tsx +34 -0
  178. package/templates/fullstack/apps/web/src/pages/settings/SecurityPage.tsx +57 -0
  179. package/templates/fullstack/apps/web/src/styles.css +289 -0
  180. package/templates/fullstack/apps/web/src/token-storage.test.ts +12 -0
  181. package/templates/fullstack/apps/web/tsconfig.app.json +19 -0
  182. package/templates/fullstack/apps/web/tsconfig.json +7 -0
  183. package/templates/fullstack/apps/web/tsconfig.node.json +10 -0
  184. package/templates/fullstack/apps/web/vite.config.ts +18 -0
  185. package/templates/fullstack/docker-compose.yml +35 -0
  186. package/templates/fullstack/docs/PRODUCTION.md +30 -0
  187. package/templates/fullstack/gitignore.template +8 -0
  188. package/templates/fullstack/package.json +39 -0
  189. package/templates/fullstack/packages/api-client/package.json +20 -0
  190. package/templates/fullstack/packages/api-client/src/index.ts +203 -0
  191. package/templates/fullstack/packages/api-client/tsconfig.json +14 -0
  192. package/templates/fullstack/packages/contracts/package.json +20 -0
  193. package/templates/fullstack/packages/contracts/src/index.ts +146 -0
  194. package/templates/fullstack/packages/contracts/tsconfig.json +13 -0
  195. package/templates/fullstack/packages/ui/package.json +22 -0
  196. package/templates/fullstack/packages/ui/src/index.tsx +33 -0
  197. package/templates/fullstack/packages/ui/tsconfig.json +14 -0
  198. package/templates/prisma/postgresql/.env.example +6 -2
  199. package/templates/prisma/postgresql/client.ts +17 -0
  200. package/templates/prisma/postgresql/prisma.config.ts +12 -0
  201. package/templates/prisma/postgresql/schema.prisma +0 -1
  202. package/templates/prisma/sqlite/.env.example +6 -2
  203. package/templates/prisma/sqlite/client.ts +16 -0
  204. package/templates/prisma/sqlite/prisma.config.ts +12 -0
  205. package/templates/prisma/sqlite/schema.prisma +0 -1
  206. package/dist/src/tests/templated-routes.test.d.ts +0 -2
  207. package/dist/src/tests/templated-routes.test.d.ts.map +0 -1
  208. package/dist/src/tests/templated-routes.test.js +0 -325
  209. package/dist/src/tests/templated-routes.test.js.map +0 -1
  210. package/dist/templates/THREAT_MODEL.md +0 -138
  211. package/dist/templates/express-auth/src/controllers/protected.controller.d.ts +0 -8
  212. package/dist/templates/express-auth/src/controllers/protected.controller.d.ts.map +0 -1
  213. package/dist/templates/express-auth/src/controllers/protected.controller.js +0 -50
  214. package/dist/templates/express-auth/src/controllers/protected.controller.js.map +0 -1
  215. package/dist/templates/express-auth/src/routes/protected.routes.d.ts +0 -2
  216. package/dist/templates/express-auth/src/routes/protected.routes.d.ts.map +0 -1
  217. package/dist/templates/express-auth/src/routes/protected.routes.js +0 -16
  218. package/dist/templates/express-auth/src/routes/protected.routes.js.map +0 -1
  219. package/dist/templates/express-auth/src/utils/security.d.ts +0 -8
  220. package/dist/templates/express-auth/src/utils/security.d.ts.map +0 -1
  221. package/dist/templates/express-auth/src/utils/security.js +0 -55
  222. package/dist/templates/express-auth/src/utils/security.js.map +0 -1
  223. package/dist/templates/express-base/controllers/base.controller.d.ts +0 -12
  224. package/dist/templates/express-base/controllers/base.controller.d.ts.map +0 -1
  225. package/dist/templates/express-base/controllers/base.controller.js +0 -77
  226. package/dist/templates/express-base/controllers/base.controller.js.map +0 -1
  227. package/dist/templates/express-base/routes/base.routes.d.ts +0 -2
  228. package/dist/templates/express-base/routes/base.routes.d.ts.map +0 -1
  229. package/dist/templates/express-base/routes/base.routes.js +0 -20
  230. package/dist/templates/express-base/routes/base.routes.js.map +0 -1
  231. package/dist/templates/express-base/utils/security.d.ts +0 -5
  232. package/dist/templates/express-base/utils/security.d.ts.map +0 -1
  233. package/dist/templates/express-base/utils/security.js +0 -40
  234. package/dist/templates/express-base/utils/security.js.map +0 -1
  235. package/dist/templates/package.json +0 -27
@@ -4,32 +4,104 @@ import path from "path";
4
4
  import chalk from "chalk";
5
5
  import { ExitPromptError } from "@inquirer/core";
6
6
  import { fileURLToPath } from "url";
7
+ import { parseCliArguments } from "../lib/args.js";
7
8
  import { initState, saveState, loadState, clearState, hasReachedStep, getState } from "../lib/state.js";
8
- import { killAllProcesses } from "../lib/process.js";
9
- import { showBootLogo, renderStep, spinner } from "../lib/ui.js";
9
+ import { dockerComposeAvailable, dockerDaemonAvailable, killAllProcesses, } from "../lib/process.js";
10
+ import { assertPresetRequirements } from "../lib/preflight.js";
11
+ import { projectNameError } from "../lib/projectName.js";
12
+ import { configuredCliStateSchema, firstZodIssue } from "../lib/schemas.js";
13
+ import { completeStep, finishSteps, formatDuration, renderConfiguration, showBootLogo, skipStep, spinner, startStep, } from "../lib/ui.js";
10
14
  import { runPrompts } from "../steps/prompts.js";
11
15
  import { createProject, configurePackageJson } from "../steps/createProject.js";
12
16
  import { installAuth } from "../steps/installAuth.js";
13
17
  import { configurePrisma } from "../steps/configurePrisma.js";
14
- import { installDependencies, detectPackageManager } from "../steps/installDeps.js";
18
+ import { installDependencies, isPackageManagerAvailable, resolvePackageManagerForPreset, } from "../steps/installDeps.js";
15
19
  import { configureProduction, initGit, appendProductionReadme, resolveRuntime } from "../steps/finalSetup.js";
16
20
  import { printSummary } from "../utils/output.js";
17
21
  const __filename = fileURLToPath(import.meta.url);
18
22
  const __dirname = path.dirname(__filename);
23
+ function writeText(stream, value) {
24
+ fs.writeSync(stream.fd, value);
25
+ }
26
+ function writeLine(stream, value) {
27
+ writeText(stream, `${value}\n`);
28
+ }
19
29
  const args = process.argv.slice(2);
20
- const projectNameArg = args.find((arg) => !arg.startsWith("--"));
30
+ let cliArguments;
31
+ try {
32
+ cliArguments = parseCliArguments(args);
33
+ }
34
+ catch (error) {
35
+ writeLine(process.stderr, chalk.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
36
+ process.exit(1);
37
+ }
38
+ function readCliVersion() {
39
+ const packagePath = [
40
+ path.resolve(__dirname, "../../../package.json"),
41
+ path.resolve(__dirname, "../../package.json"),
42
+ ].find((candidate) => fs.existsSync(candidate));
43
+ if (!packagePath)
44
+ return "unknown";
45
+ return fs.readJsonSync(packagePath).version ?? "unknown";
46
+ }
47
+ function printHelp() {
48
+ writeText(process.stdout, `
49
+ AUTHENIK8
50
+ Secure application scaffolding
51
+
52
+ Usage:
53
+ create-authenik8-app <project-name> [options]
54
+
55
+ Options:
56
+ --package-manager <npm|pnpm|bun> Select the installer for Express presets
57
+ --resume Resume an interrupted setup
58
+ --no-install Generate without installing dependencies
59
+ --production-ready Configure PM2 for Express API presets
60
+ -v, --version Print the CLI version
61
+ -h, --help Show this help message
62
+
63
+ Presets:
64
+ Express API (JWT only)
65
+ Express API + email/password
66
+ Express API + OAuth
67
+ Full-stack application (React, Express, Prisma, PostgreSQL, Redis)
68
+
69
+ Example:
70
+ npx create-authenik8-app my-app
71
+
72
+ Full-stack applications use npm workspaces. Set AUTHENIK8_VERBOSE=1 to show installer output.
73
+ `);
74
+ }
75
+ if (cliArguments.help) {
76
+ printHelp();
77
+ process.exit(0);
78
+ }
79
+ if (cliArguments.version) {
80
+ writeLine(process.stdout, readCliVersion());
81
+ process.exit(0);
82
+ }
83
+ const projectNameArg = cliArguments.projectName;
21
84
  if (!projectNameArg) {
22
- console.log(chalk.red(" Please provide a project name\n Usage:\n npx create-authenik8-app <project-name>\n Run with --help for more info"));
85
+ writeLine(process.stderr, chalk.red("Error: A project name is required."));
86
+ writeLine(process.stderr, "Usage: create-authenik8-app <project-name> [options]");
23
87
  process.exit(1);
24
88
  }
25
89
  const projectName = projectNameArg;
26
- const isProduction = args.includes("--production-ready");
27
- const isResume = args.includes("--resume");
90
+ const invalidProjectName = projectNameError(projectName);
91
+ if (invalidProjectName) {
92
+ writeLine(process.stderr, chalk.red(`Error: Invalid project name "${projectName}". ${invalidProjectName}`));
93
+ process.exit(1);
94
+ }
95
+ const skipInstall = cliArguments.skipInstall;
96
+ const isProduction = cliArguments.productionReady;
97
+ const isResume = cliArguments.resume;
28
98
  const targetDir = path.resolve(process.cwd(), projectName);
29
- const templateRoot = path.resolve(__dirname, "../../../templates");
99
+ const templateRoot = [
100
+ path.resolve(__dirname, "../../../templates"),
101
+ path.resolve(__dirname, "../../templates"),
102
+ ].find((candidate) => fs.existsSync(candidate)) ?? path.resolve(__dirname, "../../../templates");
30
103
  const globalStateDir = path.join(process.cwd(), ".authenik8");
31
104
  const stateFile = path.join(globalStateDir, `${projectName}.json`);
32
- //handles shutdown during resume
33
105
  let shuttingDown = false;
34
106
  const handleShutdown = async () => {
35
107
  if (shuttingDown)
@@ -38,7 +110,7 @@ const handleShutdown = async () => {
38
110
  console.log("\n");
39
111
  spinner.stop();
40
112
  killAllProcesses();
41
- console.log(chalk.yellow("Setup interrupted."));
113
+ console.log(chalk.yellow("Setup interrupted."));
42
114
  try {
43
115
  const current = getState();
44
116
  if (current && current.step && current.step !== "done") {
@@ -46,107 +118,65 @@ const handleShutdown = async () => {
46
118
  }
47
119
  }
48
120
  catch (_) { }
49
- console.log(chalk.gray(`↻ Resume anytime with:`));
121
+ console.log(chalk.gray("Resume with:"));
50
122
  console.log(chalk.cyan(` npx create-authenik8-app ${projectName} --resume`));
51
123
  process.exit(0);
52
124
  };
53
- process.prependListener('SIGINT', handleShutdown);
54
- process.prependListener('SIGTERM', handleShutdown);
55
- process.on('exit', () => {
125
+ process.prependListener("SIGINT", handleShutdown);
126
+ process.prependListener("SIGTERM", handleShutdown);
127
+ process.on("exit", () => {
56
128
  killAllProcesses();
57
129
  });
58
130
  let projectCreated = false;
59
- initState({ step: "start", projectName }, stateFile);
131
+ initState({
132
+ step: "start",
133
+ projectName,
134
+ installDeps: !skipInstall,
135
+ ...(cliArguments.packageManager ? { packageManager: cliArguments.packageManager } : {}),
136
+ }, stateFile);
60
137
  async function cleanupIncompleteProject() {
61
138
  if (projectCreated && fs.existsSync(targetDir)) {
62
139
  await fs.remove(targetDir);
63
- console.log("🧹 Cleaned up incomplete project.");
140
+ console.log("Removed the incomplete project directory.");
64
141
  }
65
142
  }
66
- function assertRequired(value, name) {
67
- if (value === undefined || value === null || value === "") {
68
- console.log(`❌ Missing required input: ${name}`);
69
- process.exit(1);
143
+ function errorMessage(error) {
144
+ if (error instanceof Error) {
145
+ return process.env.AUTHENIK8_DEBUG && error.stack ? error.stack : error.message;
70
146
  }
147
+ return String(error);
71
148
  }
72
149
  async function main() {
73
150
  try {
74
151
  await showBootLogo();
75
- if (args.includes("--help")) {
76
- console.log(`
77
- Authenik8 CLI
78
-
79
- Usage:
80
- npx create-authenik8-app <project-name>
81
-
82
- Options:
83
- --resume Resume project setup
84
- --help Show this help message
85
- --production-ready production mode
86
-
87
- Features:
88
- Express backend (default)
89
- Optional Prisma ORM
90
- PostgreSQL (production)
91
- SQLite (quick start)
92
- Optional Git initialization
93
- Optional OAuth
94
-
95
- Examples:
96
- create-authenik8-app my-app
97
- `);
98
- process.exit(0);
99
- }
100
- console.log(chalk.gray(`
101
- Available options:
102
- Authentication setup:
103
- • base (JWT only)
104
- • auth (JWT + Password/Email auth)
105
- • auth-oauth(JWT+ Password/Email + oauth)
106
-
107
-
108
- Frameworks:
109
- • Express
110
-
111
- Database (if Prisma enabled):
112
- • PostgreSQL
113
- • SQLite (quick start)
114
-
115
- Features:
116
- • Prisma ORM (optional)
117
- • Git initialization (optional)
118
- • OAuth + Auth
119
- `));
120
152
  const savedState = loadState(stateFile);
121
153
  let currentStep = "start";
122
154
  if (!isResume && fs.existsSync(targetDir)) {
123
155
  if (savedState) {
124
- console.log(chalk.red(`❌ "${projectName}" already contains an incomplete Authenik8 setup. Run again with --resume.`));
156
+ writeLine(process.stderr, chalk.red(`Error: "${projectName}" contains an incomplete Authenik8 setup. Run again with --resume.`));
125
157
  }
126
158
  else {
127
- console.log(chalk.red(`❌ Directory "${projectName}" already exists.`));
159
+ writeLine(process.stderr, chalk.red(`Error: Directory "${projectName}" already exists.`));
128
160
  }
129
161
  process.exit(1);
130
162
  }
131
- if (isResume || fs.existsSync(stateFile)) {
132
- console.log(chalk.gray(`
133
- Resumable steps:
134
- ✔ project scaffold
135
- ✔ auth install
136
- ✔ prisma setup
137
- ✔ deps install
138
- ✔ prisma generate
139
- ✔ git init
140
- `));
141
- }
142
163
  if (isResume) {
143
164
  if (!savedState) {
144
- console.log(chalk.red(`❌ No saved setup state found for "${projectName}".`));
165
+ writeLine(process.stderr, chalk.red(`Error: No saved setup state found for "${projectName}".`));
145
166
  process.exit(1);
146
167
  }
147
168
  initState(savedState, stateFile);
169
+ if (skipInstall) {
170
+ saveState({ installDeps: false });
171
+ }
172
+ else if (savedState.installDeps === undefined) {
173
+ saveState({ installDeps: !skipInstall });
174
+ }
175
+ if (cliArguments.packageManager) {
176
+ saveState({ packageManager: cliArguments.packageManager });
177
+ }
148
178
  currentStep = savedState.step;
149
- console.log(chalk.yellow(`\n↻ Resuming setup for ${projectName} from "${currentStep}"...\n`));
179
+ console.log(chalk.yellow(`\nResuming ${projectName} from "${currentStep}".\n`));
150
180
  }
151
181
  else {
152
182
  const promptAnswers = await runPrompts(getState(), isProduction);
@@ -154,100 +184,145 @@ Resumable steps:
154
184
  currentStep = "prompts";
155
185
  }
156
186
  const raw = getState();
157
- if ((raw.authMode === "auth" || raw.authMode === "auth-oauth") && !raw.usePrisma) {
158
- console.log(chalk.yellow("\n⚠ Auth and Auth+OAuth require Prisma enabling automatically.\n"));
187
+ if (raw.authMode === "fullstack") {
188
+ saveState({ usePrisma: true, database: "postgresql", runtime: "node" });
189
+ }
190
+ else if (["auth", "auth-oauth"].includes(raw.authMode ?? "") && !raw.usePrisma) {
191
+ console.log(chalk.yellow("\nPassword and OAuth presets require Prisma; it has been enabled.\n"));
159
192
  saveState({ usePrisma: true, database: raw.database ?? "sqlite" });
160
193
  }
161
194
  const state = getState();
195
+ assertPresetRequirements(state.authMode, state.usePrisma);
162
196
  const runtime = resolveRuntime(state.runtime);
163
- assertRequired(state.framework, "framework");
164
- assertRequired(state.authMode, "authMode");
197
+ const requestedPackageManager = cliArguments.packageManager ?? state.packageManager;
198
+ const packageManager = resolvePackageManagerForPreset(state.authMode, requestedPackageManager);
199
+ if (state.installDeps !== false && !isPackageManagerAvailable(packageManager)) {
200
+ throw new Error(`${packageManager} is not available on PATH. Install it or choose another package manager.`);
201
+ }
202
+ saveState({ packageManager });
165
203
  if (state.usePrisma) {
166
204
  if (!state.database)
167
205
  saveState({ database: "sqlite" });
168
- assertRequired(getState().database, "database");
169
206
  }
170
- console.log(chalk.cyan("\nSetting up your project\n"));
171
- // Project scaffold
207
+ const configuredState = configuredCliStateSchema.safeParse(getState());
208
+ if (!configuredState.success) {
209
+ throw new Error(firstZodIssue(configuredState.error));
210
+ }
211
+ renderConfiguration(configuredState.data);
212
+ // Project scaffold
172
213
  if (!hasReachedStep(currentStep, "project-created")) {
173
- renderStep("project-created", isProduction);
214
+ startStep("project-created");
174
215
  try {
175
216
  await createProject(getState(), targetDir, templateRoot);
176
217
  projectCreated = true;
177
218
  saveState({ step: "project-created" });
178
219
  currentStep = "project-created";
179
- renderStep(currentStep, isProduction);
220
+ completeStep(currentStep);
180
221
  }
181
222
  catch (err) {
182
- console.error(err);
223
+ spinner.fail("Could not create project files");
224
+ writeLine(process.stderr, errorMessage(err));
183
225
  process.exit(1);
184
226
  }
185
227
  }
186
228
  else {
187
- console.log(chalk.gray("↷ Skipping project creation (already completed)"));
229
+ skipStep("project-created", "already completed");
188
230
  }
189
231
  // Auth install
190
232
  let selectedHash = "bcryptjs";
191
233
  if (!hasReachedStep(currentStep, "auth-installed")) {
192
- if (getState().authMode !== "base") {
193
- const pm = detectPackageManager();
194
- selectedHash = await installAuth(targetDir, pm);
234
+ startStep("auth-installed");
235
+ if (getState().authMode !== "base" && getState().authMode !== "fullstack") {
236
+ selectedHash = await installAuth(targetDir, packageManager);
195
237
  }
196
- renderStep("auth-installed", isProduction);
197
- saveState({ step: "auth-installed", ...(getState().authMode !== "base" && { hashLib: selectedHash }) });
238
+ saveState({
239
+ step: "auth-installed",
240
+ ...(getState().authMode !== "base" && { hashLib: selectedHash }),
241
+ });
198
242
  currentStep = "auth-installed";
199
- renderStep(currentStep, isProduction);
243
+ completeStep(currentStep);
200
244
  }
201
245
  else {
202
246
  selectedHash = savedState?.hashLib ?? selectedHash;
203
- console.log(chalk.gray("↷ Skipping auth setup (already completed)"));
247
+ skipStep("auth-installed", "already completed");
204
248
  }
205
- // Prisma config
249
+ // Prisma config
206
250
  if (!hasReachedStep(currentStep, "prisma-configured")) {
251
+ startStep("prisma-configured");
207
252
  await configurePrisma(getState(), targetDir, templateRoot);
208
- saveState({ step: "prisma-configured", ...(getState().authMode !== "base" && { hashLib: selectedHash }) });
253
+ saveState({
254
+ step: "prisma-configured",
255
+ ...(getState().authMode !== "base" && { hashLib: selectedHash }),
256
+ });
209
257
  currentStep = "prisma-configured";
210
- renderStep(currentStep, isProduction);
258
+ completeStep(currentStep);
211
259
  }
212
260
  else {
213
- console.log(chalk.gray(" Skipping Prisma/package setup (already completed)"));
261
+ skipStep("prisma-configured", "already completed");
214
262
  }
215
- if (isProduction && !hasReachedStep(currentStep, "production-configured")) {
263
+ if (isProduction
264
+ && getState().authMode !== "fullstack"
265
+ && !hasReachedStep(currentStep, "production-configured")) {
266
+ startStep("production-configured");
216
267
  await configureProduction(targetDir, projectName, runtime);
217
- saveState({ step: "production-configured", ...(getState().authMode !== "base" && { hashLib: selectedHash }) });
268
+ saveState({
269
+ step: "production-configured",
270
+ ...(getState().authMode !== "base" && { hashLib: selectedHash }),
271
+ });
218
272
  currentStep = "production-configured";
219
- renderStep(currentStep, isProduction);
273
+ completeStep(currentStep);
220
274
  }
221
- // Install deps
275
+ // Install dependencies
222
276
  if (!hasReachedStep(currentStep, "deps-installed")) {
223
- renderStep("deps-installed", isProduction);
224
- configurePackageJson(targetDir, getState().usePrisma ?? false);
225
- await installDependencies(targetDir);
226
- saveState({ step: "deps-installed", ...(getState().authMode !== "base" && { hashLib: selectedHash }) });
277
+ configurePackageJson(targetDir, getState().usePrisma ?? false, packageManager);
278
+ if (getState().installDeps !== false) {
279
+ startStep("deps-installed");
280
+ const installResult = await installDependencies(targetDir, packageManager);
281
+ completeStep("deps-installed", `${installResult.packageManager}, ${formatDuration(installResult.durationMs)}`);
282
+ }
283
+ else {
284
+ skipStep("deps-installed", "requested with --no-install");
285
+ }
286
+ saveState({
287
+ step: "deps-installed",
288
+ ...(getState().authMode !== "base" && { hashLib: selectedHash }),
289
+ });
227
290
  currentStep = "deps-installed";
228
- renderStep(currentStep, isProduction);
229
291
  }
230
292
  else {
231
- console.log(chalk.gray(" Skipping dependency installation (already completed)"));
293
+ skipStep("deps-installed", "already completed");
232
294
  }
233
295
  // Git init
234
296
  if (!hasReachedStep(currentStep, "git-initialized")) {
235
297
  if (getState().useGit) {
236
- renderStep("git-initialized", isProduction);
237
- await initGit(targetDir);
298
+ startStep("git-initialized");
299
+ const initialized = await initGit(targetDir);
300
+ if (initialized) {
301
+ completeStep("git-initialized");
302
+ }
303
+ else {
304
+ skipStep("git-initialized", "optional Git setup unavailable");
305
+ }
306
+ }
307
+ else {
308
+ skipStep("git-initialized", "not selected");
238
309
  }
239
- saveState({ step: "git-initialized", ...(getState().authMode !== "base" && { hashLib: selectedHash }) });
310
+ saveState({
311
+ step: "git-initialized",
312
+ ...(getState().authMode !== "base" && { hashLib: selectedHash }),
313
+ });
240
314
  currentStep = "git-initialized";
241
- renderStep("done", isProduction);
242
315
  }
243
316
  else {
244
- console.log(chalk.gray("↷ Skipping git init (already completed)"));
317
+ skipStep("git-initialized", "already completed");
245
318
  }
246
- // Done
247
- if (isProduction) {
319
+ finishSteps();
320
+ // Done
321
+ if (isProduction && getState().authMode !== "fullstack") {
248
322
  appendProductionReadme(targetDir, projectName);
249
323
  }
250
- printSummary(getState(), isProduction);
324
+ const hasDockerCompose = dockerComposeAvailable();
325
+ printSummary(getState(), isProduction, hasDockerCompose, hasDockerCompose && dockerDaemonAvailable());
251
326
  saveState({ step: "done", ...(getState().authMode !== "base" && { hashLib: selectedHash }) });
252
327
  clearState();
253
328
  }
@@ -255,20 +330,19 @@ Resumable steps:
255
330
  if (err instanceof ExitPromptError) {
256
331
  throw err;
257
332
  }
258
- console.error("Fatal error", err);
333
+ spinner.fail(spinner.text || "Setup failed");
334
+ writeLine(process.stderr, chalk.red(`Error: ${errorMessage(err)}`));
259
335
  process.exit(1);
260
336
  }
261
337
  }
262
338
  main().catch(async (err) => {
263
339
  if (err instanceof ExitPromptError) {
264
- console.log("\n👋 Authenik8 setup cancelled. You can --resume later");
340
+ console.log(chalk.yellow("\nSetup cancelled. No project files were changed."));
265
341
  killAllProcesses();
266
- await new Promise((r) => setTimeout(r, 300));
267
- console.log(chalk.bgYellow.black(" SETUP CANCELLED "));
268
342
  await cleanupIncompleteProject();
269
343
  process.exit(0);
270
344
  }
271
- console.error(chalk.red("\n❌ Unexpected error:"), err);
345
+ writeLine(process.stderr, chalk.red(`\nUnexpected error: ${errorMessage(err)}`));
272
346
  await cleanupIncompleteProject();
273
347
  process.exit(1);
274
348
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,SAAS,CAAC,MAAsB,EAAE,KAAa;IACtD,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,MAAsB,EAAE,KAAa;IACtD,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,YAAkD,CAAC;AACvD,IAAI,CAAC;IACH,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;KAC9C,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhD,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,OAAQ,EAAE,CAAC,YAAY,CAAC,WAAW,CAA0B,CAAC,OAAO,IAAI,SAAS,CAAC;AACrF,CAAC;AAED,SAAS,SAAS;IAChB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3B,CAAC,CAAC;AACH,CAAC;AAED,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;IACtB,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;IACzB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC;AAEhD,IAAI,CAAC,cAAc,EAAE,CAAC;IACpB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,WAAW,GAAW,cAAc,CAAC;AAC3C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACzD,IAAI,kBAAkB,EAAE,CAAC;IACvB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,gCAAgC,WAAW,MAAM,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC5G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;AAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC;AAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;AACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;AAC3D,MAAM,YAAY,GAAG;IACnB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;CAC3C,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACjG,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;AAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,WAAW,OAAO,CAAC,CAAC;AACnE,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;IAChC,IAAI,YAAY;QAAE,OAAO;IACzB,YAAY,GAAG,IAAI,CAAC;IAEpB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;IAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvD,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,WAAW,WAAW,CAAC,CAAC,CAAC;IAE/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAClD,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAEnD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;IACtB,gBAAgB,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,SAAS,CAAC;IACR,IAAI,EAAE,OAAO;IACb,WAAW;IACX,WAAW,EAAE,CAAC,WAAW;IACzB,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACxF,EAAE,SAAS,CAAC,CAAC;AAEd,KAAK,UAAU,wBAAwB;IACrC,IAAI,cAAc,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAClF,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,EAAE,CAAC;QAErB,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,WAAW,GAAa,OAAO,CAAC;QAEpC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,UAAU,EAAE,CAAC;gBACf,SAAS,CACP,OAAO,CAAC,MAAM,EACd,KAAK,CAAC,GAAG,CAAC,WAAW,WAAW,oEAAoE,CAAC,CACtG,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,WAAW,mBAAmB,CAAC,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,0CAA0C,WAAW,IAAI,CAAC,CAAC,CAAC;gBAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACjC,IAAI,WAAW,EAAE,CAAC;gBAChB,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAChD,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;gBAChC,SAAS,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,WAAW,UAAU,WAAW,MAAM,CAAC,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;YACjE,SAAS,CAAC,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjD,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACjC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qEAAqE,CAAC,CAAC,CAAC;YACjG,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,uBAAuB,GAAG,YAAY,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC;QACpF,MAAM,cAAc,GAAG,8BAA8B,CACnD,KAAK,CAAC,QAAQ,EACd,uBAAuB,CACxB,CAAC;QACF,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,0EAA0E,CAAC,CAAC;QAC/G,CAAC;QACD,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QAE9B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,eAAe,GAAG,wBAAwB,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,mBAAmB;QACnB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;gBACzD,cAAc,GAAG,IAAI,CAAC;gBACtB,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACvC,WAAW,GAAG,iBAAiB,CAAC;gBAChC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC/C,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QACnD,CAAC;QAED,eAAe;QACf,IAAI,YAAY,GAAe,UAAU,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACnD,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC5B,IAAI,QAAQ,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC1E,YAAY,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,CAAC;gBACR,IAAI,EAAE,gBAAgB;gBACtB,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,WAAW,GAAG,gBAAgB,CAAC;YAC/B,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,UAAU,EAAE,OAAO,IAAI,YAAY,CAAC;YACnD,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACtD,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC/B,MAAM,eAAe,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC3D,SAAS,CAAC;gBACR,IAAI,EAAE,mBAAmB;gBACzB,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,WAAW,GAAG,mBAAmB,CAAC;YAClC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;QACrD,CAAC;QAED,IACE,YAAY;eACT,QAAQ,EAAE,CAAC,QAAQ,KAAK,WAAW;eACnC,CAAC,cAAc,CAAC,WAAW,EAAE,uBAAuB,CAAC,EACxD,CAAC;YACD,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACnC,MAAM,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3D,SAAS,CAAC;gBACR,IAAI,EAAE,uBAAuB;gBAC7B,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,WAAW,GAAG,uBAAuB,CAAC;YACtC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACnD,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,SAAS,IAAI,KAAK,EAAE,cAAc,CAAC,CAAC;YAE/E,IAAI,QAAQ,EAAE,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBACrC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC5B,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAC3E,YAAY,CACV,gBAAgB,EAChB,GAAG,aAAa,CAAC,cAAc,KAAK,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAC/E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YAC5D,CAAC;YACD,SAAS,CAAC;gBACR,IAAI,EAAE,gBAAgB;gBACtB,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,WAAW,GAAG,gBAAgB,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,WAAW;QACX,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACpD,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;gBACtB,SAAS,CAAC,iBAAiB,CAAC,CAAC;gBAC7B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,WAAW,EAAE,CAAC;oBAChB,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,iBAAiB,EAAE,gCAAgC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YAC9C,CAAC;YACD,SAAS,CAAC;gBACR,IAAI,EAAE,iBAAiB;gBACvB,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,WAAW,GAAG,iBAAiB,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QACnD,CAAC;QAED,WAAW,EAAE,CAAC;QAEd,OAAO;QACP,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACxD,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;QAClD,YAAY,CACV,QAAQ,EAAE,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,IAAI,qBAAqB,EAAE,CAC5C,CAAC;QAEF,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzB,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC/E,gBAAgB,EAAE,CAAC;QACnB,MAAM,wBAAwB,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,wBAAwB,EAAE,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ declare const cliArgumentsSchema: z.ZodObject<{
3
+ projectName: z.ZodOptional<z.ZodString>;
4
+ help: z.ZodBoolean;
5
+ version: z.ZodBoolean;
6
+ resume: z.ZodBoolean;
7
+ skipInstall: z.ZodBoolean;
8
+ productionReady: z.ZodBoolean;
9
+ packageManager: z.ZodOptional<z.ZodEnum<{
10
+ npm: "npm";
11
+ pnpm: "pnpm";
12
+ bun: "bun";
13
+ }>>;
14
+ }, z.core.$strict>;
15
+ export type CliArguments = z.infer<typeof cliArgumentsSchema>;
16
+ export declare function parseCliArguments(argv: string[]): CliArguments;
17
+ export {};
18
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;kBAQtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAe9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CA6D9D"}
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ import { firstZodIssue, packageManagerSchema } from "./schemas.js";
3
+ const cliArgumentsSchema = z.strictObject({
4
+ projectName: z.string().optional(),
5
+ help: z.boolean(),
6
+ version: z.boolean(),
7
+ resume: z.boolean(),
8
+ skipInstall: z.boolean(),
9
+ productionReady: z.boolean(),
10
+ packageManager: packageManagerSchema.optional(),
11
+ });
12
+ const positionalArgumentsSchema = z.array(z.string()).max(1, {
13
+ error: (issue) => {
14
+ const values = Array.isArray(issue.input) ? issue.input : [];
15
+ return `Unexpected argument "${String(values[1] ?? "")}". Only one project name is allowed.`;
16
+ },
17
+ });
18
+ function parsePackageManager(value) {
19
+ const result = packageManagerSchema.safeParse(value);
20
+ if (!result.success)
21
+ throw new Error(firstZodIssue(result.error));
22
+ return result.data;
23
+ }
24
+ export function parseCliArguments(argv) {
25
+ const parsed = {
26
+ help: false,
27
+ version: false,
28
+ resume: false,
29
+ skipInstall: false,
30
+ productionReady: false,
31
+ };
32
+ const positionals = [];
33
+ for (let index = 0; index < argv.length; index += 1) {
34
+ const argument = argv[index];
35
+ if (argument === "--") {
36
+ positionals.push(...argv.slice(index + 1));
37
+ break;
38
+ }
39
+ if (argument === "--help" || argument === "-h") {
40
+ parsed.help = true;
41
+ continue;
42
+ }
43
+ if (argument === "--version" || argument === "-v") {
44
+ parsed.version = true;
45
+ continue;
46
+ }
47
+ if (argument === "--resume") {
48
+ parsed.resume = true;
49
+ continue;
50
+ }
51
+ if (argument === "--no-install" || argument === "--noInstall") {
52
+ parsed.skipInstall = true;
53
+ continue;
54
+ }
55
+ if (argument === "--production-ready") {
56
+ parsed.productionReady = true;
57
+ continue;
58
+ }
59
+ if (argument === "--package-manager") {
60
+ const value = argv[index + 1];
61
+ parsed.packageManager = parsePackageManager(value?.startsWith("-") ? undefined : value);
62
+ index += 1;
63
+ continue;
64
+ }
65
+ if (argument.startsWith("--package-manager=")) {
66
+ parsed.packageManager = parsePackageManager(argument.slice("--package-manager=".length));
67
+ continue;
68
+ }
69
+ if (argument.startsWith("-")) {
70
+ throw new Error(`Unknown option "${argument}". Run with --help for usage.`);
71
+ }
72
+ positionals.push(argument);
73
+ }
74
+ const positionalResult = positionalArgumentsSchema.safeParse(positionals);
75
+ if (!positionalResult.success) {
76
+ throw new Error(firstZodIssue(positionalResult.error));
77
+ }
78
+ if (positionalResult.data[0])
79
+ parsed.projectName = positionalResult.data[0];
80
+ return cliArgumentsSchema.parse(parsed);
81
+ }
82
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { StepName } from "./types.js";
2
+ export declare const PRISMA_VERSION = "7.8.0";
2
3
  export declare const stepOrder: StepName[];
3
4
  export declare const stepLabels: Record<StepName, string>;
4
5
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,SAAS,EAAE,QAAQ,EAW/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAW/C,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,SAAS,EAAE,QAAQ,EAU/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAU/C,CAAC"}