UNPKG

spanwright

Version:

CLI tool to generate Cloud Spanner E2E testing framework projects with Go database tools and Playwright browser automation

88 lines 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MESSAGES = exports.VALIDATION_PATTERNS = exports.VALIDATION = exports.TEMPLATE_VARS = exports.FILE_PATTERNS = exports.DEFAULTS = exports.ENV_VARS = exports.CLI_FLAGS = exports.GITHUB_URL = exports.APP_DESCRIPTION = exports.APP_NAME = void 0; // Application constants exports.APP_NAME = 'Spanwright'; exports.APP_DESCRIPTION = 'Cloud Spanner E2E Testing Framework Generator'; exports.GITHUB_URL = 'https://github.com/nu0ma/spanwright'; // CLI flags exports.CLI_FLAGS = { VERSION: ['--version', '-v'], HELP: ['--help', '-h'], NON_INTERACTIVE: '--non-interactive', }; // Environment variables exports.ENV_VARS = { CI: 'CI', NON_INTERACTIVE: 'SPANWRIGHT_NON_INTERACTIVE', DB_COUNT: 'SPANWRIGHT_DB_COUNT', PRIMARY_DB_NAME: 'SPANWRIGHT_PRIMARY_DB_NAME', PRIMARY_SCHEMA_PATH: 'SPANWRIGHT_PRIMARY_SCHEMA_PATH', SECONDARY_DB_NAME: 'SPANWRIGHT_SECONDARY_DB_NAME', SECONDARY_SCHEMA_PATH: 'SPANWRIGHT_SECONDARY_SCHEMA_PATH', }; // Default values exports.DEFAULTS = { DB_COUNT: '1', PRIMARY_DB_NAME: 'primary-db', PRIMARY_SCHEMA_PATH: './schema', SECONDARY_DB_NAME: 'secondary-db', SECONDARY_SCHEMA_PATH: './schema2', PROJECT_ID: 'test-project', INSTANCE_ID: 'test-instance', DOCKER_IMAGE: 'gcr.io/cloud-spanner-emulator/emulator', CONTAINER_NAME: 'spanner-emulator', SPANNER_PORT: '9010', ADMIN_PORT: '9020', STARTUP_WAIT: '20', }; // File patterns exports.FILE_PATTERNS = { GO_EXTENSION: '.go', PACKAGE_JSON_TEMPLATE: '_package.json', GITIGNORE_TEMPLATE: '_gitignore', GO_MOD_TEMPLATE: 'go.mod.template', PACKAGE_JSON: 'package.json', GITIGNORE: '.gitignore', GO_MOD: 'go.mod', ENV: '.env', }; // Template replacements exports.TEMPLATE_VARS = { PROJECT_NAME: 'PROJECT_NAME', }; // Validation patterns exports.VALIDATION = { DB_COUNTS: ['1', '2'], FLAG_PREFIX: '-', }; // Basic validation patterns exports.VALIDATION_PATTERNS = { PROJECT_NAME: /^[a-zA-Z][a-zA-Z0-9_-]*$/, DATABASE_NAME: /^[a-zA-Z][a-zA-Z0-9_-]*$/, SCHEMA_PATH: /^[a-zA-Z0-9_./\\-]+$/, GENERIC_IDENTIFIER: /^[a-zA-Z0-9_-]+$/, }; // Messages exports.MESSAGES = { ERRORS: { NO_PROJECT_NAME: '❌ Please specify a project name', DIRECTORY_EXISTS: (name) => `❌ Directory "${name}" already exists`, INVALID_DB_COUNT: '❌ Please enter 1 or 2', ENV_DB_COUNT_INVALID: '❌ SPANWRIGHT_DB_COUNT must be 1 or 2', }, INFO: { STARTING_SETUP: '🚀 Starting Spanner E2E Test Framework setup', CREATING_DIRECTORY: '📁 Creating project directory...', COPYING_TEMPLATES: '📦 Copying template files...', CONFIGURING_GO: '🔧 Configuring Go modules...', CREATING_ENV: '⚙️ Creating environment configuration file...', REMOVING_FILES: '🗑️ Removing unnecessary files (Single DB configuration)...', COMPLETED: '✅ Project creation completed!', }, USAGE: { BASIC: 'Usage: npx spanwright my-project', HELP_SUGGESTION: 'Try "spanwright --help" for more information.', }, }; //# sourceMappingURL=constants.js.map