firebase-contract 0.1.0-rc.9 → 0.1.0

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 (78) hide show
  1. package/README.md +140 -63
  2. package/dist/lib/_internal/compiler/compiler.d.ts.map +1 -1
  3. package/dist/lib/_internal/compiler/compiler.js +50 -21
  4. package/dist/lib/_internal/generators/api/api-dto-generator.d.ts.map +1 -1
  5. package/dist/lib/_internal/generators/api/api-dto-generator.js +1 -8
  6. package/dist/lib/_internal/generators/api/api-types-generator.d.ts.map +1 -1
  7. package/dist/lib/_internal/generators/api/api-types-generator.js +11 -5
  8. package/dist/lib/_internal/generators/api/task-payload-generator.js +3 -3
  9. package/dist/lib/_internal/generators/data-connect/graphql-generator.d.ts +0 -7
  10. package/dist/lib/_internal/generators/data-connect/graphql-generator.d.ts.map +1 -1
  11. package/dist/lib/_internal/generators/data-connect/graphql-generator.js +5 -4
  12. package/dist/lib/_internal/generators/data-connect/operations-generator.d.ts +0 -7
  13. package/dist/lib/_internal/generators/data-connect/operations-generator.d.ts.map +1 -1
  14. package/dist/lib/_internal/generators/data-connect/operations-generator.js +8 -7
  15. package/dist/lib/_internal/generators/firestore/firestore-projection-generator.d.ts.map +1 -1
  16. package/dist/lib/_internal/generators/firestore/firestore-projection-generator.js +7 -22
  17. package/dist/lib/_internal/generators/firestore/firestore-split-generator.d.ts +1 -1
  18. package/dist/lib/_internal/generators/firestore/firestore-split-generator.d.ts.map +1 -1
  19. package/dist/lib/_internal/generators/firestore/firestore-split-generator.js +69 -47
  20. package/dist/lib/_internal/generators/generator.d.ts +2 -0
  21. package/dist/lib/_internal/generators/generator.d.ts.map +1 -1
  22. package/dist/lib/_internal/generators/index.d.ts +2 -5
  23. package/dist/lib/_internal/generators/index.d.ts.map +1 -1
  24. package/dist/lib/_internal/generators/index.js +4 -15
  25. package/dist/lib/_internal/generators/support/jsdoc.d.ts +3 -0
  26. package/dist/lib/_internal/generators/support/jsdoc.d.ts.map +1 -0
  27. package/dist/lib/_internal/generators/support/jsdoc.js +9 -0
  28. package/dist/lib/_internal/generators/support/split-variant.d.ts +9 -0
  29. package/dist/lib/_internal/generators/support/split-variant.d.ts.map +1 -0
  30. package/dist/lib/_internal/generators/support/split-variant.js +13 -0
  31. package/dist/lib/_internal/generators/support/split.d.ts +1 -1
  32. package/dist/lib/_internal/generators/support/split.d.ts.map +1 -1
  33. package/dist/lib/_internal/generators/support/split.js +3 -2
  34. package/dist/lib/_internal/generators/typescript/render.d.ts +15 -0
  35. package/dist/lib/_internal/generators/typescript/render.d.ts.map +1 -0
  36. package/dist/lib/_internal/generators/typescript/render.js +92 -0
  37. package/dist/lib/_internal/generators/typescript/typescript-generator.d.ts +2 -1
  38. package/dist/lib/_internal/generators/typescript/typescript-generator.d.ts.map +1 -1
  39. package/dist/lib/_internal/generators/typescript/typescript-generator.js +12 -78
  40. package/dist/lib/_internal/generators/typescript/typescript-split-generator.d.ts +1 -1
  41. package/dist/lib/_internal/generators/typescript/typescript-split-generator.d.ts.map +1 -1
  42. package/dist/lib/_internal/generators/typescript/typescript-split-generator.js +4 -84
  43. package/dist/lib/_internal/generators/zod/render.d.ts +12 -0
  44. package/dist/lib/_internal/generators/zod/render.d.ts.map +1 -0
  45. package/dist/lib/_internal/generators/zod/render.js +59 -0
  46. package/dist/lib/_internal/generators/zod/zod-generator.d.ts +2 -1
  47. package/dist/lib/_internal/generators/zod/zod-generator.d.ts.map +1 -1
  48. package/dist/lib/_internal/generators/zod/zod-generator.js +11 -55
  49. package/dist/lib/_internal/generators/zod/zod-split-generator.d.ts +1 -1
  50. package/dist/lib/_internal/generators/zod/zod-split-generator.d.ts.map +1 -1
  51. package/dist/lib/_internal/generators/zod/zod-split-generator.js +4 -56
  52. package/dist/lib/_internal/ir/build-ir.d.ts.map +1 -1
  53. package/dist/lib/_internal/ir/build-ir.js +93 -8
  54. package/dist/lib/_internal/ir/ir.d.ts +18 -5
  55. package/dist/lib/_internal/ir/ir.d.ts.map +1 -1
  56. package/dist/lib/_internal/ir/ir.js +1 -0
  57. package/dist/lib/_internal/parser/parse.d.ts +5 -3
  58. package/dist/lib/_internal/parser/parse.d.ts.map +1 -1
  59. package/dist/lib/_internal/parser/parse.js +103 -14
  60. package/dist/lib/_internal/parser/raw-document.d.ts +18 -2
  61. package/dist/lib/_internal/parser/raw-document.d.ts.map +1 -1
  62. package/dist/lib/_internal/resolver/import-resolver.js +1 -1
  63. package/dist/lib/_internal/validation/rules.d.ts +39 -0
  64. package/dist/lib/_internal/validation/rules.d.ts.map +1 -1
  65. package/dist/lib/_internal/validation/rules.js +133 -1
  66. package/dist/lib/cli/commands/generate.d.ts.map +1 -1
  67. package/dist/lib/cli/commands/generate.js +6 -4
  68. package/dist/lib/cli/commands/index.d.ts.map +1 -1
  69. package/dist/lib/cli/commands/index.js +2 -0
  70. package/dist/lib/cli/commands/init.d.ts.map +1 -1
  71. package/dist/lib/cli/commands/init.js +2 -18
  72. package/dist/lib/cli/commands/where.d.ts +3 -0
  73. package/dist/lib/cli/commands/where.d.ts.map +1 -0
  74. package/dist/lib/cli/commands/where.js +57 -0
  75. package/dist/lib/cli/config.d.ts +3 -2
  76. package/dist/lib/cli/config.d.ts.map +1 -1
  77. package/dist/lib/cli/config.js +3 -0
  78. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { error } from '../diagnostics.js';
