@datachonk/cli 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 (86) hide show
  1. package/README.md +200 -0
  2. package/dist/__tests__/cache.test.d.ts +2 -0
  3. package/dist/__tests__/cache.test.d.ts.map +1 -0
  4. package/dist/__tests__/cache.test.js +40 -0
  5. package/dist/__tests__/cache.test.js.map +1 -0
  6. package/dist/__tests__/config.test.d.ts +2 -0
  7. package/dist/__tests__/config.test.d.ts.map +1 -0
  8. package/dist/__tests__/config.test.js +113 -0
  9. package/dist/__tests__/config.test.js.map +1 -0
  10. package/dist/__tests__/templates.test.d.ts +2 -0
  11. package/dist/__tests__/templates.test.d.ts.map +1 -0
  12. package/dist/__tests__/templates.test.js +51 -0
  13. package/dist/__tests__/templates.test.js.map +1 -0
  14. package/dist/commands/analyze.d.ts +10 -0
  15. package/dist/commands/analyze.d.ts.map +1 -0
  16. package/dist/commands/analyze.js +156 -0
  17. package/dist/commands/analyze.js.map +1 -0
  18. package/dist/commands/chat.d.ts +3 -0
  19. package/dist/commands/chat.d.ts.map +1 -0
  20. package/dist/commands/chat.js +121 -0
  21. package/dist/commands/chat.js.map +1 -0
  22. package/dist/commands/config.d.ts +2 -0
  23. package/dist/commands/config.d.ts.map +1 -0
  24. package/dist/commands/config.js +287 -0
  25. package/dist/commands/config.js.map +1 -0
  26. package/dist/commands/docs.d.ts +7 -0
  27. package/dist/commands/docs.d.ts.map +1 -0
  28. package/dist/commands/docs.js +208 -0
  29. package/dist/commands/docs.js.map +1 -0
  30. package/dist/commands/generate.d.ts +9 -0
  31. package/dist/commands/generate.d.ts.map +1 -0
  32. package/dist/commands/generate.js +130 -0
  33. package/dist/commands/generate.js.map +1 -0
  34. package/dist/commands/init.d.ts +7 -0
  35. package/dist/commands/init.d.ts.map +1 -0
  36. package/dist/commands/init.js +149 -0
  37. package/dist/commands/init.js.map +1 -0
  38. package/dist/commands/lineage.d.ts +9 -0
  39. package/dist/commands/lineage.d.ts.map +1 -0
  40. package/dist/commands/lineage.js +186 -0
  41. package/dist/commands/lineage.js.map +1 -0
  42. package/dist/commands/migrate.d.ts +3 -0
  43. package/dist/commands/migrate.d.ts.map +1 -0
  44. package/dist/commands/migrate.js +213 -0
  45. package/dist/commands/migrate.js.map +1 -0
  46. package/dist/commands/review.d.ts +8 -0
  47. package/dist/commands/review.d.ts.map +1 -0
  48. package/dist/commands/review.js +215 -0
  49. package/dist/commands/review.js.map +1 -0
  50. package/dist/commands/scan.d.ts +18 -0
  51. package/dist/commands/scan.d.ts.map +1 -0
  52. package/dist/commands/scan.js +335 -0
  53. package/dist/commands/scan.js.map +1 -0
  54. package/dist/commands/test.d.ts +3 -0
  55. package/dist/commands/test.d.ts.map +1 -0
  56. package/dist/commands/test.js +244 -0
  57. package/dist/commands/test.js.map +1 -0
  58. package/dist/index.d.ts +3 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +232 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/utils/analyzer.d.ts +39 -0
  63. package/dist/utils/analyzer.d.ts.map +1 -0
  64. package/dist/utils/analyzer.js +310 -0
  65. package/dist/utils/analyzer.js.map +1 -0
  66. package/dist/utils/cache.d.ts +98 -0
  67. package/dist/utils/cache.d.ts.map +1 -0
  68. package/dist/utils/cache.js +253 -0
  69. package/dist/utils/cache.js.map +1 -0
  70. package/dist/utils/config.d.ts +56 -0
  71. package/dist/utils/config.d.ts.map +1 -0
  72. package/dist/utils/config.js +108 -0
  73. package/dist/utils/config.js.map +1 -0
  74. package/dist/utils/generators.d.ts +8 -0
  75. package/dist/utils/generators.d.ts.map +1 -0
  76. package/dist/utils/generators.js +265 -0
  77. package/dist/utils/generators.js.map +1 -0
  78. package/dist/utils/plugins.d.ts +94 -0
  79. package/dist/utils/plugins.d.ts.map +1 -0
  80. package/dist/utils/plugins.js +164 -0
  81. package/dist/utils/plugins.js.map +1 -0
  82. package/dist/utils/templates.d.ts +57 -0
  83. package/dist/utils/templates.d.ts.map +1 -0
  84. package/dist/utils/templates.js +458 -0
  85. package/dist/utils/templates.js.map +1 -0
  86. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ interface GenerateOptions {
2
+ name?: string;
3
+ source?: string;
4
+ output?: string;
5
+ dryRun?: boolean;
6
+ }
7
+ export declare function generateCommand(type: string, options: GenerateOptions): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AASA,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CA4If"}
@@ -0,0 +1,130 @@
1
+ import chalk from "chalk";
2
+ import ora from "ora";
3
+ import inquirer from "inquirer";
4
+ import { writeFileSync, existsSync, mkdirSync } from "fs";
5
+ import { dirname } from "path";
6
+ import { format } from "sql-formatter";
7
+ import { loadConfig } from "../utils/config.js";
8
+ import { generateStagingModel, generateIntermediateModel, generateMartModel, generateSnapshot, generateSourceYaml, generateTests, generateDocs } from "../utils/generators.js";
9
+ export async function generateCommand(type, options) {
10
+ const spinner = ora("Preparing generator...").start();
11
+ try {
12
+ const config = loadConfig(".");
13
+ spinner.stop();
14
+ // Prompt for missing required options
15
+ const answers = await inquirer.prompt([
16
+ {
17
+ type: "input",
18
+ name: "name",
19
+ message: "Model name:",
20
+ when: !options.name,
21
+ validate: (input) => input.length > 0 || "Name is required",
22
+ },
23
+ {
24
+ type: "input",
25
+ name: "source",
26
+ message: "Source table/model (e.g., raw.stripe.payments):",
27
+ when: !options.source && ["staging", "intermediate", "snapshot"].includes(type),
28
+ validate: (input) => input.length > 0 || "Source is required",
29
+ },
30
+ ]);
31
+ const name = options.name || answers.name;
32
+ const source = options.source || answers.source;
33
+ spinner.start("Generating code...");
34
+ let code;
35
+ let filePath;
36
+ let schemaYaml = null;
37
+ switch (type) {
38
+ case "staging":
39
+ case "stg":
40
+ code = generateStagingModel(name, source, config.warehouse);
41
+ filePath = options.output || `models/staging/stg_${name}.sql`;
42
+ schemaYaml = generateDocs(`stg_${name}`, "staging", source);
43
+ break;
44
+ case "intermediate":
45
+ case "int":
46
+ code = generateIntermediateModel(name, source, config.warehouse);
47
+ filePath = options.output || `models/intermediate/int_${name}.sql`;
48
+ schemaYaml = generateDocs(`int_${name}`, "intermediate", source);
49
+ break;
50
+ case "mart":
51
+ case "fct":
52
+ case "dim":
53
+ const martType = type === "dim" ? "dimension" : "fact";
54
+ code = generateMartModel(name, source, martType, config.warehouse);
55
+ filePath = options.output || `models/marts/${type}_${name}.sql`;
56
+ schemaYaml = generateDocs(`${type}_${name}`, "mart", source);
57
+ break;
58
+ case "snapshot":
59
+ code = generateSnapshot(name, source, config.warehouse);
60
+ filePath = options.output || `snapshots/${name}_snapshot.sql`;
61
+ break;
62
+ case "source":
63
+ code = generateSourceYaml(name, source);
64
+ filePath = options.output || `models/staging/_${name}__sources.yml`;
65
+ break;
66
+ case "test":
67
+ code = generateTests(name, source);
68
+ filePath = options.output || `tests/${name}_test.sql`;
69
+ break;
70
+ case "docs":
71
+ code = generateDocs(name, "unknown", source);
72
+ filePath = options.output || `models/${name}.yml`;
73
+ break;
74
+ default:
75
+ spinner.fail(`Unknown type: ${type}`);
76
+ console.log(chalk.gray("Valid types: staging, intermediate, mart, fct, dim, snapshot, source, test, docs"));
77
+ process.exit(1);
78
+ }
79
+ // Format SQL
80
+ if (filePath.endsWith(".sql")) {
81
+ try {
82
+ code = format(code, {
83
+ language: config.warehouse === "bigquery" ? "bigquery" : "sql",
84
+ keywordCase: "lower",
85
+ identifierCase: "preserve",
86
+ dataTypeCase: "lower",
87
+ functionCase: "lower",
88
+ });
89
+ }
90
+ catch {
91
+ // Keep unformatted if formatter fails
92
+ }
93
+ }
94
+ spinner.succeed("Code generated");
95
+ if (options.dryRun) {
96
+ console.log(chalk.bold(`\n📄 ${filePath}`));
97
+ console.log(chalk.gray("─".repeat(50)));
98
+ console.log(code);
99
+ if (schemaYaml) {
100
+ const yamlPath = filePath.replace(".sql", ".yml");
101
+ console.log(chalk.bold(`\n📄 ${yamlPath}`));
102
+ console.log(chalk.gray("─".repeat(50)));
103
+ console.log(schemaYaml);
104
+ }
105
+ return;
106
+ }
107
+ // Write files
108
+ const dir = dirname(filePath);
109
+ if (!existsSync(dir)) {
110
+ mkdirSync(dir, { recursive: true });
111
+ }
112
+ writeFileSync(filePath, code);
113
+ console.log(chalk.green(`✓ Created ${filePath}`));
114
+ if (schemaYaml) {
115
+ const yamlPath = filePath.replace(".sql", ".yml");
116
+ writeFileSync(yamlPath, schemaYaml);
117
+ console.log(chalk.green(`✓ Created ${yamlPath}`));
118
+ }
119
+ console.log(chalk.gray("\nNext steps:"));
120
+ console.log(chalk.gray(" 1. Review and customize the generated code"));
121
+ console.log(chalk.gray(" 2. Run: dbt run --select " + name));
122
+ console.log(chalk.gray(" 3. Run: dbt test --select " + name));
123
+ }
124
+ catch (error) {
125
+ spinner.fail("Generation failed");
126
+ console.error(chalk.red(error instanceof Error ? error.message : "Unknown error"));
127
+ process.exit(1);
128
+ }
129
+ }
130
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface InitOptions {
2
+ warehouse?: string;
3
+ apiKey?: string;
4
+ }
5
+ export declare function initCommand(options: InitOptions): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJrE"}
@@ -0,0 +1,149 @@
1
+ import chalk from "chalk";
2
+ import inquirer from "inquirer";
3
+ import { writeFileSync, existsSync, readFileSync } from "fs";
4
+ import { join } from "path";
5
+ import yaml from "js-yaml";
6
+ export async function initCommand(options) {
7
+ console.log(chalk.hex("#E8A54B").bold("\n Welcome to DataChonk! 🐕\n"));
8
+ // Check if we're in a dbt project
9
+ const dbtProjectPath = join(process.cwd(), "dbt_project.yml");
10
+ const isDbTProject = existsSync(dbtProjectPath);
11
+ if (!isDbTProject) {
12
+ console.log(chalk.yellow("⚠ No dbt_project.yml found. Are you in a dbt project directory?"));
13
+ const { proceed } = await inquirer.prompt([
14
+ {
15
+ type: "confirm",
16
+ name: "proceed",
17
+ message: "Continue anyway?",
18
+ default: false,
19
+ },
20
+ ]);
21
+ if (!proceed) {
22
+ process.exit(0);
23
+ }
24
+ }
25
+ // Read existing dbt_project.yml to detect warehouse
26
+ let detectedWarehouse;
27
+ if (isDbTProject) {
28
+ try {
29
+ const dbtProject = yaml.load(readFileSync(dbtProjectPath, "utf-8"));
30
+ const profile = dbtProject.profile;
31
+ console.log(chalk.gray(`Detected dbt project: ${dbtProject.name}`));
32
+ console.log(chalk.gray(`Profile: ${profile}`));
33
+ }
34
+ catch {
35
+ // Ignore
36
+ }
37
+ }
38
+ // Prompt for configuration
39
+ const answers = await inquirer.prompt([
40
+ {
41
+ type: "list",
42
+ name: "warehouse",
43
+ message: "What data warehouse are you using?",
44
+ choices: [
45
+ { name: "Snowflake", value: "snowflake" },
46
+ { name: "BigQuery", value: "bigquery" },
47
+ { name: "Redshift", value: "redshift" },
48
+ { name: "Databricks", value: "databricks" },
49
+ { name: "PostgreSQL", value: "postgres" },
50
+ { name: "DuckDB", value: "duckdb" },
51
+ ],
52
+ when: !options.warehouse,
53
+ default: detectedWarehouse,
54
+ },
55
+ {
56
+ type: "list",
57
+ name: "modelingApproach",
58
+ message: "What data modeling approach do you prefer?",
59
+ choices: [
60
+ { name: "Kimball (facts + dimensions)", value: "kimball" },
61
+ { name: "Data Vault 2.0", value: "data_vault" },
62
+ { name: "One Big Table (OBT)", value: "obt" },
63
+ { name: "Activity Schema", value: "activity_schema" },
64
+ { name: "Mixed / Not sure", value: "mixed" },
65
+ ],
66
+ },
67
+ {
68
+ type: "checkbox",
69
+ name: "conventions",
70
+ message: "Select your naming conventions:",
71
+ choices: [
72
+ { name: "stg_ prefix for staging models", value: "stg_prefix", checked: true },
73
+ { name: "int_ prefix for intermediate models", value: "int_prefix", checked: true },
74
+ { name: "fct_ prefix for fact tables", value: "fct_prefix", checked: true },
75
+ { name: "dim_ prefix for dimension tables", value: "dim_prefix", checked: true },
76
+ { name: "snake_case for all names", value: "snake_case", checked: true },
77
+ ],
78
+ },
79
+ {
80
+ type: "confirm",
81
+ name: "enableAI",
82
+ message: "Enable AI-powered features? (requires API key)",
83
+ default: true,
84
+ },
85
+ {
86
+ type: "input",
87
+ name: "apiKey",
88
+ message: "Enter your DataChonk API key (or leave blank to set later):",
89
+ when: (answers) => answers.enableAI && !options.apiKey,
90
+ },
91
+ ]);
92
+ const config = {
93
+ version: 1,
94
+ warehouse: options.warehouse || answers.warehouse,
95
+ modeling: {
96
+ approach: answers.modelingApproach,
97
+ conventions: answers.conventions,
98
+ },
99
+ ai: {
100
+ enabled: answers.enableAI,
101
+ apiKey: options.apiKey || answers.apiKey || null,
102
+ },
103
+ analysis: {
104
+ ignorePaths: ["target/**", "dbt_packages/**", "logs/**"],
105
+ ignoreRules: [],
106
+ },
107
+ generation: {
108
+ defaultMaterialization: "view",
109
+ addDescriptions: true,
110
+ addTests: true,
111
+ },
112
+ };
113
+ // Write config file
114
+ const configPath = join(process.cwd(), ".datachonk.yml");
115
+ writeFileSync(configPath, yaml.dump(config, { indent: 2 }));
116
+ console.log(chalk.green(`\n✓ Created ${configPath}`));
117
+ // Create .datachonkignore if it doesn't exist
118
+ const ignorePath = join(process.cwd(), ".datachonkignore");
119
+ if (!existsSync(ignorePath)) {
120
+ writeFileSync(ignorePath, `# DataChonk ignore file
121
+ # Add patterns for files to exclude from analysis
122
+
123
+ target/
124
+ dbt_packages/
125
+ logs/
126
+ *.tmp
127
+ `);
128
+ console.log(chalk.green(`✓ Created ${ignorePath}`));
129
+ }
130
+ // Add to .gitignore if exists
131
+ const gitignorePath = join(process.cwd(), ".gitignore");
132
+ if (existsSync(gitignorePath)) {
133
+ const gitignore = readFileSync(gitignorePath, "utf-8");
134
+ if (!gitignore.includes(".datachonk.yml")) {
135
+ // Don't add to gitignore - config should be tracked
136
+ }
137
+ }
138
+ console.log(chalk.bold("\n🎉 DataChonk initialized!\n"));
139
+ console.log(chalk.gray("Next steps:"));
140
+ console.log(chalk.gray(" 1. Run 'datachonk analyze' to check your project"));
141
+ console.log(chalk.gray(" 2. Run 'datachonk generate staging' to create a new model"));
142
+ console.log(chalk.gray(" 3. Run 'datachonk review' before committing changes"));
143
+ if (!config.ai.apiKey && config.ai.enabled) {
144
+ console.log(chalk.yellow("\n⚠ AI features require an API key."));
145
+ console.log(chalk.gray(" Get one at: https://datachonk.com/api-keys"));
146
+ console.log(chalk.gray(" Then run: datachonk config set ai.apiKey YOUR_KEY"));
147
+ }
148
+ }
149
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ interface LineageOptions {
2
+ upstream?: boolean;
3
+ downstream?: boolean;
4
+ depth?: string;
5
+ json?: boolean;
6
+ }
7
+ export declare function lineageCommand(model: string | undefined, options: LineageOptions): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=lineage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineage.d.ts","sourceRoot":"","sources":["../../src/commands/lineage.ts"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAUD,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAwJf"}
@@ -0,0 +1,186 @@
1
+ import chalk from "chalk";
2
+ import ora from "ora";
3
+ import { glob } from "glob";
4
+ import { readFileSync } from "fs";
5
+ import { basename } from "path";
6
+ import { loadConfig } from "../utils/config.js";
7
+ export async function lineageCommand(model, options) {
8
+ const spinner = ora("Building lineage graph...").start();
9
+ try {
10
+ const config = loadConfig(".");
11
+ const maxDepth = parseInt(options.depth || "10", 10);
12
+ // Build lineage graph from all SQL files
13
+ const files = await glob("**/*.sql", {
14
+ cwd: ".",
15
+ ignore: ["**/target/**", "**/dbt_packages/**", "**/node_modules/**"],
16
+ });
17
+ const nodes = new Map();
18
+ // First pass: extract all refs and sources
19
+ for (const file of files) {
20
+ const content = readFileSync(file, "utf-8");
21
+ const name = basename(file, ".sql");
22
+ // Determine type
23
+ let type = "model";
24
+ if (file.includes("snapshot"))
25
+ type = "snapshot";
26
+ if (file.includes("seed"))
27
+ type = "seed";
28
+ // Extract refs
29
+ const refs = [];
30
+ const refMatches = content.matchAll(/\{\{\s*ref\(['"]([^'"]+)['"]\)\s*\}\}/g);
31
+ for (const match of refMatches) {
32
+ refs.push(match[1]);
33
+ }
34
+ // Extract sources
35
+ const sources = [];
36
+ const sourceMatches = content.matchAll(/\{\{\s*source\(['"]([^'"]+)['"],\s*['"]([^'"]+)['"]\)\s*\}\}/g);
37
+ for (const match of sourceMatches) {
38
+ sources.push(`source:${match[1]}.${match[2]}`);
39
+ }
40
+ nodes.set(name, {
41
+ name,
42
+ type,
43
+ upstream: [...refs, ...sources],
44
+ downstream: [],
45
+ path: file,
46
+ });
47
+ }
48
+ // Second pass: build downstream relationships
49
+ for (const [name, node] of nodes) {
50
+ for (const upstream of node.upstream) {
51
+ if (upstream.startsWith("source:"))
52
+ continue;
53
+ const upstreamNode = nodes.get(upstream);
54
+ if (upstreamNode) {
55
+ upstreamNode.downstream.push(name);
56
+ }
57
+ }
58
+ }
59
+ spinner.succeed("Lineage graph built");
60
+ // If no model specified, show overview
61
+ if (!model) {
62
+ if (options.json) {
63
+ console.log(JSON.stringify(Object.fromEntries(nodes), null, 2));
64
+ return;
65
+ }
66
+ console.log(chalk.bold("\nLineage Overview"));
67
+ console.log(chalk.gray("─".repeat(50)));
68
+ // Find root models (no upstream except sources)
69
+ const roots = Array.from(nodes.values()).filter(n => n.upstream.every(u => u.startsWith("source:")));
70
+ // Find leaf models (no downstream)
71
+ const leaves = Array.from(nodes.values()).filter(n => n.downstream.length === 0);
72
+ // Find most connected models
73
+ const byConnections = Array.from(nodes.values())
74
+ .map(n => ({ name: n.name, connections: n.upstream.length + n.downstream.length }))
75
+ .sort((a, b) => b.connections - a.connections)
76
+ .slice(0, 5);
77
+ console.log(`\nTotal models: ${nodes.size}`);
78
+ console.log(`Root models (source-only): ${roots.length}`);
79
+ console.log(`Leaf models (endpoints): ${leaves.length}`);
80
+ console.log(chalk.bold("\nMost connected models:"));
81
+ for (const m of byConnections) {
82
+ console.log(` ${m.name}: ${m.connections} connections`);
83
+ }
84
+ console.log(chalk.gray("\nTip: Run 'datachonk lineage <model>' to see specific model lineage"));
85
+ return;
86
+ }
87
+ // Show lineage for specific model
88
+ const targetNode = nodes.get(model);
89
+ if (!targetNode) {
90
+ console.log(chalk.red(`Model '${model}' not found`));
91
+ process.exit(1);
92
+ }
93
+ if (options.json) {
94
+ const result = {
95
+ model: targetNode.name,
96
+ upstream: options.downstream ? [] : collectLineage(nodes, model, "upstream", maxDepth),
97
+ downstream: options.upstream ? [] : collectLineage(nodes, model, "downstream", maxDepth),
98
+ };
99
+ console.log(JSON.stringify(result, null, 2));
100
+ return;
101
+ }
102
+ // Print tree visualization
103
+ console.log(chalk.bold(`\nLineage for ${chalk.cyan(model)}`));
104
+ console.log(chalk.gray("─".repeat(50)));
105
+ if (!options.downstream) {
106
+ console.log(chalk.bold("\n⬆ Upstream:"));
107
+ printLineageTree(nodes, model, "upstream", maxDepth);
108
+ }
109
+ console.log(chalk.cyan.bold(`\n● ${model}`));
110
+ if (!options.upstream) {
111
+ console.log(chalk.bold("\n⬇ Downstream:"));
112
+ printLineageTree(nodes, model, "downstream", maxDepth);
113
+ }
114
+ // Impact assessment
115
+ const downstreamCount = collectLineage(nodes, model, "downstream", maxDepth).length;
116
+ console.log(chalk.bold("\nImpact Assessment:"));
117
+ if (downstreamCount === 0) {
118
+ console.log(chalk.green(" ✓ No downstream dependencies - safe to modify"));
119
+ }
120
+ else if (downstreamCount <= 3) {
121
+ console.log(chalk.green(` ✓ Low impact - ${downstreamCount} downstream model(s)`));
122
+ }
123
+ else if (downstreamCount <= 10) {
124
+ console.log(chalk.yellow(` ⚠ Medium impact - ${downstreamCount} downstream models`));
125
+ }
126
+ else {
127
+ console.log(chalk.red(` ⚠ High impact - ${downstreamCount} downstream models`));
128
+ console.log(chalk.gray(" Consider using model versions for breaking changes"));
129
+ }
130
+ }
131
+ catch (error) {
132
+ spinner.fail("Lineage analysis failed");
133
+ console.error(chalk.red(error instanceof Error ? error.message : "Unknown error"));
134
+ process.exit(1);
135
+ }
136
+ }
137
+ function collectLineage(nodes, model, direction, maxDepth, visited = new Set()) {
138
+ if (maxDepth === 0 || visited.has(model))
139
+ return [];
140
+ visited.add(model);
141
+ const node = nodes.get(model);
142
+ if (!node)
143
+ return [];
144
+ const deps = direction === "upstream" ? node.upstream : node.downstream;
145
+ const result = [];
146
+ for (const dep of deps) {
147
+ if (dep.startsWith("source:")) {
148
+ result.push(dep);
149
+ }
150
+ else {
151
+ result.push(dep);
152
+ result.push(...collectLineage(nodes, dep, direction, maxDepth - 1, visited));
153
+ }
154
+ }
155
+ return [...new Set(result)];
156
+ }
157
+ function printLineageTree(nodes, model, direction, maxDepth, prefix = "", visited = new Set()) {
158
+ if (maxDepth === 0 || visited.has(model))
159
+ return;
160
+ visited.add(model);
161
+ const node = nodes.get(model);
162
+ if (!node)
163
+ return;
164
+ const deps = direction === "upstream" ? node.upstream : node.downstream;
165
+ for (let i = 0; i < deps.length; i++) {
166
+ const dep = deps[i];
167
+ const isLast = i === deps.length - 1;
168
+ const connector = isLast ? "└─" : "├─";
169
+ const childPrefix = isLast ? " " : "│ ";
170
+ if (dep.startsWith("source:")) {
171
+ console.log(chalk.gray(`${prefix}${connector} ${dep}`));
172
+ }
173
+ else {
174
+ const depNode = nodes.get(dep);
175
+ const typeColor = dep.startsWith("stg_") ? chalk.cyan :
176
+ dep.startsWith("int_") ? chalk.blue :
177
+ dep.startsWith("fct_") || dep.startsWith("dim_") ? chalk.green :
178
+ chalk.white;
179
+ console.log(`${prefix}${connector} ${typeColor(dep)}`);
180
+ if (depNode && !visited.has(dep)) {
181
+ printLineageTree(nodes, dep, direction, maxDepth - 1, prefix + childPrefix, visited);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ //# sourceMappingURL=lineage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineage.js","sourceRoot":"","sources":["../../src/commands/lineage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const migrateCommand: Command;
3
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqEpC,eAAO,MAAM,cAAc,SAwFvB,CAAC"}