@dereekb/dbx-cli 13.42.0 → 14.0.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 (38) hide show
  1. package/eslint/index.esm.js +2 -2
  2. package/eslint/package.json +7 -7
  3. package/firebase-api-manifest/main.js +22 -4
  4. package/firebase-api-manifest/package.json +5 -5
  5. package/firestore-query-manifest/main.js +9 -7
  6. package/firestore-query-manifest/package.json +4 -4
  7. package/generate-firestore-indexes/main.js +3 -3
  8. package/generate-firestore-indexes/package.json +3 -3
  9. package/generate-mcp-manifest/package.json +4 -4
  10. package/generate-route-manifest/main.js +1 -1
  11. package/generate-route-manifest/package.json +3 -3
  12. package/index.esm.js +2835 -2002
  13. package/lint-cache/package.json +3 -3
  14. package/manifest-extract/index.esm.js +6 -12
  15. package/manifest-extract/package.json +9 -10
  16. package/model-test/index.esm.js +61 -63
  17. package/model-test/package.json +3 -3
  18. package/package.json +14 -14
  19. package/route/package.json +7 -7
  20. package/src/lib/doctor/build-drift.check.d.ts +21 -0
  21. package/src/lib/doctor/doctor.command.factory.d.ts +21 -2
  22. package/src/lib/doctor/firestore-session.check.d.ts +7 -1
  23. package/src/lib/doctor/index.d.ts +1 -0
  24. package/src/lib/firestore/firestore.sdk-identity.d.ts +193 -0
  25. package/src/lib/firestore/index.d.ts +1 -0
  26. package/src/lib/manifest/types.d.ts +21 -0
  27. package/src/lib/mcp-scan/manifest/css-utilities-schema.d.ts +2 -2
  28. package/src/lib/mcp-scan/manifest/dbx-docs-ui-examples-schema.d.ts +2 -2
  29. package/src/lib/mcp-scan/manifest/ui-components-schema.d.ts +2 -2
  30. package/src/lib/mcp-scan/scan/dbx-docs-ui-examples-extract.d.ts +1 -1
  31. package/src/lib/mcp-scan/scan/ui-components-extract.d.ts +1 -1
  32. package/src/lib/runner/build-stamp.d.ts +138 -0
  33. package/src/lib/runner/index.d.ts +1 -0
  34. package/src/lib/runner/run.d.ts +13 -0
  35. package/test/index.esm.js +19 -22
  36. package/test/package.json +11 -11
  37. package/validate/index.js +1069 -76
  38. package/validate/package.json +4 -4
@@ -262,7 +262,7 @@ function _iterable_to_array_limit$1(arr, i) {
262
262
  return _arr;
263
263
  }
264
264
  function _non_iterable_rest$1() {
265
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
265
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
266
266
  }
