Code reference detail
config.test.ts
reqlan rq/extension/host/packages/language/test/config.test.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| configuration_import_roots | `importRoots` is an optional array of alias-to-directory mappings in `.reqlan/config.json`. Each mapping has: - `alias` ( required non-empty string ): prefix before `/` in aliased import paths. - `root` ( optional non-empty string ): directory for that alias. A relative `root` resolves against the base root ( the parent of `.reqlan` ), not against the `.reqlan` directory. An absolute path or `file://` URI is used as that alias' import-root directory directly. When `root` is omitted for a mapping, that alias uses the workspace folder that contains the `.rq` file. When `importRoots` is omitted, empty, or has no valid entries, the default is one mapping with alias `importRootAlias` from ["../../../packages/analytical/src/core/defaults.json"] and no explicit root. When several aliases could match a path, the longest alias wins. Invalid or unreadable JSON, and a non-array `importRoots` value, fall back to defaults ( or no loaded config for discovery, then defaults at resolve time ). Language path forms and `@/` shorthand: ["../../language/imports.rq".import_paths] and ["../../language/imports.rq".configuration_import_root_alias]. Comment references in source files use the same mappings: ["../language/comment-references/functional-code-comment-references.rq".comment_reference_import_root_alias]. Schema: [configuration_schema_file]. Applying file discovery: [configuration_location]. Editor completion of aliased import paths: ["../language/syntax/features-syntax.rq".code_completion]. | 0.167 | ||
| configuration_location | An optional `.reqlan/config.json` may appear under a base's `.reqlan` directory. For a given `.rq` file, the applying base is the nearest ancestor directory that owns a `.reqlan` folder. The applying config is that base's `.reqlan/config.json` when present. If the owning base has no `config.json`, or no owning base is found, defaults from [configuration_import_roots] apply. A child base does not inherit a parent base's config. | 0.190 | ||
| configuration_schema_file | done | The machine-readable JSON Schema for `.reqlan/config.json` is ["../../../packages/extension/schemas/config.schema.json"]. That file is the single authoring source. Its `$id` is the public URL `https://reqlan.com/schemas/v1/config.schema.json`. Path segment `v1` is schema compatibility version: additive keys stay on `v1`; breaking shape changes introduce `v2` and a new seed URL. The site hosts a synced copy under `/schemas/v1/` ( ["../../site/site.rq".sync_config_schema] ). The extension contributes the local schema for `**/.reqlan/config.json` via `jsonValidation` in ["../../../packages/extension/package.json"] ( offline editor path ). New bases seed `$schema` to the public `$id` ( ["./installation.rq".base_config_seed] ). `.reqlan/config.json` is a JSON object. Unknown properties are not part of the schema and are ignored when loading. `$schema` is an allowed property. | 0.105 | |
| base_config_seed | done | New bases write `.reqlan/config.json` with `$schema` pointing at the public v1 schema URL via [create_base_impl]. Seed shape: `{"$schema":"https://reqlan.com/schemas/v1/config.schema.json"}`. Semantics and discovery of applying config: [configuration.configuration_location], [configuration.configuration_import_roots], [bases.base_configuration]. Schema / editor validation: [configuration.configuration_schema_file]. A child base does not inherit a parent base's config file. Existing bases are not rewritten ( idempotent create leaves them alone ). | 0.076 |
Reference labels
base_config_seed, configuration_import_roots, configuration_location, configuration_schema_file