pocketbase-zod-schema 0.2.4 → 0.2.5

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 (57) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +209 -24
  3. package/dist/cli/index.cjs +34 -0
  4. package/dist/cli/index.cjs.map +1 -1
  5. package/dist/cli/index.d.cts +3 -1
  6. package/dist/cli/index.d.ts +3 -1
  7. package/dist/cli/index.js +34 -0
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/migrate.cjs +34 -0
  10. package/dist/cli/migrate.cjs.map +1 -1
  11. package/dist/cli/migrate.js +34 -0
  12. package/dist/cli/migrate.js.map +1 -1
  13. package/dist/cli/utils/index.d.cts +3 -1
  14. package/dist/cli/utils/index.d.ts +3 -1
  15. package/dist/fields-YjcpBXVp.d.cts +348 -0
  16. package/dist/fields-YjcpBXVp.d.ts +348 -0
  17. package/dist/index.cjs +222 -0
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +2 -1
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.js +208 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/migration/analyzer.cjs +34 -0
  24. package/dist/migration/analyzer.cjs.map +1 -1
  25. package/dist/migration/analyzer.d.cts +2 -1
  26. package/dist/migration/analyzer.d.ts +2 -1
  27. package/dist/migration/analyzer.js +34 -0
  28. package/dist/migration/analyzer.js.map +1 -1
  29. package/dist/migration/diff.d.cts +3 -1
  30. package/dist/migration/diff.d.ts +3 -1
  31. package/dist/migration/generator.d.cts +3 -1
  32. package/dist/migration/generator.d.ts +3 -1
  33. package/dist/migration/index.cjs +36 -0
  34. package/dist/migration/index.cjs.map +1 -1
  35. package/dist/migration/index.d.cts +2 -1
  36. package/dist/migration/index.d.ts +2 -1
  37. package/dist/migration/index.js +35 -1
  38. package/dist/migration/index.js.map +1 -1
  39. package/dist/migration/snapshot.cjs.map +1 -1
  40. package/dist/migration/snapshot.d.cts +3 -1
  41. package/dist/migration/snapshot.d.ts +3 -1
  42. package/dist/migration/snapshot.js.map +1 -1
  43. package/dist/migration/utils/index.cjs +16 -0
  44. package/dist/migration/utils/index.cjs.map +1 -1
  45. package/dist/migration/utils/index.d.cts +2 -2
  46. package/dist/migration/utils/index.d.ts +2 -2
  47. package/dist/migration/utils/index.js +15 -1
  48. package/dist/migration/utils/index.js.map +1 -1
  49. package/dist/schema.cjs +200 -0
  50. package/dist/schema.cjs.map +1 -1
  51. package/dist/schema.d.cts +1 -0
  52. package/dist/schema.d.ts +1 -0
  53. package/dist/schema.js +186 -1
  54. package/dist/schema.js.map +1 -1
  55. package/dist/{types-z1Dkjg8m.d.ts → types-LFBGHl9Y.d.ts} +2 -2
  56. package/dist/{types-BbTgmg6H.d.cts → types-mhQXWNi3.d.cts} +2 -2
  57. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -1,12 +1,13 @@
1
1
  export { StatusEnum, StatusEnumType } from './enums.cjs';
2
2
  export { BaseMutator, MutatorOptions } from './mutator.cjs';
3
3
  export { CollectionConfig, PermissionTemplates, PermissionValidationResult, RelationConfig, RelationField, RelationsConfig, RelationsField, baseImageFileSchema, baseSchema, baseSchemaWithTimestamps, boolField, createPermissions, dateField, defineCollection, editorField, emailField, extractRelationMetadata, fileField, filesField, geoPointField, inputImageFileSchema, isPermissionSchema, isTemplateConfig, jsonField, mergePermissions, numberField, omitImageFilesSchema, resolveTemplate, selectField, textField, urlField, validatePermissionConfig, validateRuleExpression, withIndexes, withPermissions } from './schema.cjs';
