@sqlanvil/cli 1.0.0 → 1.0.1

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 (2) hide show
  1. package/bundle.js +55 -34
  2. package/package.json +1 -1
package/bundle.js CHANGED
@@ -38006,7 +38006,7 @@ function collectEvaluationQueries(queryOrAction, concatenate, queryModifier = (q
38006
38006
  .filter(validationQuery => !!validationQuery.query);
38007
38007
  }
38008
38008
 
38009
- const version = "1.0.0";
38009
+ const version = "1.0.1";
38010
38010
  const dataformVersion = "3.0.59";
38011
38011
 
38012
38012
  async function build(compiledGraph, runConfig, dbadapter) {
@@ -38409,6 +38409,34 @@ async function init(projectDir, projectConfig) {
38409
38409
  };
38410
38410
  }
38411
38411
 
38412
+ function parseArgvFlags(argv) {
38413
+ const parsedArgv = {};
38414
+ const splitArgv = [];
38415
+ for (let arg of argv) {
38416
+ if (arg.startsWith("--no-")) {
38417
+ arg = `--${arg.slice(5)}=false`;
38418
+ }
38419
+ if (arg.startsWith("--") && arg.includes("=")) {
38420
+ splitArgv.push(arg.slice(0, arg.indexOf("=")));
38421
+ splitArgv.push(arg.slice(arg.indexOf("=") + 1));
38422
+ }
38423
+ else {
38424
+ splitArgv.push(arg);
38425
+ }
38426
+ }
38427
+ let currentFlagName = "";
38428
+ for (const splitArg of splitArgv) {
38429
+ if (splitArg.startsWith("--")) {
38430
+ currentFlagName = splitArg.slice(2);
38431
+ parsedArgv[currentFlagName] = "";
38432
+ }
38433
+ else if (currentFlagName) {
38434
+ parsedArgv[currentFlagName] = splitArg;
38435
+ currentFlagName = "";
38436
+ }
38437
+ }
38438
+ return parsedArgv;
38439
+ }
38412
38440
  class Flags {
38413
38441
  static boolean(name, defaultValue = false) {
38414
38442
  return new SingleValueFlag(name, defaultValue, (stringValue) => {
@@ -38443,39 +38471,7 @@ class Flags {
38443
38471
  return new Error(`Invalid flag value: ${Flags.getRawFlagValue(flagName)} [${flagName}]`);
38444
38472
  }
38445
38473
  }
38446
- Flags.parsedArgv = (() => {
38447
- const parsedArgv = {};
38448
- const splitArgv = [];
38449
- for (let arg of process.argv) {
38450
- if (arg.startsWith("--no-")) {
38451
- arg = `--${arg.slice(5)}=false`;
38452
- }
38453
- if (arg.startsWith("--") && arg.includes("=")) {
38454
- splitArgv.push(arg.slice(0, arg.indexOf("=")));
38455
- splitArgv.push(arg.slice(arg.indexOf("=") + 1));
38456
- }
38457
- else {
38458
- splitArgv.push(arg);
38459
- }
38460
- }
38461
- let flagsStarted = false;
38462
- let currentFlagName = "";
38463
- for (const splitArg of splitArgv) {
38464
- if (splitArg.startsWith("--")) {
38465
- flagsStarted = true;
38466
- currentFlagName = splitArg.slice(2);
38467
- parsedArgv[currentFlagName] = "";
38468
- }
38469
- else if (currentFlagName) {
38470
- parsedArgv[currentFlagName] = splitArg;
38471
- currentFlagName = "";
38472
- }
38473
- else if (flagsStarted) {
38474
- throw new Error(`Arg neither flag name nor flag value: ${splitArg}`);
38475
- }
38476
- }
38477
- return parsedArgv;
38478
- })();
38474
+ Flags.parsedArgv = parseArgvFlags(process.argv);
38479
38475
  class AbstractFlag {
38480
38476
  constructor(name, defaultValue) {
38481
38477
  this.name = name;
@@ -39467,6 +39463,15 @@ class PgPoolExecutor {
39467
39463
  console.error("pg.Pool idle client error", err.message, err.stack);
39468
39464
  });
39469
39465
  }
39466
+ async verifyConnection() {
39467
+ const client = await this.pool.connect();
39468
+ try {
39469
+ await client.query("select 1");
39470
+ }
39471
+ finally {
39472
+ client.release();
39473
+ }
39474
+ }
39470
39475
  async withClientLock(callback) {
39471
39476
  const client = await this.pool.connect();
39472
39477
  try {
@@ -39604,6 +39609,14 @@ class PostgresDbAdapter {
39604
39609
  : false
39605
39610
  };
39606
39611
  const queryExecutor = new PgPoolExecutor(clientConfig, options);
39612
+ try {
39613
+ await queryExecutor.verifyConnection();
39614
+ }
39615
+ catch (e) {
39616
+ await queryExecutor.close().catch(() => undefined);
39617
+ throw new ErrorWithCause(`Could not connect to Postgres at ${credentials.host}:${credentials.port} ` +
39618
+ `as "${credentials.user}": ${e.message}`, e);
39619
+ }
39607
39620
  return new PostgresDbAdapter(queryExecutor);
39608
39621
  }
39609
39622
  async execute(statement, options = { rowLimit: 1000, byteLimit: 1024 * 1024 }) {
@@ -39818,6 +39831,14 @@ class SupabaseDbAdapter extends PostgresDbAdapter {
39818
39831
  : false
39819
39832
  };
39820
39833
  const queryExecutor = new PgPoolExecutor(clientConfig, options);
39834
+ try {
39835
+ await queryExecutor.verifyConnection();
39836
+ }
39837
+ catch (e) {
39838
+ await queryExecutor.close().catch(() => undefined);
39839
+ throw new ErrorWithCause(`Could not connect to Supabase Postgres at ${credentials.host}:${credentials.port} ` +
39840
+ `as "${credentials.user}": ${e.message}`, e);
39841
+ }
39821
39842
  return new SupabaseDbAdapter(queryExecutor);
39822
39843
  }
39823
39844
  constructor(queryExecutor) {
package/package.json CHANGED
@@ -61,7 +61,7 @@
61
61
  "bin": {
62
62
  "sqlanvil": "bundle.js"
63
63
  },
64
- "version": "1.0.0",
64
+ "version": "1.0.1",
65
65
  "name": "@sqlanvil/cli",
66
66
  "description": "sqlanvil command line interface.",
67
67
  "main": "bundle.js"