1
+ import { error, warning } from '../diagnostics.js';
2
2
  import { isScalarType, } from './ir.js';
3
3
  const resolveTypeRef = (typeName, enumNames, modelNames) => {
4
4
  if (isScalarType(typeName)) {
@@ -58,6 +58,42 @@ const OPERATION_TYPES = new Set(['query', 'mutation']);
58
58
  const MUTATION_ACTIONS = new Set(['insert', 'update', 'upsert', 'delete']);
59
59
  const AUTH_LEVELS = new Set(['NO_ACCESS', 'PUBLIC', 'USER']);
60
60
  const API_KINDS = new Set(['callable', 'https', 'task', 'pubsub']);
61
+ const ORDER_DIRS = new Set(['ASC', 'DESC']);
62
+ const SINGLE_KINDS = new Set(['key', 'id']);
63
+ /** Per-key valid values for an operation's `style:` block. */
64
+ const STYLE_VALUES = {
65
+ signature: new Set(['inline', 'multi']),
66
+ args: new Set(['inline', 'multi']),
67
+ data: new Set(['inline', 'multi', 'compact']),
68
+ orderBy: new Set(['bare', 'array']),
69
+ auth: new Set(['inline', 'newline']),
70
+ key: new Set(['inline', 'multi']),
71
+ and: new Set(['inline', 'multi']),
72
+ where: new Set(['inline', 'multi']),
73
+ };
74
+ /**
75
+ * Data Connect scalar/list filter operators. A `where.op` outside this set is
76
+ * warned (not errored): the value is emitted verbatim into GraphQL, so a typo
77
+ * ships broken schema, but the list may lag DC additions — a warning surfaces
78
+ * typos without rejecting a valid-but-unlisted operator.
79
+ */
80
+ const WHERE_OPS = new Set([
81
+ 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'in', 'nin', 'isNull',
82
+ 'contains', 'startsWith', 'endsWith',
83
+ 'includes', 'excludes', 'includesAll', 'includesAny', 'excludesAll', 'excludesAny',
84
+ ]);
85
+ /**
86
+ * The contract is the single source of truth, so an out-of-vocabulary *value* is
87
+ * as much a defect as an unknown key: it is silently coerced to a default or
88
+ * dropped, and the generated output no longer reflects what was written. These
89
+ * checks turn that silent coercion into a diagnostic at the coercion site (the
90
+ * raw value is still in hand here; it is lost once the IR is built).
91
+ */
92
+ const checkValue = (diagnostics, file, path, key, value, valid) => {
93
+ if (value !== undefined && !valid.has(value)) {
94
+ diagnostics.push(error('INVALID_VALUE', `Invalid ${key} "${value}" — expected one of ${[...valid].join(' | ')}`, { file, path }));
95
+ }
96
+ };
61
97
  const buildSelect = (entries) => entries.map(entry => ({
62
98
  field: entry.field,
63
99
  ...(entry.select !== undefined ? { select: buildSelect(entry.select) } : {}),
@@ -65,7 +101,27 @@ const buildSelect = (entries) => entries.map(entry => ({
65
101
  ...(entry.alias !== undefined ? { alias: entry.alias } : {}),
66
102
  ...(entry.args !== undefined ? { args: entry.args } : {}),
67
103
  }));
68
- const buildOperation = (name, raw, sourceFile) => {
104
+ const buildOperation = (name, raw, sourceFile, diagnostics) => {
105
+ const path = `operations.${name}`;
106
+ checkValue(diagnostics, sourceFile, `${path}.type`, 'type', raw.type, OPERATION_TYPES);
107
+ checkValue(diagnostics, sourceFile, `${path}.auth`, 'auth', raw.auth, AUTH_LEVELS);
108
+ checkValue(diagnostics, sourceFile, `${path}.action`, 'action', raw.action, MUTATION_ACTIONS);
109
+ checkValue(diagnostics, sourceFile, `${path}.single`, 'single', raw.single, SINGLE_KINDS);
110
+ checkValue(diagnostics, sourceFile, `${path}.keyArg`, 'keyArg', raw.keyArg, SINGLE_KINDS);
111
+ for (const o of raw.orderBy ?? [])
112
+ checkValue(diagnostics, sourceFile, `${path}.orderBy`, 'orderBy dir', o.dir, ORDER_DIRS);
113
+ for (const [k, v] of Object.entries(raw.style ?? {})) {
114
+ if (STYLE_VALUES[k])
115
+ checkValue(diagnostics, sourceFile, `${path}.style.${k}`, `style.${k}`, v, STYLE_VALUES[k]);
116
+ }
117
+ for (const w of raw.where ?? []) {
118
+ if (w.op !== undefined && !WHERE_OPS.has(w.op)) {
119
+ diagnostics.push(warning('UNKNOWN_WHERE_OP', `Unknown where operator "${w.op}" on ${path} — emitted verbatim into GraphQL; verify it is a valid Data Connect operator`, {
120
+ file: sourceFile,
121
+ path: `${path}.where`,
122
+ }));
123
+ }
124
+ }
69
125
  const op = {
70
126
  name,
71
127
  operationType: (OPERATION_TYPES.has(raw.type) ? raw.type : 'query'),
@@ -129,7 +185,8 @@ const buildApiPayload = (raw, enumNames, modelNames) => {
129
185
  payload.model = raw.model;
130
186
  return payload;
131
187
  };
132
- const buildApi = (name, raw, sourceFile, enumNames, modelNames) => {
188
+ const buildApi = (name, raw, sourceFile, enumNames, modelNames, diagnostics) => {
189
+ checkValue(diagnostics, sourceFile, `apis.${name}.kind`, 'kind', raw.kind, API_KINDS);
133
190
  const api = {
134
191
  name,
135
192
  kind: (API_KINDS.has(raw.kind) ? raw.kind : 'callable'),
@@ -165,7 +222,7 @@ const buildFirestoreDoc = (name, raw, sourceFile, enumNames, modelNames) => {
165
222
  pick: raw.pick ?? [],
166
223
  omit: raw.omit ?? [],
167
224
  fields,
168
- meta: raw.meta ?? true,
225
+ extends: raw.extends ?? [],
169
226
  sourceFile,
170
227
  };
171
228
  if (raw.from !== undefined)
@@ -252,6 +309,10 @@ export const buildIr = (documents) => {
252
309
  })),
253
310
  sourceFile: doc.filePath,
254
311
  };
312
+ if (raw.out !== undefined)
313
+ model.out = raw.out;
314
+ if (raw.file !== undefined)
315
+ model.file = raw.file;
255
316
  if (raw.description !== undefined)
256
317
  model.description = raw.description;
257
318
  if (raw.table !== undefined)
@@ -316,11 +377,11 @@ export const buildIr = (documents) => {
316
377
  }
317
378
  const operations = [];
318
379
  for (const { name, doc } of operationEntries) {
319
- operations.push(buildOperation(name, doc.operations[name], doc.filePath));
380
+ operations.push(buildOperation(name, doc.operations[name], doc.filePath, diagnostics));
320
381
  }
321
382
  const apis = [];
322
383
  for (const [name, doc] of apiSources) {
323
- apis.push(buildApi(name, doc.apis[name], doc.filePath, enumNames, modelNames));
384
+ apis.push(buildApi(name, doc.apis[name], doc.filePath, enumNames, modelNames, diagnostics));
324
385
  }
325
386
  const unionSources = new Map();
326
387
  for (const doc of documents) {
@@ -365,7 +426,6 @@ export const buildIr = (documents) => {
365
426
  for (const [name, doc] of firestoreSources) {
366
427
  firestore.push(buildFirestoreDoc(name, doc.firestore[name], doc.filePath, enumNames, modelNames));
367
428
  }
368
- const version = documents.length > 0 ? documents[documents.length - 1].version : 1;
369
429
  const envelopeSources = new Map();
370
430
  for (const doc of documents) {
371
431
  for (const name of Object.keys(doc.envelopes)) {
@@ -391,6 +451,31 @@ export const buildIr = (documents) => {
391
451
  envelope.description = raw.description;
392
452
  envelopes.push(envelope);
393
453
  }
454
+ const fragmentSources = new Map();
455
+ for (const doc of documents) {
456
+ for (const name of Object.keys(doc.fragments)) {
457
+ if (fragmentSources.has(name)) {
458
+ diagnostics.push(error('DUPLICATE_DEFINITION', `Fragment "${name}" is defined more than once`, {
459
+ file: doc.filePath,
460
+ path: `fragments.${name}`,
461
+ }));
462
+ continue;
463
+ }
464
+ fragmentSources.set(name, doc);
465
+ }
466
+ }
467
+ const fragments = [];
468
+ for (const [name, doc] of fragmentSources) {
469
+ const raw = doc.fragments[name];
470
+ const fragment = {
471
+ name,
472
+ fields: Object.entries(raw.fields).map(([fieldName, rawField]) => buildField(fieldName, rawField, enumNames, modelNames)),
473
+ sourceFile: doc.filePath,
474
+ };
475
+ if (raw.description !== undefined)
476
+ fragment.description = raw.description;
477
+ fragments.push(fragment);
478
+ }
394
479
  let header;
395
480
  for (const doc of documents) {
396
481
  if (doc.header !== undefined) {
@@ -416,7 +501,6 @@ export const buildIr = (documents) => {
416
501
  }
417
502
  return {
418
503
  ir: {
419
- version,
420
504
  enums,
421
505
  models,
422
506
  operations,
@@ -424,6 +508,7 @@ export const buildIr = (documents) => {
424
508
  firestore,
425
509
  unions,
426
510
  envelopes,
511
+ fragments,
427
512
  ...(project ? { project } : {}),
428
513
  ...(header !== undefined ? { header } : {}),
429
514
  },
@@ -121,6 +121,10 @@ export interface IrModel {
121
121
  fsName?: string;
122
122
  /** Composite unique/index constraints (Data Connect `@unique`/`@index`). */
123
123
  indexes: IrIndex[];
124
+ /** Placement-pinned split output dir (relative to the generator `out`); firestore-scoped value object. */
125
+ out?: string;
126
+ /** File name for a placement-pinned value object. */
127
+ file?: string;
124
128
  /** Absolute path of the file this model was defined in. */
125
129
  sourceFile?: string;
126
130
  }
@@ -322,8 +326,9 @@ export interface IrEnvelope {
322
326
  * A Firestore projection document. Firestore is a denormalized read model, so a
323
327
  * projection *derives* from a Data Connect model (`from`) and then diverges:
324
328
  * fields are picked/omitted, relations become resolved string ids, timestamps
325
- * become dates, a `_meta_` envelope is added, and extra denormalized fields
326
- * (e.g. flattened DAG edges) are declared inline.
329
+ * become dates, fragments (e.g. a shared `_meta_` envelope) are spliced in via
330
+ * `extends`, and extra denormalized fields (e.g. flattened DAG edges) are
331
+ * declared inline.
327
332
  */
328
333
  export interface IrFirestoreDoc {
329
334
  name: string;
@@ -338,14 +343,21 @@ export interface IrFirestoreDoc {
338
343
  omit: string[];
339
344
  /** Added or overriding projection-specific fields. */
340
345
  fields: IrField[];
341
- /** Attach the consistency `_meta_` envelope (default true). */
342
- meta: boolean;
346
+ /** Fragment names whose fields are appended to this projection. */
347
+ extends: string[];
343
348
  /** Embedded models to host in this projection file even when unreferenced. */
344
349
  include?: string[];
345
350
  /** Verbatim TypeScript helpers emitted into the projection file. */
346
351
  helpers?: string;
347
352
  sourceFile?: string;
348
353
  }
354
+ /** A reusable named group of fields, spliced into consumers via `extends`. */
355
+ export interface IrFragment {
356
+ name: string;
357
+ description?: string;
358
+ fields: IrField[];
359
+ sourceFile?: string;
360
+ }
349
361
  /** A discriminated union of model variants keyed by a shared discriminant field. */
350
362
  export interface IrUnion {
351
363
  name: string;
@@ -376,7 +388,6 @@ export interface IrProject {
376
388
  };
377
389
  }
378
390
  export interface Ir {
379
- version: number;
380
391
  enums: IrEnum[];
381
392
  models: IrModel[];
382
393
  operations: IrOperation[];
@@ -384,12 +395,14 @@ export interface Ir {
384
395
  firestore: IrFirestoreDoc[];
385
396
  unions: IrUnion[];
386
397
  envelopes: IrEnvelope[];
398
+ fragments: IrFragment[];
387
399
  project?: IrProject;
388
400
  /** Raw header text from the contract (`default` = built-in banner). */
389
401
  header?: string;
390
402
  }
391
403
  export declare const findModel: (ir: Ir, name: string) => IrModel | undefined;
392
404
  export declare const findEnum: (ir: Ir, name: string) => IrEnum | undefined;
405
+ export declare const findFragment: (ir: Ir, name: string) => IrFragment | undefined;
393
406
  /** The id field's scalar name of a model, used to type foreign keys. Defaults to `string`. */
394
407
  export declare const idTypeOf: (ir: Ir, modelName: string) => ScalarType;
395
408
  //# sourceMappingURL=ir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/ir/ir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/ir/ir.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export const SCALAR_TYPES = ['string', 'int', 'int64', 'float', 'boolean', 'time
11
11
  export const isScalarType = (name) => SCALAR_TYPES.includes(name);
12
12
  export const findModel = (ir, name) => ir.models.find(model => model.name === name);
13
13
  export const findEnum = (ir, name) => ir.enums.find(irEnum => irEnum.name === name);
14
+ export const findFragment = (ir, name) => ir.fragments.find(fragment => fragment.name === name);
14
15
  /** The id field's scalar name of a model, used to type foreign keys. Defaults to `string`. */
15
16
  export const idTypeOf = (ir, modelName) => {
16
17
  const model = findModel(ir, modelName);
@@ -1,9 +1,11 @@
1
+ import { Diagnostic } from '../diagnostics.js';
1
2
  import { RawContract } from './raw-document.js';
2
3
  /**
3
4
  * Parse a single YAML contract file into a {@link RawContract}. Shorthand forms
4
5
  * are normalized here so downstream code sees one canonical shape. Syntax and
5
- * structural problems throw a {@link ContractError}; semantic problems are left
6
- * for validation.
6
+ * structural problems throw a {@link ContractError}; unknown keys are collected
7
+ * into `diagnostics` as UNKNOWN_KEY errors (all of them in one pass); semantic
8
+ * problems are left for validation.
7
9
  */
8
- export declare const parseContract: (content: string, filePath: string) => RawContract;
10
+ export declare const parseContract: (content: string, filePath: string, diagnostics?: Diagnostic[]) => RawContract;
9
11
  //# sourceMappingURL=parse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/parser/parse.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,WAAW,EAaZ,MAAM,mBAAmB,CAAA;AA4jB1B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM,KAAG,WAmNjE,CAAA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/parser/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,UAAU,EAAS,MAAM,mBAAmB,CAAA;AAEpE,OAAO,EAGL,WAAW,EAcZ,MAAM,mBAAmB,CAAA;AAkoB1B;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM,EAAE,cAAc,UAAU,EAAE,KAAG,WAO7F,CAAA"}