4
+ export { i as AutodateField, A as AutodateFieldOptions, B as BoolField, h as DateField, D as DateFieldOptions, g as EditorField, E as EmailField, F as FIELD_METADATA_KEY, a as FieldMetadata, k as FileField, b as FileFieldOptions, l as FilesField, c as FilesFieldOptions, G as GeoPointField, J as JSONField, d as NumberField, N as NumberFieldOptions, P as PocketBaseFieldType, j as SelectField, S as SelectFieldOptions, f as TextField, T as TextFieldOptions, U as URLField, e as extractFieldMetadata } from './fields-YjcpBXVp.cjs';
4
5
  export { A as APIRuleType, P as PermissionSchema, a as PermissionTemplate, b as PermissionTemplateConfig, R as RuleExpression } from './permissions-ZHafVSIx.cjs';
5
6
  export { SchemaAnalyzer, SchemaAnalyzerConfig, buildFieldDefinition, buildSchemaDefinition, convertZodSchemaToCollectionSchema, discoverSchemaFiles, extractFieldDefinitions, extractIndexes, extractSchemaDefinitions, getCollectionNameFromFile, importSchemaModule, isAuthCollection, parseSchemaFiles, selectSchemaForCollection } from './migration/analyzer.cjs';
6
7
  export { SnapshotConfig, SnapshotManager, convertPocketBaseMigration, findLatestSnapshot, getSnapshotPath, getSnapshotVersion, loadBaseMigration, loadSnapshot, loadSnapshotIfExists, loadSnapshotWithMigrations, mergeSnapshots, saveSnapshot, snapshotExists, validateSnapshot } from './migration/snapshot.cjs';
7
8
  export { ChangeSummary, DestructiveChange, DiffEngine, DiffEngineConfig, aggregateChanges, categorizeChangesBySeverity, compare, compareFieldConstraints, compareFieldOptions, compareFieldTypes, comparePermissions, compareRelationConfigurations, detectDestructiveChanges, detectFieldChanges, filterSystemCollections, findNewCollections, findNewFields, findRemovedCollections, findRemovedFields, generateChangeSummary, getUsersSystemFields, isSystemCollection, matchCollectionsByName, matchFieldsByName, requiresForceFlag } from './migration/diff.cjs';
8
9
  export { MigrationGenerator, MigrationGeneratorConfig, createMigrationFileStructure, generate, generateCollectionCreation, generateCollectionPermissions, generateCollectionRules, generateDownMigration, generateFieldAddition, generateFieldDefinitionObject, generateFieldDeletion, generateFieldModification, generateFieldsArray, generateIndexesArray, generateMigrationDescription, generateMigrationFilename, generatePermissionUpdate, generateTimestamp, generateUpMigration, writeMigrationFile } from './migration/generator.cjs';
9
- export { e as CollectionModification, C as CollectionSchema, b as FieldChange, F as FieldDefinition, c as FieldModification, d as PermissionChange, P as PocketBaseFieldType, R as RuleUpdate, S as SchemaDefinition, f as SchemaDiff, a as SchemaSnapshot } from './types-BbTgmg6H.cjs';
10
+ export { d as CollectionModification, C as CollectionSchema, b as FieldChange, F as FieldDefinition, c as FieldModification, P as PermissionChange, R as RuleUpdate, S as SchemaDefinition, e as SchemaDiff, a as SchemaSnapshot } from './types-mhQXWNi3.cjs';
10
11
  export { CLIUsageError, ConfigurationError, FileSystemError, MigrationError, MigrationGenerationError, SchemaParsingError, SnapshotError } from './migration/index.cjs';
11
12
  export { ExtractedFieldOptions, FIELD_TYPE_INFO, FieldTypeInfo, FieldTypeResult, POCKETBASE_FIELD_TYPES, extractComprehensiveFieldOptions, extractFieldOptions, getArrayElementType, getDefaultValue, getFieldTypeInfo, getMaxSelect, getMinSelect, isArrayType, isEditorField, isFieldRequired, isFileFieldByName, isGeoPointType, isMultipleRelationField, isRelationField, isSingleRelationField, mapZodArrayType, mapZodBooleanType, mapZodDateType, mapZodEnumType, mapZodNumberType, mapZodRecordType, mapZodStringType, mapZodTypeToPocketBase, pluralize, resolveTargetCollection, singularize, toCollectionName, unwrapZodType } from './migration/utils/index.cjs';
