pocketbase-zod-schema 0.2.3 → 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 (71) hide show
  1. package/CHANGELOG.md +14 -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 +833 -694
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +3 -4
  20. package/dist/index.d.ts +3 -4
  21. package/dist/index.js +818 -687
  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/mutator.cjs +2 -98
  50. package/dist/mutator.cjs.map +1 -1
  51. package/dist/mutator.d.cts +4 -31
  52. package/dist/mutator.d.ts +4 -31
  53. package/dist/mutator.js +2 -98
  54. package/dist/mutator.js.map +1 -1
  55. package/dist/schema.cjs +200 -78
  56. package/dist/schema.cjs.map +1 -1
  57. package/dist/schema.d.cts +1 -1
  58. package/dist/schema.d.ts +1 -1
  59. package/dist/schema.js +186 -72
  60. package/dist/schema.js.map +1 -1
  61. package/dist/{types-z1Dkjg8m.d.ts → types-LFBGHl9Y.d.ts} +2 -2
  62. package/dist/{types-BbTgmg6H.d.cts → types-mhQXWNi3.d.cts} +2 -2
  63. package/package.json +1 -6
  64. package/dist/types.cjs +0 -4
  65. package/dist/types.cjs.map +0 -1
  66. package/dist/types.d.cts +0 -14
  67. package/dist/types.d.ts +0 -14
  68. package/dist/types.js +0 -3
  69. package/dist/types.js.map +0 -1
  70. package/dist/user-BnFWg5tw.d.cts +0 -161
  71. package/dist/user-BnFWg5tw.d.ts +0 -161
@@ -1,4 +1,6 @@
1
- import { S as SchemaDefinition, a as SchemaSnapshot, f as SchemaDiff, F as FieldDefinition, b as FieldChange, C as CollectionSchema, d as PermissionChange } from '../types-BbTgmg6H.cjs';
1
+ import { S as SchemaDefinition, a as SchemaSnapshot, e as SchemaDiff, F as FieldDefinition, b as FieldChange, C as CollectionSchema, P as PermissionChange } from '../types-mhQXWNi3.cjs';
2
+ import '../fields-YjcpBXVp.cjs';
3
+ import 'zod';
2
4
  import '../permissions-ZHafVSIx.cjs';
3
5
 
4
6
  /**
@@ -1,4 +1,6 @@
1
- import { S as SchemaDefinition, a as SchemaSnapshot, f as SchemaDiff, F as FieldDefinition, b as FieldChange, C as CollectionSchema, d as PermissionChange } from '../types-z1Dkjg8m.js';
1
+ import { S as SchemaDefinition, a as SchemaSnapshot, e as SchemaDiff, F as FieldDefinition, b as FieldChange, C as CollectionSchema, P as PermissionChange } from '../types-LFBGHl9Y.js';
2
+ import '../fields-YjcpBXVp.js';
3
+ import 'zod';
2
4
  import '../permissions-ZHafVSIx.js';
3
5
 
4
6
  /**
@@ -1,4 +1,6 @@
1
- import { f as SchemaDiff, C as CollectionSchema, F as FieldDefinition, c as FieldModification } from '../types-BbTgmg6H.cjs';
1
+ import { e as SchemaDiff, C as CollectionSchema, F as FieldDefinition, c as FieldModification } from '../types-mhQXWNi3.cjs';
2
+ import '../fields-YjcpBXVp.cjs';
3
+ import 'zod';
2
4
  import '../permissions-ZHafVSIx.cjs';
3
5
 
4
6
  /**
@@ -1,4 +1,6 @@
1
- import { f as SchemaDiff, C as CollectionSchema, F as FieldDefinition, c as FieldModification } from '../types-z1Dkjg8m.js';
1
+ import { e as SchemaDiff, C as CollectionSchema, F as FieldDefinition, c as FieldModification } from '../types-LFBGHl9Y.js';
2
+ import '../fields-YjcpBXVp.js';
3
+ import 'zod';
2
4
  import '../permissions-ZHafVSIx.js';
3
5
 
4
6
  /**
@@ -57,6 +57,18 @@ function extractRelationMetadata(description) {
57
57
  }
58
58
  return null;
59
59
  }
60
+ var FIELD_METADATA_KEY = "__pocketbase_field__";
61
+ function extractFieldMetadata(description) {
62
+ if (!description) return null;
63
+ try {
64
+ const parsed = JSON.parse(description);
65
+ if (parsed[FIELD_METADATA_KEY]) {
66
+ return parsed[FIELD_METADATA_KEY];
67
+ }
68
+ } catch {
69
+ }
70
+ return null;
71
+ }
60
72
 
61
73
  // src/migration/errors.ts
62
74
  var MigrationError = class _MigrationError extends Error {
@@ -1567,6 +1579,28 @@ function isAuthCollection(fields) {
1567
1579
  return hasEmail && hasPassword;
1568
1580
  }
1569
1581
  function buildFieldDefinition(fieldName, zodType) {
1582
+ const fieldMetadata = extractFieldMetadata(zodType.description);
1583
+ if (fieldMetadata) {
1584
+ const required2 = isFieldRequired(zodType);
1585
+ const fieldDef2 = {
1586
+ name: fieldName,
1587
+ type: fieldMetadata.type,
1588
+ required: required2,
1589
+ options: fieldMetadata.options
1590
+ };
1591
+ if (fieldMetadata.type === "relation") {
1592
+ const relationMetadata2 = extractRelationMetadata(zodType.description);
1593
+ if (relationMetadata2) {
1594
+ fieldDef2.relation = {
1595
+ collection: relationMetadata2.collection,
1596
+ maxSelect: relationMetadata2.maxSelect,
1597
+ minSelect: relationMetadata2.minSelect,
1598
+ cascadeDelete: relationMetadata2.cascadeDelete
1599
+ };
1600
+ }
1601
+ }
1602
+ return fieldDef2;
1603
+ }
1570
1604
  const fieldType = mapZodTypeToPocketBase(zodType, fieldName);
1571
1605
  const required = isFieldRequired(zodType);
1572
1606
  const options = extractFieldOptions(zodType);
@@ -3846,6 +3880,7 @@ var MigrationGenerator = class {
3846
3880
  exports.CLIUsageError = CLIUsageError;
3847
3881
  exports.ConfigurationError = ConfigurationError;
3848
3882
  exports.DiffEngine = DiffEngine;
3883
+ exports.FIELD_METADATA_KEY = FIELD_METADATA_KEY;
3849
3884
  exports.FIELD_TYPE_INFO = FIELD_TYPE_INFO;
3850
3885
  exports.FileSystemError = FileSystemError;
3851
3886
  exports.MigrationError = MigrationError;
@@ -3874,6 +3909,7 @@ exports.detectFieldChanges = detectFieldChanges;
3874
3909
  exports.discoverSchemaFiles = discoverSchemaFiles;
3875
3910
  exports.extractComprehensiveFieldOptions = extractComprehensiveFieldOptions;
3876
3911
  exports.extractFieldDefinitions = extractFieldDefinitions;
3912
+ exports.extractFieldMetadata = extractFieldMetadata;
3877
3913
  exports.extractFieldOptions = extractFieldOptions;
3878
3914
  exports.extractIndexes = extractIndexes;
3879
3915
  exports.extractSchemaDefinitions = extractSchemaDefinitions;