This guide shows how to use FlowScope in a TypeScript project.
npm install @pondpilot/flowscope-core
# or
yarn add @pondpilot/flowscope-coreimport { initWasm, analyzeSql } from '@pondpilot/flowscope-core';
await initWasm();
const result = await analyzeSql({
sql: 'SELECT * FROM users JOIN orders ON users.id = orders.user_id',
dialect: 'postgres',
});
console.log('Statements:', result.statements.length);
console.log('Issues:', result.issues);const result = await analyzeSql({
sql: 'SELECT id, name FROM users',
dialect: 'postgres',
schema: {
defaultSchema: 'public',
tables: [
{
schema: 'public',
name: 'users',
columns: [{ name: 'id' }, { name: 'name' }, { name: 'email' }],
},
],
},
});if (result.summary.hasErrors) {
console.error('Analysis failed:', result.issues);
}
for (const stmt of result.statements) {
console.log(`Statement ${stmt.statementIndex}: ${stmt.statementType}`);
console.log('Edges:', stmt.edges.length);
}
console.log('Global nodes:', result.globalLineage.nodes.length);const result = await analyzeSql({
sql: 'SELECT * FROM users',
dialect: 'postgres',
options: { enableColumnLineage: false },
});generic,ansi,bigquery,clickhouse,databricks,duckdb,hivemssql,mysql,postgres,redshift,snowflake,sqlite