12
13
  export { generateMigration, getMigrationStatus } from './cli/index.cjs';
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  export { StatusEnum, StatusEnumType } from './enums.js';
2
2
  export { BaseMutator, MutatorOptions } from './mutator.js';
3
3
  export { CollectionConfig, PermissionTemplates, PermissionValidationResult, RelationConfig, RelationField, RelationsConfig, RelationsField, baseImageFileSchema, baseSchema, baseSchemaWithTimestamps, boolField, createPermissions, dateField, defineCollection, editorField, emailField, extractRelationMetadata, fileField, filesField, geoPointField, inputImageFileSchema, isPermissionSchema, isTemplateConfig, jsonField, mergePermissions, numberField, omitImageFilesSchema, resolveTemplate, selectField, textField, urlField, validatePermissionConfig, validateRuleExpression, withIndexes, withPermissions } from './schema.js';
4
+ export { i as AutodateField, A as AutodateFieldOptions, B as BoolField, h as DateField, D as DateFieldOptions, g as EditorField, E as EmailField, F as FIELD_METADATA_KEY, a as FieldMetadata, k as FileField, b as FileFieldOptions, l as FilesField, c as FilesFieldOptions, G as GeoPointField, J as JSONField, d as NumberField, N as NumberFieldOptions, P as PocketBaseFieldType, j as SelectField, S as SelectFieldOptions, f as TextField, T as TextFieldOptions, U as URLField, e as extractFieldMetadata } from './fields-YjcpBXVp.js';
4
5
  export { A as APIRuleType, P as PermissionSchema, a as PermissionTemplate, b as PermissionTemplateConfig, R as RuleExpression } from './permissions-ZHafVSIx.js';
5
6
  export { SchemaAnalyzer, SchemaAnalyzerConfig, buildFieldDefinition, buildSchemaDefinition, convertZodSchemaToCollectionSchema, discoverSchemaFiles, extractFieldDefinitions, extractIndexes, extractSchemaDefinitions, getCollectionNameFromFile, importSchemaModule, isAuthCollection, parseSchemaFiles, selectSchemaForCollection } from './migration/analyzer.js';
6
7
  export { SnapshotConfig, SnapshotManager, convertPocketBaseMigration, findLatestSnapshot, getSnapshotPath, getSnapshotVersion, loadBaseMigration, loadSnapshot, loadSnapshotIfExists, loadSnapshotWithMigrations, mergeSnapshots, saveSnapshot, snapshotExists, validateSnapshot } from './migration/snapshot.js';
7
8
  export { ChangeSummary, DestructiveChange, DiffEngine, DiffEngineConfig, aggregateChanges, categorizeChangesBySeverity, compare, compareFieldConstraints, compareFieldOptions, compareFieldTypes, comparePermissions, compareRelationConfigurations, detectDestructiveChanges, detectFieldChanges, filterSystemCollections, findNewCollections, findNewFields, findRemovedCollections, findRemovedFields, generateChangeSummary, getUsersSystemFields, isSystemCollection, matchCollectionsByName, matchFieldsByName, requiresForceFlag } from './migration/diff.js';
8
9
  export { MigrationGenerator, MigrationGeneratorConfig, createMigrationFileStructure, generate, generateCollectionCreation, generateCollectionPermissions, generateCollectionRules, generateDownMigration, generateFieldAddition, generateFieldDefinitionObject, generateFieldDeletion, generateFieldModification, generateFieldsArray, generateIndexesArray, generateMigrationDescription, generateMigrationFilename, generatePermissionUpdate, generateTimestamp, generateUpMigration, writeMigrationFile } from './migration/generator.js';
