@configu/sdk
Version:
Configu TypeScript SDK
1 lines • 78.9 kB
Source Map (JSON)
{"version":3,"sources":["../src/ConfigKey.ts","../src/expressions/JSONSchema.ts","../src/Cfgu.ts","../src/expressions/Assertion.ts","../src/ConfigExpression.ts","../src/ConfigValue.ts","../src/ConfigSchema.ts","../src/ConfigSet.ts","../src/ConfigStore.ts","../src/stores/Noop.ts","../src/stores/InMemory.ts","../package.json","../src/ConfigCommand.ts","../src/commands/EvalCommand.ts","../src/commands/UpsertCommand.ts","../src/commands/ExportCommand.ts"],"names":["_","addFormats","Ajv","AggregateAjvError","chai","JestExtend","JestChaiExpect","Subset","JestAsymmetricMatchers","matchers","validator","z","assert","expect","should","acorn","walk","EvaluatedConfigOrigin","ConfigDiffAction"],"mappings":"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","file":"index.cjs","sourcesContent":["import _ from 'lodash';\n\nexport class ConfigKey {\n static readonly pattern = '^[A-Za-z0-9_-]+$';\n static readonly reserved = [\n '_',\n '-',\n '$',\n 'this',\n 'Cfgu',\n 'ConfigStore',\n 'ConfigSet',\n 'ConfigKey',\n 'Key',\n 'ConfigValue',\n 'Value',\n 'ConfigSchema',\n 'Configu',\n ];\n\n private static readonly normalizedReserved = ConfigKey.reserved.map(ConfigKey.normalize);\n\n static normalize(key: string) {\n // flatCase - flatten and lowercase\n return _.camelCase(key).toLowerCase();\n // return _.chain(key).camelCase().kebabCase().value();\n }\n\n static validate({ key, errorPrefix = 'ConfigKey' }: { key: string; errorPrefix?: string }) {\n try {\n const isValid =\n RegExp(ConfigKey.pattern).test(key) && !ConfigKey.normalizedReserved.includes(ConfigKey.normalize(key));\n if (!isValid) {\n throw new Error();\n }\n } catch (error) {\n throw new Error(\n `${errorPrefix} \"${key}\" must match ${ConfigKey.pattern} and not be one of ${ConfigKey.reserved.join(', ')}`,\n );\n }\n }\n}\n","import _ from 'lodash';\nimport Ajv, { ErrorObject } from 'ajv';\nimport addFormats from 'ajv-formats';\n// https://npmtrends.com/@apideck/better-ajv-errors-vs-@readme/better-ajv-errors-vs-@segment/ajv-human-errors-vs-@stoplight/better-ajv-errors-vs-ajv-error-messages-vs-ajv-errors-vs-better-ajv-errors\nimport { AggregateAjvError } from '@segment/ajv-human-errors';\nimport type { FromSchema, JSONSchema as JSONSchemaObject } from 'json-schema-to-ts';\n\nexport { JSONSchemaObject, FromSchema };\n\nexport class JSONSchema {\n private static ajv = addFormats(\n new Ajv({ allErrors: true, verbose: true, allowUnionTypes: true, useDefaults: 'empty' }),\n );\n\n static validate(schema: JSONSchemaObject, data: unknown) {\n const isValid = JSONSchema.ajv.validate(schema, data);\n if (!isValid) {\n const errors = new AggregateAjvError(JSONSchema.ajv.errors as ErrorObject[]);\n throw new Error(errors.message);\n }\n }\n\n static AnyPropertySchema = {\n type: ['string', 'number', 'boolean', 'object', 'array'],\n oneOf: [{ type: 'string' }, { type: 'number' }, { type: 'boolean' }, { type: 'object' }, { type: 'array' }],\n } as const satisfies JSONSchemaObject;\n\n static AnyArrayPropertySchema = {\n type: 'array',\n uniqueItems: true,\n items: JSONSchema.AnyPropertySchema,\n } as const satisfies JSONSchemaObject;\n\n static createPropertyExclusiveSchema({\n property,\n exclusive,\n }: {\n property: string;\n exclusive: string[];\n }): JSONSchemaObject {\n return {\n if: {\n required: [property],\n },\n then: {\n properties: {\n ..._.chain(exclusive)\n .keyBy()\n .mapValues(() => false)\n .value(),\n },\n },\n };\n }\n}\n","import { type ExpressionString } from './ConfigExpression';\nimport { JSONSchema, JSONSchemaObject, FromSchema } from './expressions/JSONSchema';\n\n// todo: migrate descriptions to new Cfgu type\n/**\n * A generic declaration of a `Config`, using constraints and metadata.\n * @see {@link https://configu.com/docs/cfgu/}\n */\nexport interface ICfgu {\n /**\n * @default ''\n * @usage export - display\n * A human-readable description of a `Config`.\n * @example `The number of items to display per page.`\n */\n description?: string;\n\n /**\n * @default []\n * @usage export - filter | group | sort | display\n * A human-readable label of a `Config`.\n */\n label?: string | string[];\n\n /**\n * @default false\n * @usage export - filter\n */\n hidden?: boolean;\n\n /**\n * @default false\n * @usage upsert - validate, eval - override\n * @exclusive const, default\n */\n lazy?: boolean;\n\n /**\n * @default undefined\n * @replaces template\n * @usage upsert - validate, eval - const\n * @exclusive lazy, default, required\n * @resolves string\n */\n const?: ExpressionString;\n\n /**\n * @default undefined\n * @usage eval - default\n * @exclusive lazy, const, required\n */\n default?: any;\n\n // todo: add ticket to support expression in required\n /**\n * @default false\n * @usage eval - validate\n * @exclusive const, default\n */\n required?: boolean; // | ExpressionString;\n\n // todo: add ticket to remake the depends property\n // depends: ExpressionString | ExpressionString[];\n\n // todo:? add ticket for type cfgu property\n // /**\n // * @default 'string'\n // * @usage upsert - validate, eval - parse & validate, export - parse\n // * @exclusive\n // */\n // type?: CfguType;\n\n /**\n * @default undefined\n * @usage upsert - validate, eval - validate\n */\n pattern?: string;\n\n /**\n * @default undefined\n * @replaces options\n * @usage upsert - validate, eval - validate\n */\n enum?: any[];\n\n /**\n * @default undefined\n * @usage upsert - validate, eval - validate\n */\n schema?: JSONSchemaObject;\n\n /**\n * @default undefined\n * @usage upsert - validate, eval - validate\n * Use this property to validate a `ConfigValue`.\n * This property receives a string or an array of strings representing an expression that evaluates to a boolean.\n * If an array is provided, all expressions must evaluate to `true` for the value to be considered valid.\n * @example `isEmail` or `['isNumeric', 'isDivisibleBy(10)']`\n * @resolves boolean\n */\n test?: ExpressionString | ExpressionString[];\n}\n\n// build-time validation\nconst CfguStringProperty = {\n type: 'string',\n minLength: 1,\n} as const satisfies JSONSchemaObject;\nconst CfguBooleanProperty = {\n type: 'boolean',\n} as const satisfies JSONSchemaObject;\nconst CfguStringOrBooleanProperty = {\n type: ['string', 'boolean'],\n oneOf: [CfguStringProperty, CfguBooleanProperty],\n};\nconst CfguObjectProperty = {\n type: 'object',\n minProperties: 1,\n} as const satisfies JSONSchemaObject;\nconst CfguStringArrayProperty = {\n type: 'array',\n minItems: 1,\n uniqueItems: true,\n items: CfguStringProperty,\n} as const satisfies JSONSchemaObject;\nconst CfguStringOrStringArrayProperty = {\n type: ['string', 'array'],\n oneOf: [CfguStringProperty, CfguStringArrayProperty],\n} as const satisfies JSONSchemaObject;\n\nexport const CfguSchema = {\n type: 'object',\n required: [],\n additionalProperties: false,\n nullable: true,\n properties: {\n description: CfguStringProperty,\n label: CfguStringOrStringArrayProperty,\n hidden: CfguBooleanProperty,\n lazy: CfguBooleanProperty,\n const: CfguStringProperty,\n default: JSONSchema.AnyPropertySchema,\n required: CfguBooleanProperty,\n pattern: CfguStringProperty,\n enum: JSONSchema.AnyArrayPropertySchema,\n schema: CfguObjectProperty,\n test: CfguStringOrStringArrayProperty,\n },\n allOf: [\n JSONSchema.createPropertyExclusiveSchema({\n property: 'lazy',\n exclusive: ['const', 'default'],\n }),\n JSONSchema.createPropertyExclusiveSchema({\n property: 'const',\n // todo: consider if its a stupid but valid pair with required\n // exclusive: ['lazy', 'default']\n exclusive: ['lazy', 'default', 'required'],\n }),\n JSONSchema.createPropertyExclusiveSchema({\n property: 'default',\n exclusive: ['lazy', 'const', 'required'],\n }),\n JSONSchema.createPropertyExclusiveSchema({\n property: 'required',\n exclusive: ['const', 'default'],\n }),\n ],\n} as const satisfies JSONSchemaObject;\n\nexport type Cfgu = FromSchema<typeof CfguSchema>;\n","// Vitest Source:\n// https://github.com/vitest-dev/vitest/tree/main/packages/expect\n// https://github.com/vitest-dev/vitest/blob/main/packages/vitest/src/integrations/chai/setup.ts\n// https://github.com/vitest-dev/vitest/blob/main/packages/vitest/src/integrations/chai/index.ts\nimport * as chai from 'chai';\nimport Subset from 'chai-subset';\nimport { JestAsymmetricMatchers, JestChaiExpect, JestExtend } from '@vitest/expect';\nimport * as matchers from 'jest-extended';\n\nchai.use(JestExtend);\nchai.use(JestChaiExpect);\nchai.use(Subset);\nchai.use(JestAsymmetricMatchers);\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error untyped\nchai.expect.extend(chai.expect, matchers);\n\n// API:\n// https://vitest.dev/guide/features.html#chai-and-jest-expect-compatibility\n// https://www.chaijs.com/api/\n// https://jestjs.io/docs/expect\n// https://jest-extended.jestcommunity.dev/docs/matchers\nexport { assert } from 'chai'; // tdd\nexport { expect, should } from 'chai'; // bdd\n","import * as acorn from 'acorn';\nimport * as walk from 'acorn-walk';\nimport 'ses';\n\nimport { _ } from './expressions/Utils';\nimport { validator, JSONSchema, z } from './expressions/Validators';\nimport { assert, expect, should } from './expressions/Assertion';\n\nexport type ExpressionString = string;\n\nexport class ConfigExpression {\n private static globals = new Map<string, unknown>();\n private static suffix = 'Expression';\n private static marker = { start: '${', end: '}' };\n private static delimiters = [\n { start: '{{', end: '}}' },\n { start: '<%', end: '%>' },\n ];\n\n static {\n // todo: finalize lockdown call with proper error handling\n // lockdown({ consoleTaming: 'unsafe', errorTaming: 'unsafe', errorTrapping: 'none', stackFiltering: 'verbose' });\n\n // register built-in globals\n ConfigExpression.register('_', _);\n ConfigExpression.register('validator', validator);\n ConfigExpression.register('JSONSchema', JSONSchema);\n ConfigExpression.register('jsonschema', JSONSchema);\n ConfigExpression.register('z', z);\n ConfigExpression.register('assert', assert);\n ConfigExpression.register('expect', expect);\n ConfigExpression.register('should', should);\n }\n\n private static escapeRegex(string: string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }\n\n public static pattern = new RegExp(\n ConfigExpression.delimiters\n .map(({ start, end }) => `${ConfigExpression.escapeRegex(start)}(.*?)${ConfigExpression.escapeRegex(end)}`)\n .join('|'),\n 'g',\n );\n\n static register(key: string, registeree: unknown) {\n if (key.endsWith(ConfigExpression.suffix)) {\n ConfigExpression.globals.set(key.slice(0, -ConfigExpression.suffix.length), registeree);\n } else {\n ConfigExpression.globals.set(key, registeree);\n }\n }\n\n private static parse(raw: ExpressionString) {\n try {\n const expression = raw.replace(ConfigExpression.pattern, (match, group) => {\n return `${ConfigExpression.marker.start}${group}${ConfigExpression.marker.end}`;\n });\n const ast = acorn.parse(expression, { ecmaVersion: 'latest' });\n\n return {\n raw,\n expression,\n ast,\n };\n } catch (error) {\n throw new Error(`Failed to parse expression \"${raw}\"\\n${error}`);\n }\n }\n\n static evaluate(expression: ExpressionString, context: Record<string, unknown> = {}): any {\n try {\n const parsed = ConfigExpression.parse(expression);\n const compartment = new Compartment({ ...context, ...Object.fromEntries(ConfigExpression.globals) });\n return compartment.evaluate(parsed.expression);\n } catch (error) {\n throw new Error(`Failed to evaluate expression \"${expression}\"\\n${error.message}`);\n }\n }\n\n static evaluateBoolean(expression: ExpressionString, context: Record<string, unknown>): boolean {\n return ConfigExpression.evaluate(`Boolean(${expression})`, context);\n }\n\n static evaluateTemplateString(expression: ExpressionString, context: Record<string, unknown>): string {\n return ConfigExpression.evaluate(`\\`${expression}\\``, context);\n }\n\n static references(expression: ExpressionString): string[] {\n const parsed = ConfigExpression.parse(expression);\n const references: Set<string> = new Set();\n walk.simple(parsed.ast, {\n Identifier(node: acorn.Identifier) {\n references.add(node.name);\n },\n });\n return Array.from(references);\n }\n\n static sort(expressionsDict: Record<string, string>): string[] {\n // Initialize templates to references graph\n const graph: Record<string, string[]> = _.chain(expressionsDict)\n .mapValues((expression) => ConfigExpression.references(expression))\n .value();\n\n const sorted: string[] = [];\n const visited = new Set<string>();\n const visiting = new Set<string>();\n\n // Helper function for DFS\n const visit = (node: string, ancestors: string[] = []) => {\n if (visiting.has(node)) {\n throw new Error(`Cyclic dependency detected: ${ancestors.join(' -> ')} -> ${node}`);\n }\n\n if (!visited.has(node)) {\n visiting.add(node);\n\n (graph[node] || []).forEach((neighbor) => {\n visit(neighbor, [...ancestors, node]);\n });\n\n visiting.delete(node);\n visited.add(node);\n sorted.push(node);\n }\n };\n\n // Perform DFS for each node\n _.forEach(graph, (referances, key) => {\n if (!visited.has(key)) {\n visit(key);\n }\n });\n\n // Filter sorted to include only the initial template keys\n return sorted.filter((key) => Object.prototype.hasOwnProperty.call(expressionsDict, key));\n }\n}\n","import _ from 'lodash';\nimport { Jsonify, Merge } from 'type-fest';\n\nimport { type Cfgu } from './Cfgu';\nimport { type Config } from './Config';\nimport { type ConfigStore } from './ConfigStore';\nimport { type ConfigSet } from './ConfigSet';\nimport { type ConfigSchema } from './ConfigSchema';\nimport { ConfigExpression, ExpressionString } from './ConfigExpression';\nimport { JSONSchema, FromSchema } from './expressions/JSONSchema';\n\nexport type ConfigValueAny = FromSchema<typeof JSONSchema.AnyPropertySchema>;\n\nexport type ConfigValueString = Config['value'];\n\nexport type ConfigWithCfgu = Config & { cfgu: Cfgu };\n\ntype ConfigExpressionContext = {\n store?: ConfigStore;\n set?: ConfigSet;\n schema?: ConfigSchema;\n current?: string;\n configs: {\n [key: string]: ConfigWithCfgu;\n };\n};\n\ntype ConfigContext = Merge<\n ConfigWithCfgu,\n {\n labels: string[];\n value: ConfigValueAny;\n storedValue: string;\n }\n>;\n\nexport type ConfigEvaluationContext = {\n $: Partial<ConfigContext> & {\n input?: {\n store: Jsonify<ConfigStore>;\n set: Jsonify<ConfigSet>;\n schema: Jsonify<ConfigSchema>;\n };\n configs: {\n [key: string]: ConfigContext;\n };\n };\n};\n\nexport class ConfigValue {\n static parse(value: ConfigValueString): ConfigValueAny {\n try {\n // numeric, boolean, object, array\n return JSON.parse(value);\n } catch (error) {\n // string\n return value;\n }\n }\n\n static stringify(value: ConfigValueAny): ConfigValueString {\n if (_.isString(value)) {\n return value;\n }\n return JSON.stringify(value);\n }\n\n static createEvaluationContext(context: ConfigExpressionContext): ConfigEvaluationContext {\n const configs = _.mapValues(context.configs, (current) => ({\n ...current,\n storedValue: current.value,\n value: ConfigValue.parse(current.value),\n labels: Array.isArray(current.cfgu?.label) ? current.cfgu.label : _.compact([current.cfgu?.label]),\n }));\n\n let $ = {\n configs,\n } as ConfigEvaluationContext['$'];\n\n if (context.store && context.set && context.schema) {\n $ = {\n input: {\n store: { ...context.store },\n set: { ...context.set },\n schema: { ...context.schema },\n },\n ...$,\n };\n }\n\n if (context.current) {\n const currentConfig = configs[context.current];\n if (!currentConfig) {\n throw new Error(`Failed to create evaluation context for key \"${context.current}\"`);\n }\n $ = { ...currentConfig, ...$ };\n }\n\n return { $ };\n }\n\n static test({\n test,\n errorSuffix = `test \"${test}\"`,\n context,\n }: {\n test: ExpressionString;\n errorSuffix?: string;\n context: Required<ConfigExpressionContext>;\n }) {\n try {\n const isValid = ConfigExpression.evaluateBoolean(test, ConfigValue.createEvaluationContext(context));\n if (!isValid) {\n throw new Error();\n }\n } catch (error) {\n throw new Error(`ConfigValue failed ${errorSuffix}\\n${error.message}`);\n }\n }\n\n static validate(context: Required<ConfigExpressionContext>) {\n // todo: consider optimizing this code by creating a concatenated test string and evaluating it once\n\n const currentConfig = context.configs[context.current];\n if (!currentConfig) {\n throw new Error(`Failed to create evaluation context for key \"${context.current}\"`);\n }\n\n const { cfgu } = currentConfig;\n\n if (cfgu?.pattern) {\n ConfigValue.test({\n test: `JSONSchema.validate({ \"type\": \"string\", \"pattern\": $.cfgu.pattern }, $.storedValue) || true`,\n errorSuffix: 'Cfgu.pattern test',\n context,\n });\n }\n\n if (cfgu?.enum) {\n ConfigValue.test({\n test: `JSONSchema.validate({ \"enum\": $.cfgu.enum }, $.value) || true`,\n errorSuffix: 'Cfgu.enum test',\n context,\n });\n }\n\n if (cfgu?.schema) {\n ConfigValue.test({\n test: `JSONSchema.validate($.cfgu.schema, $.value) || true`,\n errorSuffix: 'Cfgu.schema test',\n context,\n });\n }\n\n if (cfgu?.test) {\n const tests = Array.isArray(cfgu.test) ? cfgu.test : [cfgu.test];\n tests.forEach((test, idx) => {\n ConfigValue.test({\n test,\n errorSuffix: `Cfgu.test[${idx}] \"${test}\"`,\n context,\n });\n });\n }\n }\n}\n","import _ from 'lodash';\nimport { CfguSchema } from './Cfgu';\nimport { ConfigKey } from './ConfigKey';\nimport { JSONSchema, JSONSchemaObject, FromSchema } from './expressions/JSONSchema';\nimport { ConfigValue } from './ConfigValue';\nimport { ConfigExpression } from './ConfigExpression';\n\nconst LEGACY_CFGU_VALUE_TYPE_VALIDATORS: Record<string, string> = {\n Boolean: 'validator.isBoolean($.storedValue, { loose: true })',\n Number: 'validator.isNumeric($.storedValue)',\n String: 'true',\n RegEx: 'expect($.cfgu.pattern).to.exist',\n UUID: 'validator.isUUID($.storedValue)',\n SemVer: 'validator.isSemVer($.storedValue)',\n Email: 'validator.isEmail($.storedValue)',\n MobilePhone: 'validator.isMobilePhone($.storedValue)',\n Locale: 'validator.isLocale($.storedValue)',\n LatLong: 'validator.isLatLong($.storedValue)',\n Color: 'validator.isHexColor($.storedValue) || validator.isHSL($.storedValue) || validator.isRgbColor($.storedValue)',\n IPv4: 'validator.isIP($.storedValue, 4)',\n IPv6: 'validator.isIP($.storedValue, 6)',\n Domain: