@proofkit/cli 1.2.0-beta.2 → 2.0.0-beta.1

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 (128) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/dist/add-CfoeMDFa.js +57 -0
  3. package/dist/add-CfoeMDFa.js.map +1 -0
  4. package/dist/addPackageDependency-BE76r_Gs.js +4 -0
  5. package/dist/addPackageDependency-BE76r_Gs.js.map +1 -0
  6. package/dist/consts-BZnOMxpW.js +10 -0
  7. package/dist/consts-BZnOMxpW.js.map +1 -0
  8. package/dist/deploy-ib8_w4Q8.js +34 -0
  9. package/dist/deploy-ib8_w4Q8.js.map +1 -0
  10. package/dist/fmdapi-LpkpfSZp.js +3 -0
  11. package/dist/fmdapi-LpkpfSZp.js.map +1 -0
  12. package/dist/getUserPkgManager-Cph_6l1P.js +2 -0
  13. package/dist/getUserPkgManager-Cph_6l1P.js.map +1 -0
  14. package/dist/globalOptions-DmUayYY3.js +2 -0
  15. package/dist/globalOptions-DmUayYY3.js.map +1 -0
  16. package/dist/index-dr0nV3hP.d.ts +365 -0
  17. package/dist/index-dr0nV3hP.d.ts.map +1 -0
  18. package/dist/index.js +10 -147
  19. package/dist/index.js.map +1 -1
  20. package/dist/logger-DCEXcH26.js +2 -0
  21. package/dist/logger-DCEXcH26.js.map +1 -0
  22. package/dist/parseSettings-DYvHU8yJ.js +2 -0
  23. package/dist/parseSettings-DYvHU8yJ.js.map +1 -0
  24. package/dist/remove-D-aGocFU.js +2 -0
  25. package/dist/remove-D-aGocFU.js.map +1 -0
  26. package/dist/state-CiURqLoM.js +41 -0
  27. package/dist/state-CiURqLoM.js.map +1 -0
  28. package/dist/typegen-CNWUG1wR.js +2 -0
  29. package/dist/typegen-CNWUG1wR.js.map +1 -0
  30. package/dist/update-CDaX7MZ5.js +7 -0
  31. package/dist/update-CDaX7MZ5.js.map +1 -0
  32. package/dist/utils-CQMjIwwz.js +3 -0
  33. package/dist/utils-CQMjIwwz.js.map +1 -0
  34. package/package.json +61 -53
  35. package/template/extras/emailTemplates/auth-code.tsx +7 -26
  36. package/template/extras/emailTemplates/generic.tsx +8 -31
  37. package/template/extras/fmaddon-auth/emails/auth-code.tsx +7 -26
  38. package/template/extras/src/app/api/auth/[...nextauth]/route.ts +1 -1
  39. package/template/extras/src/server/next-auth/base.ts +3 -3
  40. package/template/fm-addon/ProofKitWV/de.xml +517 -20
  41. package/template/fm-addon/ProofKitWV/en.xml +517 -20
  42. package/template/fm-addon/ProofKitWV/es.xml +517 -20
  43. package/template/fm-addon/ProofKitWV/fr.xml +517 -20
  44. package/template/fm-addon/ProofKitWV/icon.png +0 -0
  45. package/template/fm-addon/ProofKitWV/icon@2x.png +0 -0
  46. package/template/fm-addon/ProofKitWV/info.json +9 -6
  47. package/template/fm-addon/ProofKitWV/info_de.json +12 -5
  48. package/template/fm-addon/ProofKitWV/info_en.json +16 -5
  49. package/template/fm-addon/ProofKitWV/info_es.json +12 -5
  50. package/template/fm-addon/ProofKitWV/info_fr.json +12 -5
  51. package/template/fm-addon/ProofKitWV/info_it.json +12 -5
  52. package/template/fm-addon/ProofKitWV/info_ja.json +12 -5
  53. package/template/fm-addon/ProofKitWV/info_ko.json +12 -5
  54. package/template/fm-addon/ProofKitWV/info_nl.json +12 -5
  55. package/template/fm-addon/ProofKitWV/info_pt.json +12 -5
  56. package/template/fm-addon/ProofKitWV/info_sv.json +12 -5
  57. package/template/fm-addon/ProofKitWV/info_zh.json +12 -5
  58. package/template/fm-addon/ProofKitWV/it.xml +517 -20
  59. package/template/fm-addon/ProofKitWV/ja.xml +517 -20
  60. package/template/fm-addon/ProofKitWV/ko.xml +517 -20
  61. package/template/fm-addon/ProofKitWV/nl.xml +517 -20
  62. package/template/fm-addon/ProofKitWV/preview.png +0 -0
  63. package/template/fm-addon/ProofKitWV/pt.xml +517 -20
  64. package/template/fm-addon/ProofKitWV/records_de.xml +0 -0
  65. package/template/fm-addon/ProofKitWV/records_en.xml +0 -0
  66. package/template/fm-addon/ProofKitWV/records_es.xml +0 -0
  67. package/template/fm-addon/ProofKitWV/records_fr.xml +0 -0
  68. package/template/fm-addon/ProofKitWV/records_it.xml +0 -0
  69. package/template/fm-addon/ProofKitWV/records_ja.xml +0 -0
  70. package/template/fm-addon/ProofKitWV/records_ko.xml +0 -0
  71. package/template/fm-addon/ProofKitWV/records_nl.xml +0 -0
  72. package/template/fm-addon/ProofKitWV/records_pt.xml +0 -0
  73. package/template/fm-addon/ProofKitWV/records_sv.xml +0 -0
  74. package/template/fm-addon/ProofKitWV/records_zh.xml +0 -0
  75. package/template/fm-addon/ProofKitWV/sv.xml +517 -20
  76. package/template/fm-addon/ProofKitWV/template.xml +0 -0
  77. package/template/fm-addon/ProofKitWV/zh.xml +517 -20
  78. package/template/nextjs-mantine/AGENTS.md +1 -0
  79. package/template/nextjs-mantine/package.json +4 -4
  80. package/template/nextjs-shadcn/AGENTS.md +1 -0
  81. package/template/nextjs-shadcn/biome.json +18 -13
  82. package/template/nextjs-shadcn/package.json +10 -9
  83. package/template/nextjs-shadcn/proofkit.json +1 -1
  84. package/template/nextjs-shadcn/src/components/mode-toggle.tsx +39 -0
  85. package/template/nextjs-shadcn/src/components/ui/button.tsx +61 -0
  86. package/template/nextjs-shadcn/src/components/ui/dropdown-menu.tsx +267 -0
  87. package/template/nextjs-shadcn/src/components/ui/sonner.tsx +31 -0
  88. package/template/pages/nextjs/table-infinite/actions.ts +1 -1
  89. package/template/pages/nextjs/table-infinite-edit/actions.ts +1 -1
  90. package/template/vite-wv/.claude/launch.json +18 -0
  91. package/template/vite-wv/AGENTS.md +1 -0
  92. package/template/vite-wv/_gitignore +1 -0
  93. package/template/vite-wv/components.json +6 -6
  94. package/template/vite-wv/index.html +2 -2
  95. package/template/vite-wv/package.json +21 -35
  96. package/template/vite-wv/proofkit-typegen.config.jsonc +18 -0
  97. package/template/vite-wv/proofkit.json +4 -1
  98. package/template/vite-wv/scripts/filemaker.js +96 -0
  99. package/template/vite-wv/scripts/launch-fm.js +19 -0
  100. package/template/vite-wv/scripts/upload.js +17 -14
  101. package/template/vite-wv/src/App.tsx +84 -0
  102. package/template/vite-wv/src/index.css +96 -0
  103. package/template/vite-wv/src/lib/utils.ts +6 -0
  104. package/template/vite-wv/src/main.tsx +14 -35
  105. package/template/vite-wv/src/router.tsx +57 -0
  106. package/template/vite-wv/src/routes/query-demo.tsx +37 -0
  107. package/template/vite-wv/tsconfig.json +3 -1
  108. package/template/vite-wv/vite.config.ts +5 -5
  109. package/dist/index.d.ts +0 -2
  110. package/template/extras/config/_eslint.js +0 -27
  111. package/template/extras/config/_prettier.config.js +0 -6
  112. package/template/nextjs-mantine/.prettierrc +0 -3
  113. package/template/nextjs-shadcn/.prettierrc +0 -3
  114. package/template/vite-wv/.prettierrc +0 -3
  115. package/template/vite-wv/pnpm-lock.yaml +0 -2294
  116. package/template/vite-wv/postcss.config.cjs +0 -15
  117. package/template/vite-wv/scripts/launch-fm.sh +0 -3
  118. package/template/vite-wv/src/components/AppLogo.tsx +0 -5
  119. package/template/vite-wv/src/components/full-screen-loader.tsx +0 -9
  120. package/template/vite-wv/src/config/env.ts +0 -16
  121. package/template/vite-wv/src/config/theme/globals.css +0 -125
  122. package/template/vite-wv/src/config/theme/mantine-theme.ts +0 -22
  123. package/template/vite-wv/src/routeTree.gen.ts +0 -111
  124. package/template/vite-wv/src/routes/__root.tsx +0 -21
  125. package/template/vite-wv/src/routes/index.tsx +0 -63
  126. package/template/vite-wv/src/routes/secondary.tsx +0 -28
  127. package/template/vite-wv/src/utils/notification-helpers.ts +0 -32
  128. package/template/vite-wv/src/utils/styles.ts +0 -6