9
- export { e as CollectionModification, C as CollectionSchema, b as FieldChange, F as FieldDefinition, c as FieldModification, d as PermissionChange, P as PocketBaseFieldType, R as RuleUpdate, S as SchemaDefinition, f as SchemaDiff, a as SchemaSnapshot } from './types-z1Dkjg8m.js';
10
+ export { d as CollectionModification, C as CollectionSchema, b as FieldChange, F as FieldDefinition, c as FieldModification, P as PermissionChange, R as RuleUpdate, S as SchemaDefinition, e as SchemaDiff, a as SchemaSnapshot } from './types-LFBGHl9Y.js';
10
11
  export { CLIUsageError, ConfigurationError, FileSystemError, MigrationError, MigrationGenerationError, SchemaParsingError, SnapshotError } from './migration/index.js';
11
12
  export { ExtractedFieldOptions, FIELD_TYPE_INFO, FieldTypeInfo, FieldTypeResult, POCKETBASE_FIELD_TYPES, extractComprehensiveFieldOptions, extractFieldOptions, getArrayElementType, getDefaultValue, getFieldTypeInfo, getMaxSelect, getMinSelect, isArrayType, isEditorField, isFieldRequired, isFileFieldByName, isGeoPointType, isMultipleRelationField, isRelationField, isSingleRelationField, mapZodArrayType, mapZodBooleanType, mapZodDateType, mapZodEnumType, mapZodNumberType, mapZodRecordType, mapZodStringType, mapZodTypeToPocketBase, pluralize, resolveTargetCollection, singularize, toCollectionName, unwrapZodType } from './migration/utils/index.js';
12
13
  export { generateMigration, getMigrationStatus } from './cli/index.js';
package/dist/index.js CHANGED
@@ -497,6 +497,191 @@ function defineCollection(config) {
497
497
  }
498
498
  return schema.describe(JSON.stringify(metadata));
499
499
  }