267
267
  function _sliced_to_array$1(arr, i) {
268
268
  return _array_with_holes$1(arr) || _iterable_to_array_limit$1(arr, i) || _unsupported_iterable_to_array$1(arr, i) || _non_iterable_rest$1();
@@ -719,7 +719,7 @@ function _iterable_to_array_limit(arr, i) {
719
719
  return _arr;
720
720
  }
721
721
  function _non_iterable_rest() {
722
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
722
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
723
723
  }
724
724
  function _sliced_to_array(arr, i) {
725
725
  return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-cli/eslint",
3
- "version": "13.42.0",
3
+ "version": "14.0.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/dbx-cli": "13.42.0",
7
- "@dereekb/util": "13.42.0",
8
- "@typescript-eslint/utils": "8.59.3",
9
- "typescript": "5.9.3"
6
+ "@dereekb/dbx-cli": "14.0.0",
7
+ "@dereekb/util": "14.0.0",
8
+ "@typescript-eslint/utils": "8.69.0",
9
+ "typescript": "6.0.3"
10
10
  },
11
11
  "devDependencies": {
12
- "@typescript-eslint/parser": "8.59.3",
13
- "eslint": "10.4.0"
12
+ "@typescript-eslint/parser": "8.69.0",
13
+ "eslint": "10.9.1"
14
14
  },
15
15
  "exports": {
16
16
  "./package.json": "./package.json",
@@ -190,7 +190,7 @@ function locatePackageForPath(workspaceRoot, startPath) {
190
190
  return result;
191
191
  }
192
192
  function relPath(workspaceRoot, absolutePath) {
193
- return relative(workspaceRoot, absolutePath).split("\\").join("/");
193
+ return relative(workspaceRoot, absolutePath).replaceAll("\\", "/");
194
194
  }
195
195
  function stripJsonComments(text) {
196
196
  return text.replaceAll(/\/\*[\s\S]*?\*\//g, "").replaceAll(/^\s*\/\/.*$/gm, "");
@@ -1588,7 +1588,7 @@ function deriveValidatorName(paramsTypeName) {
1588
1588
 
1589
1589
  // packages/dbx-cli/firebase-api-manifest/src/generate-api-manifest/emit.ts
1590
1590
  async function renderManifest(input) {
1591
- const { outputFile, entries, projectName, namespace, modelEntries, modelNamespace, enumEntries, enumNamespace, emitConverters = false } = input;
1591
+ const { outputFile, entries, projectName, namespace, modelEntries, modelNamespace, enumEntries, enumNamespace, emitConverters = false, generatorVersion } = input;
1592
1592
  const validatorImports = [];
1593
1593
  for (const entry of entries) {
1594
1594
  if (!entry.packageName || !entry.validatorName) continue;
@@ -1598,7 +1598,7 @@ async function renderManifest(input) {
1598
1598
  const entryLines = entries.map((e) => renderEntry(e));
1599
1599
  const emitModels = Boolean(modelEntries && modelEntries.length > 0 && modelNamespace);
1600
1600
  const emitEnums = Boolean(enumEntries && Object.keys(enumEntries).length > 0 && enumNamespace);
1601
- const dbxCliTypeNames = ["type CliApiManifest", ...emitModels ? ["type CliModelManifest"] : [], ...emitEnums ? ["type CliEnumManifest"] : []];
1601
+ const dbxCliTypeNames = ["type CliApiManifest", "type CliGeneratedManifestStamp", ...emitModels ? ["type CliModelManifest"] : [], ...emitEnums ? ["type CliEnumManifest"] : []];
1602
1602
  const dbxCliTypeImports = `import { ${dbxCliTypeNames.join(", ")} } from '@dereekb/dbx-cli';`;
1603
1603
  const modelSection = emitModels ? `
1604
1604
 
@@ -1617,6 +1617,8 @@ export const ${enumNamespace}: CliEnumManifest = ${renderEnumManifest(enumEntrie
1617
1617
  ${importLines.join("\n")}
1618
1618
  ${dbxCliTypeImports}
1619
1619
 
1620
+ export const ${namespace}_STAMP: CliGeneratedManifestStamp = { generatorVersion: ${JSON.stringify(generatorVersion)} };
1621
+
1620
1622
  export const ${namespace}: CliApiManifest = [
1621
1623
  ${entryLines.join(",\n")}
1622
1624
  ];${modelSection}${enumSection}
@@ -1718,6 +1720,22 @@ function renderModelField(field, emitConverters) {
1718
1720
  return `{ ${parts.filter(Boolean).join(", ")} }`;
1719
1721
  }
1720
1722
 
1723
+ // packages/dbx-cli/firebase-api-manifest/package.json
1724
+ var package_default = {
1725
+ name: "@dereekb/dbx-cli-firebase-api-manifest",
1726
+ version: "14.0.0",
1727
+ private: true,
1728
+ type: "module",
1729
+ devDependencies: {
1730
+ "ts-morph": "^28.0.0"
1731
+ },
1732
+ peerDependencies: {
1733
+ "@dereekb/dbx-cli": "14.0.0",
1734
+ "@dereekb/util": "14.0.0",
1735
+ prettier: "3.9.6"
1736
+ }
1737
+ };
1738
+
1721
1739
  // packages/dbx-cli/firebase-api-manifest/src/generate-api-manifest/main.ts
1722
1740
  var WORKSPACE_ROOT = process.cwd();
1723
1741
  async function main() {
@@ -1808,7 +1826,7 @@ async function main() {
1808
1826
  const modelEntries = flags.emitModels ? assembleModels({ extractions: modelSources }) : [];
1809
1827
  const filteredModelEntries = flags.only ? modelEntries.filter((m) => flags.only?.has(m.modelType)) : modelEntries;
1810
1828
  const enumEntries = flags.emitModels ? collectModelEnums({ extractions: modelSources, models: filteredModelEntries }) : {};
1811
- const formatted = await renderManifest({ outputFile, entries: collected, projectName, namespace, modelEntries: filteredModelEntries, modelNamespace: deriveModelNamespace(flags.project), enumEntries, enumNamespace: deriveEnumNamespace(flags.project), emitConverters: flags.emitModelConverters });
1829
+ const formatted = await renderManifest({ outputFile, entries: collected, projectName, namespace, modelEntries: filteredModelEntries, modelNamespace: deriveModelNamespace(flags.project), enumEntries, enumNamespace: deriveEnumNamespace(flags.project), emitConverters: flags.emitModelConverters, generatorVersion: package_default.version });
1812
1830
  const outcome = writeGeneratedTsFile({ outputFile, contents: formatted });
1813
1831
  console.log(`[${outcome}] ${relative2(WORKSPACE_ROOT, outputFile)}`);
1814
1832
  const groupCount = packageCache.size === 0 ? 0 : new Set(collected.map((c) => c.entry.groupName)).size;
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-cli-firebase-api-manifest",
3
- "version": "13.42.0",
3
+ "version": "14.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "devDependencies": {
7
- "ts-morph": "^21.0.0"
7
+ "ts-morph": "^28.0.0"
8
8
  },
9
9
  "peerDependencies": {
10
- "@dereekb/dbx-cli": "13.42.0",
11
- "@dereekb/util": "13.42.0",
12
- "prettier": "3.8.3"
10
+ "@dereekb/dbx-cli": "14.0.0",
11
+ "@dereekb/util": "14.0.0",
12
+ "prettier": "3.9.6"
13
13
  }
14
14
  }
@@ -9,15 +9,15 @@ import { isAbsolute as isAbsolute2, relative as relative2, resolve as resolve3 }
9
9
  // packages/dbx-cli/firestore-query-manifest/package.json
10
10
  var package_default = {
11
11
  name: "@dereekb/dbx-cli-firestore-query-manifest",
12
- version: "13.42.0",
12
+ version: "14.0.0",
13
13
  private: true,
14
14
  type: "module",
15
15
  devDependencies: {
16
- eslint: "10.4.0"
16
+ eslint: "10.9.1"
17
17
  },
18
18
  peerDependencies: {
19
- "@dereekb/dbx-cli": "13.42.0",
20
- "@dereekb/util": "13.42.0"
19
+ "@dereekb/dbx-cli": "14.0.0",
20
+ "@dereekb/util": "14.0.0"
21
21
  }
22
22
  };
23
23
 
@@ -422,7 +422,7 @@ function bindQueryFactories(input) {
422
422
 
423
423
  // packages/dbx-cli/firestore-query-manifest/src/emit.ts
424
424
  async function renderQueryManifest(input) {
425
- const { outputFile, entries, projectName, namespace } = input;
425
+ const { outputFile, entries, projectName, namespace, generatorVersion } = input;
426
426
  const factoryImports = entries.filter((x) => x.bound).map((x) => ({ packageName: x.entry.module, identifier: x.entry.name }));
427
427
  const importLines = renderGroupedImportLines(factoryImports);
428
428
  const sorted = [...entries].sort((a, b) => compareStrings(a.entry.slug, b.entry.slug));
@@ -431,7 +431,9 @@ async function renderQueryManifest(input) {
431
431
  // Run \`npx nx run ${projectName}:generate-firestore-query-manifest\` to refresh.
432
432
 
433
433
  ${importLines.join("\n")}
434
- import { type CliFirestoreQueryManifest } from '@dereekb/dbx-cli';
434
+ import { type CliFirestoreQueryManifest, type CliGeneratedManifestStamp } from '@dereekb/dbx-cli';
435
+
436
+ export const ${namespace}_STAMP: CliGeneratedManifestStamp = { generatorVersion: ${JSON.stringify(generatorVersion)} };
435
437
 
436
438
  export const ${namespace}: CliFirestoreQueryManifest = [
437
439
  ${sorted.map((x) => renderEntry(x)).join(",\n")}
@@ -2245,7 +2247,7 @@ async function main() {
2245
2247
  for (const warning of queryModes.warnings) {
2246
2248
  console.warn(warning);
2247
2249
  }
2248
- const formatted = await renderQueryManifest({ outputFile, entries: queryModes.entries, projectName, namespace });
2250
+ const formatted = await renderQueryManifest({ outputFile, entries: queryModes.entries, projectName, namespace, generatorVersion: package_default.version });
2249
2251
  const relOutput = relative2(WORKSPACE_ROOT, outputFile);
2250
2252
  if (flags.check) {
2251
2253
  const current = existsSync3(outputFile) ? readFileSync3(outputFile, "utf8") : void 0;
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-cli-firestore-query-manifest",
3
- "version": "13.42.0",
3
+ "version": "14.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "devDependencies": {
7
- "eslint": "10.4.0"
7
+ "eslint": "10.9.1"
8
8
  },
9
9
  "peerDependencies": {
10
- "@dereekb/dbx-cli": "13.42.0",
11
- "@dereekb/util": "13.42.0"
10
+ "@dereekb/dbx-cli": "14.0.0",
11
+ "@dereekb/util": "14.0.0"
12
12
  }
13
13
  }
@@ -5,14 +5,14 @@ const require = __createRequire(import.meta.url);
5
5
  // packages/dbx-cli/generate-firestore-indexes/package.json
6
6
  var package_default = {
7
7
  name: "@dereekb/dbx-cli-generate-firestore-indexes",
8
- version: "13.42.0",
8
+ version: "14.0.0",
9
9
  private: true,
10
10
  type: "module",
11
11
  devDependencies: {
12
- eslint: "10.4.0"
12
+ eslint: "10.9.1"
13
13
  },
14
14
  peerDependencies: {
15
- "@dereekb/dbx-cli": "13.42.0"
15
+ "@dereekb/dbx-cli": "14.0.0"
16
16
  }
17
17
  };
18
18
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-cli-generate-firestore-indexes",
3
- "version": "13.42.0",
3
+ "version": "14.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "devDependencies": {
7
- "eslint": "10.4.0"
7
+ "eslint": "10.9.1"
8
8
  },
9
9
  "peerDependencies": {
10
- "@dereekb/dbx-cli": "13.42.0"
10
+ "@dereekb/dbx-cli": "14.0.0"
11
11
  }
12
12
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-cli-generate-mcp-manifest",
3
- "version": "13.42.0",
3
+ "version": "14.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "peerDependencies": {
7
- "@dereekb/dbx-cli": "13.42.0",
8
- "@dereekb/model": "13.42.0",
7
+ "@dereekb/dbx-cli": "14.0.0",
8
+ "@dereekb/model": "14.0.0",
9
9
  "arktype": "^2.2.0",
10
- "jiti": "2.6.1"
10
+ "jiti": "2.7.0"
11
11
  }
12
12
  }
@@ -1101,7 +1101,7 @@ async function maybeLoadModelTypes(modelsInput) {
1101
1101
  return extractModelTypesFromModelsInput(parsed);
1102
1102
  }
1103
1103
  function normalizeName(match) {
1104
- return match.split("\\").join("/");
1104
+ return match.replaceAll("\\", "/");
1105
1105
  }
1106
1106
  function describePatterns(patterns) {
1107
1107
  return patterns.map((pattern) => `\`${pattern}\``).join(", ");
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-cli-generate-route-manifest",
3
- "version": "13.42.0",
3
+ "version": "14.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "peerDependencies": {
7
- "@dereekb/dbx-cli": "13.42.0",
8
- "ts-morph": "^21.0.0"
7
+ "@dereekb/dbx-cli": "14.0.0",
8
+ "ts-morph": "^28.0.0"
9
9
  }
10
10
  }