UNPKG

nx-config2

Version:

Next-generation configuration management for Node.js - Zero dependencies, TypeScript-first, production-ready

47 lines 1.92 kB
"use strict"; /** * Constants and patterns for nx-config2 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.BUILTIN_FORMATS = exports.SECRET_FIELD_PATTERNS = exports.ENV_SIMPLE_TOKEN_WITH_TYPE = exports.ENV_SIMPLE_TOKEN_PATTERN = exports.ENV_TOKEN_WITH_TYPE = exports.ENV_TOKEN_PATTERN = void 0; // Patterns for multi-segment env file paths: ENV.TEST.VARIABLE, ENV.PROD.DATABASE.HOST exports.ENV_TOKEN_PATTERN = /^ENV\.([A-Za-z0-9_.]+)\.([A-Za-z0-9_]+)(?:\|\|(.+))?$/; exports.ENV_TOKEN_WITH_TYPE = /^ENV\.([A-Za-z0-9_.]+)\.([A-Za-z0-9_]+)(?::(\w+))?(?:\|\|(.+))?$/; // Patterns for simple env variables: ENV.VARIABLE (uses default .env file) exports.ENV_SIMPLE_TOKEN_PATTERN = /^ENV\.([A-Za-z0-9_]+)(?:\|\|(.+))?$/; exports.ENV_SIMPLE_TOKEN_WITH_TYPE = /^ENV\.([A-Za-z0-9_]+)(?::(\w+))?(?:\|\|(.+))?$/; exports.SECRET_FIELD_PATTERNS = [ /password/i, /secret/i, /key/i, /token/i, /credential/i, /auth/i, /api[_-]?key/i, /access[_-]?token/i, ]; exports.BUILTIN_FORMATS = { 'port': (val) => { const num = Number(val); return Number.isInteger(num) && num >= 0 && num <= 65535; }, 'nat': (val) => { const num = Number(val); return Number.isInteger(num) && num >= 0; }, 'int': (val) => { return Number.isInteger(Number(val)); }, 'ipaddress': (val) => { const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; const ipv6 = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2})$/; return ipv4.test(val) || ipv6.test(val); }, 'duration': (val) => { return /^\d+[smhdw]$/.test(val); }, 'timestamp': (val) => { return !isNaN(Date.parse(val)); }, }; //# sourceMappingURL=constants.js.map