500
+ var FIELD_METADATA_KEY = "__pocketbase_field__";
501
+ function extractFieldMetadata(description) {
502
+ if (!description) return null;
503
+ try {
504
+ const parsed = JSON.parse(description);
505
+ if (parsed[FIELD_METADATA_KEY]) {
506
+ return parsed[FIELD_METADATA_KEY];
507
+ }
508
+ } catch {
509
+ }
510
+ return null;
511
+ }
512
+ function BoolField() {
513
+ const metadata = {
514
+ [FIELD_METADATA_KEY]: {
515
+ type: "bool"
516
+ }
517
+ };
518
+ return z.boolean().describe(JSON.stringify(metadata));
519
+ }
520
+ function NumberField(options) {
521
+ if (options?.min !== void 0 && options?.max !== void 0) {
522
+ if (options.min > options.max) {
523
+ throw new Error("NumberField: min cannot be greater than max");
524
+ }
525
+ }
526
+ let schema = z.number();
527
+ if (options?.min !== void 0) {
528
+ schema = schema.min(options.min);
529
+ }
530
+ if (options?.max !== void 0) {
531
+ schema = schema.max(options.max);
532
+ }
533
+ const metadata = {
534
+ [FIELD_METADATA_KEY]: {
535
+ type: "number",
536
+ options: options || {}
537
+ }
538
+ };
539
+ return schema.describe(JSON.stringify(metadata));
540
+ }
541
+ function TextField(options) {
542
+ if (options?.min !== void 0 && options?.max !== void 0) {
543
+ if (options.min > options.max) {
544
+ throw new Error("TextField: min cannot be greater than max");
545
+ }
546
+ }
547
+ let schema = z.string();
548
+ if (options?.min !== void 0) {
549
+ schema = schema.min(options.min);
550
+ }
551
+ if (options?.max !== void 0) {
552
+ schema = schema.max(options.max);
553
+ }
554
+ if (options?.pattern !== void 0) {
555
+ const pattern = options.pattern instanceof RegExp ? options.pattern : new RegExp(options.pattern);
556
+ schema = schema.regex(pattern);
557
+ }
558
+ const metadata = {
559
+ [FIELD_METADATA_KEY]: {
560
+ type: "text",
561
+ options: options || {}
562
+ }
563
+ };
564
+ return schema.describe(JSON.stringify(metadata));
565
+ }
566
+ function EmailField() {
567
+ const metadata = {
568
+ [FIELD_METADATA_KEY]: {
569
+ type: "email"
570
+ }
571
+ };
572
+ return z.string().email().describe(JSON.stringify(metadata));
573
+ }
574
+ function URLField() {
575
+ const metadata = {
576
+ [FIELD_METADATA_KEY]: {
577
+ type: "url"
578
+ }
579
+ };
580
+ return z.string().url().describe(JSON.stringify(metadata));
581
+ }
582
+ function EditorField() {
583
+ const metadata = {
584
+ [FIELD_METADATA_KEY]: {
585
+ type: "editor"
586
+ }
587
+ };
588
+ return z.string().describe(JSON.stringify(metadata));
589
+ }
590
+ function DateField(options) {
591
+ if (options?.min !== void 0 && options?.max !== void 0) {
592
+ const minDate = typeof options.min === "string" ? new Date(options.min) : options.min;
593
+ const maxDate = typeof options.max === "string" ? new Date(options.max) : options.max;
594
+ if (minDate > maxDate) {
595
+ throw new Error("DateField: min cannot be greater than max");
596
+ }
597
+ }
598
+ const schema = z.string();
599
+ const metadata = {
600
+ [FIELD_METADATA_KEY]: {
601
+ type: "date",
602
+ options: options || {}
603
+ }
604
+ };
605
+ return schema.describe(JSON.stringify(metadata));
606
+ }
607
+ function AutodateField(options) {
608
+ const schema = z.string();
609
+ const metadata = {
610
+ [FIELD_METADATA_KEY]: {
611
+ type: "autodate",
612
+ options: options || {}
613
+ }
614
+ };
615
+ return schema.describe(JSON.stringify(metadata));
616
+ }
617
+ function SelectField(values, options) {
618
+ const enumSchema = z.enum(values);
619
+ const metadata = {
620
+ [FIELD_METADATA_KEY]: {
621
+ type: "select",
622
+ options: {
623
+ values,
624
+ maxSelect: options?.maxSelect ?? 1
625
+ }
626
+ }
627
+ };
628
+ if (options?.maxSelect && options.maxSelect > 1) {
629
+ return z.array(enumSchema).describe(JSON.stringify(metadata));
630
+ }
631
+ return enumSchema.describe(JSON.stringify(metadata));
632
+ }
633
+ function FileField(options) {
634
+ const schema = z.instanceof(File);
635
+ const metadata = {
636
+ [FIELD_METADATA_KEY]: {
637
+ type: "file",
638
+ options: options || {}
639
+ }
640
+ };
641
+ return schema.describe(JSON.stringify(metadata));
642
+ }
643
+ function FilesField(options) {
644
+ if (options?.minSelect !== void 0 && options?.maxSelect !== void 0) {
645
+ if (options.minSelect > options.maxSelect) {
646
+ throw new Error("FilesField: minSelect cannot be greater than maxSelect");
647
+ }
648
+ }
649
+ let schema = z.array(z.instanceof(File));
650
+ if (options?.minSelect !== void 0) {
651
+ schema = schema.min(options.minSelect);
652
+ }
653
+ if (options?.maxSelect !== void 0) {
654
+ schema = schema.max(options.maxSelect);
655
+ }
656
+ const metadata = {
657
+ [FIELD_METADATA_KEY]: {
658
+ type: "file",
659
+ options: options || {}
660
+ }
661
+ };
662
+ return schema.describe(JSON.stringify(metadata));
663
+ }
664
+ function JSONField(schema) {
665
+ const baseSchema2 = schema ?? z.record(z.string(), z.any());
666
+ const metadata = {
667
+ [FIELD_METADATA_KEY]: {
668
+ type: "json"
669
+ }
670
+ };
671
+ return baseSchema2.describe(JSON.stringify(metadata));
672
+ }
673
+ function GeoPointField() {
674
+ const schema = z.object({
675
+ lon: z.number(),
676
+ lat: z.number()
677
+ });
678
+ const metadata = {
679
+ [FIELD_METADATA_KEY]: {
680
+ type: "geoPoint"
681
+ }
682
+ };
683
+ return schema.describe(JSON.stringify(metadata));
684
+ }
500
685
 
501
686
  // src/utils/permission-templates.ts