@@ -0,0 +1,365 @@
1
+ import * as _effect_cli_ValidationError0 from "@effect/cli/ValidationError";
2
+ import { Context, Effect } from "effect";
3
+ import * as _effect_cli_CliApp0 from "@effect/cli/CliApp";
4
+
5
+ //#region src/utils/packageManager.d.ts
6
+ type PackageManager = "npm" | "pnpm" | "yarn" | "bun";
7
+ //#endregion
8
+ //#region src/core/types.d.ts
9
+ type AppType = "browser" | "webviewer";
10
+ type UIType = "shadcn" | "mantine";
11
+ type DataSourceType = "filemaker" | "none";
12
+ type OverwriteMode = "overwrite" | "clear";
13
+ interface CliFlags {
14
+ noGit: boolean;
15
+ noInstall: boolean;
16
+ force: boolean;
17
+ default: boolean;
18
+ importAlias: string;
19
+ debug?: boolean;
20
+ server?: string;
21
+ adminApiKey?: string;
22
+ fileName?: string;
23
+ layoutName?: string;
24
+ schemaName?: string;
25
+ dataApiKey?: string;
26
+ auth?: "none";
27
+ dataSource?: DataSourceType;
28
+ ui?: UIType;
29
+ CI: boolean;
30
+ nonInteractive?: boolean;
31
+ appType?: AppType;
32
+ }
33
+ interface FileMakerEnvNames {
34
+ database: string;
35
+ server: string;
36
+ apiKey: string;
37
+ }
38
+ interface HostedFileMakerInputs {
39
+ mode: "hosted-otto";
40
+ dataSourceName: string;
41
+ envNames: FileMakerEnvNames;
42
+ server: string;
43
+ fileName: string;
44
+ dataApiKey: string;
45
+ layoutName?: string;
46
+ schemaName?: string;
47
+ adminApiKey?: string;
48
+ fmsVersion?: string;
49
+ ottoVersion?: string | null;
50
+ }
51
+ interface LocalFmHttpInputs {
52
+ mode: "local-fm-http";
53
+ dataSourceName: string;
54
+ envNames: FileMakerEnvNames;
55
+ fmHttpBaseUrl: string;
56
+ fileName: string;
57
+ layoutName?: string;
58
+ schemaName?: string;
59
+ }
60
+ type FileMakerInputs = HostedFileMakerInputs | LocalFmHttpInputs;
61
+ interface InitRequest {
62
+ projectName: string;
63
+ scopedAppName: string;
64
+ appDir: string;
65
+ appType: AppType;
66
+ ui: UIType;
67
+ dataSource: DataSourceType;
68
+ packageManager: PackageManager;
69
+ noInstall: boolean;
70
+ noGit: boolean;
71
+ force: boolean;
72
+ cwd: string;
73
+ importAlias: string;
74
+ nonInteractive: boolean;
75
+ debug: boolean;
76
+ skipFileMakerSetup: boolean;
77
+ fileMaker?: FileMakerInputs;
78
+ hasExplicitFileMakerInputs: boolean;
79
+ }
80
+ interface ProofKitSettings {
81
+ ui: UIType;
82
+ appType: AppType;
83
+ envFile?: string;
84
+ dataSources: Array<{
85
+ type: "fm";
86
+ name: string;
87
+ envNames: {
88
+ database: string;
89
+ server: string;
90
+ apiKey: string;
91
+ };
92
+ }>;
93
+ replacedMainPage: boolean;
94
+ registryTemplates: string[];
95
+ }
96
+ interface InitPlan {
97
+ request: InitRequest;
98
+ targetDir: string;
99
+ templateDir: string;
100
+ overwriteMode?: OverwriteMode;
101
+ packageManagerCommand: string;
102
+ packageJson: {
103
+ name: string;
104
+ packageManager?: string;
105
+ proofkitMetadata: {
106
+ initVersion: string;
107
+ scaffoldPackage: "@proofkit/cli";
108
+ };
109
+ dependencies: Record<string, string>;
110
+ devDependencies: Record<string, string>;
111
+ };
112
+ settings: ProofKitSettings;
113
+ envFile: {
114
+ path: string;
115
+ content: string;
116
+ };
117
+ writes: Array<{
118
+ path: string;
119
+ content: string;
120
+ }>;
121
+ commands: Array<{
122
+ type: "install";
123
+ } | {
124
+ type: "codegen";
125
+ } | {
126
+ type: "git-init";
127
+ }>;
128
+ tasks: {
129
+ bootstrapFileMaker: boolean;
130
+ runInstall: boolean;
131
+ runInitialCodegen: boolean;
132
+ initializeGit: boolean;
133
+ };
134
+ nextSteps: string[];
135
+ }
136
+ //#endregion
137
+ //#region src/core/context.d.ts
138
+ interface CliContextValue {
139
+ cwd: string;
140
+ debug: boolean;
141
+ nonInteractive: boolean;
142
+ packageManager: PackageManager;
143
+ resolvedProjectConfig?: {
144
+ appType?: AppType;
145
+ ui?: UIType;
146
+ projectDir?: string;
147
+ };
148
+ }
149
+ interface PromptService {
150
+ readonly text: (options: {
151
+ message: string;
152
+ defaultValue?: string;
153
+ validate?: (value: string) => string | undefined;
154
+ }) => Promise<string>;
155
+ readonly password: (options: {
156
+ message: string;
157
+ validate?: (value: string) => string | undefined;
158
+ }) => Promise<string>;
159
+ readonly select: <T extends string>(options: {
160
+ message: string;
161
+ options: Array<{
162
+ value: T;
163
+ label: string;
164
+ hint?: string;
165
+ disabled?: boolean | string;
166
+ }>;
167
+ }) => Promise<T>;
168
+ readonly searchSelect: <T extends string>(options: {
169
+ message: string;
170
+ emptyMessage?: string;
171
+ options: Array<{
172
+ value: T;
173
+ label: string;
174
+ hint?: string;
175
+ keywords?: string[];
176
+ disabled?: boolean | string;
177
+ }>;
178
+ }) => Promise<T>;
179
+ readonly multiSearchSelect: <T extends string>(options: {
180
+ message: string;
181
+ options: Array<{
182
+ value: T;
183
+ label: string;
184
+ hint?: string;
185
+ keywords?: string[];
186
+ disabled?: boolean | string;
187
+ }>;
188
+ required?: boolean;
189
+ }) => Promise<T[]>;
190
+ readonly confirm: (options: {
191
+ message: string;
192
+ initialValue?: boolean;
193
+ }) => Promise<boolean>;
194
+ }
195
+ declare const PromptService: Context.Tag<PromptService, PromptService>;
196
+ interface ConsoleService {
197
+ readonly info: (message: string) => void;
198
+ readonly warn: (message: string) => void;
199
+ readonly error: (message: string) => void;
200
+ readonly success: (message: string) => void;
201
+ readonly note: (message: string, title?: string) => void;
202
+ }
203
+ declare const ConsoleService: Context.Tag<ConsoleService, ConsoleService>;
204
+ interface FileSystemService {
205
+ readonly exists: (path: string) => Promise<boolean>;
206
+ readonly readdir: (path: string) => Promise<string[]>;
207
+ readonly emptyDir: (path: string) => Promise<void>;
208
+ readonly copyDir: (from: string, to: string, options?: {
209
+ overwrite?: boolean;
210
+ }) => Promise<void>;
211
+ readonly rename: (from: string, to: string) => Promise<void>;
212
+ readonly remove: (path: string) => Promise<void>;
213
+ readonly readJson: <T>(path: string) => Promise<T>;
214
+ readonly writeJson: (path: string, value: unknown) => Promise<void>;
215
+ readonly writeFile: (path: string, content: string) => Promise<void>;
216
+ readonly readFile: (path: string) => Promise<string>;
217
+ }
218
+ declare const FileSystemService: Context.Tag<FileSystemService, FileSystemService>;
219
+ interface TemplateService {
220
+ readonly getTemplateDir: (appType: AppType, ui: UIType) => string;
221
+ }
222
+ declare const TemplateService: Context.Tag<TemplateService, TemplateService>;
223
+ interface PackageManagerService {
224
+ readonly getVersion: (packageManager: PackageManager, cwd: string) => Promise<string | undefined>;
225
+ }
226
+ declare const PackageManagerService: Context.Tag<PackageManagerService, PackageManagerService>;
227
+ interface ProcessService {
228
+ readonly run: (command: string, args: string[], options: {
229
+ cwd: string;
230
+ stdout?: "pipe" | "inherit" | "ignore";
231
+ stderr?: "pipe" | "inherit" | "ignore";
232
+ }) => Promise<{
233
+ stdout: string;
234
+ stderr: string;
235
+ }>;
236
+ }
237
+ declare const ProcessService: Context.Tag<ProcessService, ProcessService>;
238
+ interface GitService {
239
+ readonly initialize: (projectDir: string) => Promise<void>;
240
+ }
241
+ declare const GitService: Context.Tag<GitService, GitService>;
242
+ interface SettingsService {
243
+ readonly writeSettings: (projectDir: string, settings: ProofKitSettings) => Promise<void>;
244
+ readonly appendEnvVars: (projectDir: string, vars: Record<string, string>) => Promise<void>;
245
+ readonly ensureTypegenConfig: (projectDir: string, options: {
246
+ appType: AppType;
247
+ fileMaker?: FileMakerInputs;
248
+ }) => Promise<void>;
249
+ }
250
+ declare const SettingsService: Context.Tag<SettingsService, SettingsService>;
251
+ interface FmHttpStatus {
252
+ baseUrl: string;
253
+ healthy: boolean;
254
+ connectedFiles: string[];
255
+ }
256
+ interface FileMakerServerVersions {
257
+ fmsVersion: string;
258
+ ottoVersion: string | null;
259
+ }
260
+ interface OttoFileInfo {
261
+ filename: string;
262
+ status: string;
263
+ }
264
+ interface OttoApiKeyInfo {
265
+ key: string;
266
+ user: string;
267
+ database: string;
268
+ label: string;
269
+ }
270
+ interface FileMakerBootstrapArtifacts {
271
+ settings: ProofKitSettings;
272
+ envVars: Record<string, string>;
273
+ envSchemaEntries: Array<{
274
+ name: string;
275
+ zodSchema: string;
276
+ defaultValue: string;
277
+ }>;
278
+ typegenConfig: {
279
+ mode: FileMakerInputs["mode"];
280
+ dataSourceName: string;
281
+ envNames?: FileMakerEnvNames;
282
+ fmHttpBaseUrl?: string;
283
+ connectedFileName?: string;
284
+ layoutName?: string;
285
+ schemaName?: string;
286
+ appType: AppType;
287
+ };
288
+ }
289
+ interface FileMakerService {
290
+ readonly detectLocalFmHttp: (baseUrl?: string) => Promise<FmHttpStatus>;
291
+ readonly validateHostedServerUrl: (serverUrl: string, ottoPort?: number | null) => Promise<{
292
+ normalizedUrl: string;
293
+ versions: FileMakerServerVersions;
294
+ }>;
295
+ readonly getOttoFMSToken: (options: {
296
+ url: URL;
297
+ }) => Promise<{
298
+ token: string;
299
+ }>;
300
+ readonly listFiles: (options: {
301
+ url: URL;
302
+ token: string;
303
+ }) => Promise<OttoFileInfo[]>;
304
+ readonly listAPIKeys: (options: {
305
+ url: URL;
306
+ token: string;
307
+ }) => Promise<OttoApiKeyInfo[]>;
308
+ readonly createDataAPIKeyWithCredentials: (options: {
309
+ url: URL;
310
+ filename: string;
311
+ username: string;
312
+ password: string;
313
+ }) => Promise<{
314
+ apiKey: string;
315
+ }>;
316
+ readonly deployDemoFile: (options: {
317
+ url: URL;
318
+ token: string;
319
+ operation: "install" | "replace";
320
+ }) => Promise<{
321
+ apiKey: string;
322
+ filename: string;
323
+ }>;
324
+ readonly listLayouts: (options: {
325
+ dataApiKey: string;
326
+ fmFile: string;
327
+ server: string;
328
+ }) => Promise<string[]>;
329
+ readonly createFileMakerBootstrapArtifacts: (settings: ProofKitSettings, inputs: FileMakerInputs, appType: AppType) => Promise<FileMakerBootstrapArtifacts>;
330
+ readonly bootstrap: (projectDir: string, settings: ProofKitSettings, inputs: FileMakerInputs, appType: AppType) => Promise<ProofKitSettings>;
331
+ }
332
+ declare const FileMakerService: Context.Tag<FileMakerService, FileMakerService>;
333
+ interface CodegenService {
334
+ readonly runInitial: (projectDir: string, packageManager: PackageManager) => Promise<void>;
335
+ }
336
+ declare const CodegenService: Context.Tag<CodegenService, CodegenService>;
337
+ //#endregion
338
+ //#region src/index.d.ts
339
+ declare const runInit: (name?: string, rawFlags?: Partial<CliFlags>) => Effect.Effect<{
340
+ request: {
341
+ projectName: string;
342
+ scopedAppName: string;
343
+ appDir: string;
344
+ appType: AppType;
345
+ ui: UIType;
346
+ dataSource: DataSourceType;
347
+ packageManager: PackageManager;
348
+ noInstall: boolean;
349
+ noGit: boolean;
350
+ force: boolean;
351
+ cwd: string;
352
+ importAlias: string;
353
+ nonInteractive: boolean;
354
+ debug: boolean;
355
+ fileMaker: FileMakerInputs | undefined;
356
+ skipFileMakerSetup: boolean;
357
+ hasExplicitFileMakerInputs: boolean;
358
+ };
359
+ plan: InitPlan;
360
+ }, Error, PromptService | CliContextValue | FileMakerService | TemplateService | PackageManagerService | FileSystemService | ConsoleService | SettingsService | ProcessService | GitService | CodegenService>;
361
+ declare const runDefaultCommand: (rawFlags?: Partial<CliFlags>) => Effect.Effect<void, Error, PromptService | CliContextValue | FileMakerService | TemplateService | PackageManagerService | FileSystemService | ConsoleService | SettingsService | ProcessService | GitService | CodegenService>;
362
+ declare const cli: (args: ReadonlyArray<string>) => Effect.Effect<void, Error | _effect_cli_ValidationError0.ValidationError, _effect_cli_CliApp0.CliApp.Environment>;
363
+ //#endregion
364
+ export { cli, runDefaultCommand, runInit };
365
+ //# sourceMappingURL=index-dr0nV3hP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-dr0nV3hP.d.ts","names":[],"sources":["../packages/cli/src/utils/packageManager.ts","../packages/cli/src/core/types.ts","../packages/cli/src/core/context.ts","../packages/cli/src/index.ts"],"sourcesContent":[],"mappings":"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"}