502
687
  var PermissionTemplates = {
@@ -2117,6 +2302,28 @@ function isAuthCollection(fields) {
2117
2302
  return hasEmail && hasPassword;
2118
2303
  }
2119
2304
  function buildFieldDefinition(fieldName, zodType) {
2305
+ const fieldMetadata = extractFieldMetadata(zodType.description);
2306
+ if (fieldMetadata) {
2307
+ const required2 = isFieldRequired(zodType);
2308
+ const fieldDef2 = {
2309
+ name: fieldName,
2310
+ type: fieldMetadata.type,
2311
+ required: required2,
2312
+ options: fieldMetadata.options
2313
+ };
2314
+ if (fieldMetadata.type === "relation") {
2315
+ const relationMetadata2 = extractRelationMetadata(zodType.description);
2316
+ if (relationMetadata2) {
2317
+ fieldDef2.relation = {
2318
+ collection: relationMetadata2.collection,
2319
+ maxSelect: relationMetadata2.maxSelect,
2320
+ minSelect: relationMetadata2.minSelect,
2321
+ cascadeDelete: relationMetadata2.cascadeDelete
2322
+ };
2323
+ }
2324
+ }
2325
+ return fieldDef2;
2326
+ }
2120
2327
  const fieldType = mapZodTypeToPocketBase(zodType, fieldName);
2121
2328
  const required = isFieldRequired(zodType);
2122
2329
  const options = extractFieldOptions(zodType);
@@ -5243,6 +5450,6 @@ async function executeStatus(options) {
5243
5450
  }
5244
5451
  }
5245
5452
 
5246
- export { BaseMutator, CLIUsageError, ConfigurationError, DiffEngine, FIELD_TYPE_INFO, FileSystemError, MigrationError, MigrationGenerationError, MigrationGenerator, POCKETBASE_FIELD_TYPES, PermissionTemplates, RelationField, RelationsField, SchemaAnalyzer, SchemaParsingError, SnapshotError, SnapshotManager, StatusEnum, aggregateChanges, baseImageFileSchema, baseSchema, baseSchemaWithTimestamps, boolField, buildFieldDefinition, buildSchemaDefinition, categorizeChangesBySeverity, compare, compareFieldConstraints, compareFieldOptions, compareFieldTypes, comparePermissions, compareRelationConfigurations, convertPocketBaseMigration, convertZodSchemaToCollectionSchema, createMigrationFileStructure, createPermissions, dateField, defineCollection, detectDestructiveChanges, detectFieldChanges, discoverSchemaFiles, editorField, emailField, extractComprehensiveFieldOptions, extractFieldDefinitions, extractFieldOptions, extractIndexes, extractRelationMetadata, extractSchemaDefinitions, fileField, filesField, filterSystemCollections, findLatestSnapshot, findNewCollections, findNewFields, findRemovedCollections, findRemovedFields, formatChangeSummary, generate, generateChangeSummary, generateCollectionCreation, generateCollectionPermissions, generateCollectionRules, generateDownMigration, generateFieldAddition, generateFieldDefinitionObject, generateFieldDeletion, generateFieldModification, generateFieldsArray, generateIndexesArray, executeGenerate as generateMigration, generateMigrationDescription, generateMigrationFilename, generatePermissionUpdate, generateTimestamp, generateUpMigration, geoPointField, getArrayElementType, getCollectionNameFromFile, getDefaultValue, getFieldTypeInfo, getMaxSelect, executeStatus as getMigrationStatus, getMinSelect, getSnapshotPath, getSnapshotVersion, getUsersSystemFields, importSchemaModule, inputImageFileSchema, isArrayType, isAuthCollection, isEditorField, isFieldRequired, isFileFieldByName, isGeoPointType, isMultipleRelationField, isPermissionSchema, isRelationField, isSingleRelationField, isSystemCollection, isTemplateConfig, jsonField, loadBaseMigration, loadConfig, loadSnapshot, loadSnapshotIfExists, loadSnapshotWithMigrations, logError, logInfo, logSection, logSuccess, logWarning, mapZodArrayType, mapZodBooleanType, mapZodDateType, mapZodEnumType, mapZodNumberType, mapZodRecordType, mapZodStringType, mapZodTypeToPocketBase, matchCollectionsByName, matchFieldsByName, mergePermissions, mergeSnapshots, numberField, omitImageFilesSchema, parseSchemaFiles, pluralize, requiresForceFlag, resolveTargetCollection, resolveTemplate, saveSnapshot, selectField, selectSchemaForCollection, singularize, snapshotExists, textField, toCollectionName, unwrapZodType, urlField, validatePermissionConfig, validateRuleExpression, validateSnapshot, withIndexes, withPermissions, withProgress, writeMigrationFile };
5453
+ export { AutodateField, BaseMutator, BoolField, CLIUsageError, ConfigurationError, DateField, DiffEngine, EditorField, EmailField, FIELD_METADATA_KEY, FIELD_TYPE_INFO, FileField, FileSystemError, FilesField, GeoPointField, JSONField, MigrationError, MigrationGenerationError, MigrationGenerator, NumberField, POCKETBASE_FIELD_TYPES, PermissionTemplates, RelationField, RelationsField, SchemaAnalyzer, SchemaParsingError, SelectField, SnapshotError, SnapshotManager, StatusEnum, TextField, URLField, aggregateChanges, baseImageFileSchema, baseSchema, baseSchemaWithTimestamps, boolField, buildFieldDefinition, buildSchemaDefinition, categorizeChangesBySeverity, compare, compareFieldConstraints, compareFieldOptions, compareFieldTypes, comparePermissions, compareRelationConfigurations, convertPocketBaseMigration, convertZodSchemaToCollectionSchema, createMigrationFileStructure, createPermissions, dateField, defineCollection, detectDestructiveChanges, detectFieldChanges, discoverSchemaFiles, editorField, emailField, extractComprehensiveFieldOptions, extractFieldDefinitions, extractFieldMetadata, extractFieldOptions, extractIndexes, extractRelationMetadata, extractSchemaDefinitions, fileField, filesField, filterSystemCollections, findLatestSnapshot, findNewCollections, findNewFields, findRemovedCollections, findRemovedFields, formatChangeSummary, generate, generateChangeSummary, generateCollectionCreation, generateCollectionPermissions, generateCollectionRules, generateDownMigration, generateFieldAddition, generateFieldDefinitionObject, generateFieldDeletion, generateFieldModification, generateFieldsArray, generateIndexesArray, executeGenerate as generateMigration, generateMigrationDescription, generateMigrationFilename, generatePermissionUpdate, generateTimestamp, generateUpMigration, geoPointField, getArrayElementType, getCollectionNameFromFile, getDefaultValue, getFieldTypeInfo, getMaxSelect, executeStatus as getMigrationStatus, getMinSelect, getSnapshotPath, getSnapshotVersion, getUsersSystemFields, importSchemaModule, inputImageFileSchema, isArrayType, isAuthCollection, isEditorField, isFieldRequired, isFileFieldByName, isGeoPointType, isMultipleRelationField, isPermissionSchema, isRelationField, isSingleRelationField, isSystemCollection, isTemplateConfig, jsonField, loadBaseMigration, loadConfig, loadSnapshot, loadSnapshotIfExists, loadSnapshotWithMigrations, logError, logInfo, logSection, logSuccess, logWarning, mapZodArrayType, mapZodBooleanType, mapZodDateType, mapZodEnumType, mapZodNumberType, mapZodRecordType, mapZodStringType, mapZodTypeToPocketBase, matchCollectionsByName, matchFieldsByName, mergePermissions, mergeSnapshots, numberField, omitImageFilesSchema, parseSchemaFiles, pluralize, requiresForceFlag, resolveTargetCollection, resolveTemplate, saveSnapshot, selectField, selectSchemaForCollection, singularize, snapshotExists, textField, toCollectionName, unwrapZodType, urlField, validatePermissionConfig, validateRuleExpression, validateSnapshot, withIndexes, withPermissions, withProgress, writeMigrationFile };
5247
5454
  //# sourceMappingURL=index.js.map
5248
5455
  //# sourceMappingURL=index.js.map