@fractary/core 0.6.1 → 0.7.4
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.
- package/dist/common/yaml-config.d.ts +36 -5
- package/dist/common/yaml-config.d.ts.map +1 -1
- package/dist/common/yaml-config.js +80 -4
- package/dist/common/yaml-config.js.map +1 -1
- package/dist/config/__tests__/loader.test.js +211 -21
- package/dist/config/__tests__/loader.test.js.map +1 -1
- package/dist/config/defaults.d.ts +61 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +363 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/defaults.test.d.ts +7 -0
- package/dist/config/defaults.test.d.ts.map +1 -0
- package/dist/config/defaults.test.js +348 -0
- package/dist/config/defaults.test.js.map +1 -0
- package/dist/config/index.d.ts +4 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +23 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +121 -5
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +228 -23
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +1368 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +238 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/schema.test.d.ts +7 -0
- package/dist/config/schema.test.d.ts.map +1 -0
- package/dist/config/schema.test.js +477 -0
- package/dist/config/schema.test.js.map +1 -0
- package/dist/logs/type-registry.d.ts +0 -2
- package/dist/logs/type-registry.d.ts.map +1 -1
- package/dist/logs/type-registry.js +0 -2
- package/dist/logs/type-registry.js.map +1 -1
- package/dist/logs/type-registry.test.js +0 -2
- package/dist/logs/type-registry.test.js.map +1 -1
- package/package.json +186 -186
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
* Loads and parses `.fractary/core/config.yaml` with environment variable substitution.
|
|
5
5
|
* Provides a single source of truth for all plugin configurations.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Documentation URLs for each configuration section
|
|
9
|
+
* These are injected as comments when writing config.yaml
|
|
10
|
+
*/
|
|
11
|
+
export declare const PLUGIN_DOC_URLS: Record<string, string>;
|
|
12
|
+
/**
|
|
13
|
+
* URL for the main configuration guide
|
|
14
|
+
*/
|
|
15
|
+
export declare const CONFIG_GUIDE_URL = "https://github.com/fractary/core/blob/main/docs/guides/configuration.md";
|
|
7
16
|
/**
|
|
8
17
|
* Work tracking configuration
|
|
9
18
|
*/
|
|
@@ -109,10 +118,9 @@ export interface FileSource {
|
|
|
109
118
|
*/
|
|
110
119
|
export interface FileConfig {
|
|
111
120
|
schema_version: string;
|
|
112
|
-
|
|
121
|
+
handlers?: Record<string, FileSource>;
|
|
113
122
|
global_settings?: Record<string, any>;
|
|
114
123
|
active_handler?: string;
|
|
115
|
-
handlers?: Record<string, any>;
|
|
116
124
|
}
|
|
117
125
|
/**
|
|
118
126
|
* Specification management configuration
|
|
@@ -193,10 +201,30 @@ export interface ConfigLoadOptions {
|
|
|
193
201
|
*/
|
|
194
202
|
export declare function loadYamlConfig(options?: ConfigLoadOptions): CoreYamlConfig | null;
|
|
195
203
|
/**
|
|
196
|
-
*
|
|
204
|
+
* Options for writing YAML configuration
|
|
205
|
+
*/
|
|
206
|
+
export interface WriteYamlConfigOptions {
|
|
207
|
+
/** Project root directory (auto-detected if not provided) */
|
|
208
|
+
projectRoot?: string;
|
|
209
|
+
/** Include documentation URL comments for each section (default: true) */
|
|
210
|
+
includeDocComments?: boolean;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Inject documentation URL comments into YAML content
|
|
214
|
+
*
|
|
215
|
+
* Adds a comment with the documentation URL above each plugin section.
|
|
216
|
+
* Also adds a header comment with the main configuration guide URL.
|
|
217
|
+
*
|
|
218
|
+
* @param yamlContent The raw YAML string
|
|
219
|
+
* @param config The configuration object (used to determine which sections exist)
|
|
220
|
+
* @returns YAML string with documentation comments injected
|
|
221
|
+
*/
|
|
222
|
+
export declare function injectDocumentationComments(yamlContent: string, config: CoreYamlConfig): string;
|
|
223
|
+
/**
|
|
224
|
+
* Write unified configuration to `.fractary/config.yaml`
|
|
197
225
|
*
|
|
198
226
|
* @param config Configuration object to write
|
|
199
|
-
* @param
|
|
227
|
+
* @param options Write options (projectRoot, includeDocComments)
|
|
200
228
|
*
|
|
201
229
|
* @example
|
|
202
230
|
* ```typescript
|
|
@@ -207,9 +235,12 @@ export declare function loadYamlConfig(options?: ConfigLoadOptions): CoreYamlCon
|
|
|
207
235
|
* handlers: { ... }
|
|
208
236
|
* }
|
|
209
237
|
* });
|
|
238
|
+
*
|
|
239
|
+
* // Without documentation comments
|
|
240
|
+
* writeYamlConfig(config, { includeDocComments: false });
|
|
210
241
|
* ```
|
|
211
242
|
*/
|
|
212
|
-
export declare function writeYamlConfig(config: CoreYamlConfig,
|
|
243
|
+
export declare function writeYamlConfig(config: CoreYamlConfig, options?: WriteYamlConfigOptions | string): void;
|
|
213
244
|
/**
|
|
214
245
|
* Substitute ${ENV_VAR} placeholders with actual environment variables
|
|
215
246
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-config.d.ts","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"yaml-config.d.ts","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.CONFIG_GUIDE_URL = exports.PLUGIN_DOC_URLS = void 0;
|
|
42
43
|
exports.loadYamlConfig = loadYamlConfig;
|
|
44
|
+
exports.injectDocumentationComments = injectDocumentationComments;
|
|
43
45
|
exports.writeYamlConfig = writeYamlConfig;
|
|
44
46
|
exports.substituteEnvVars = substituteEnvVars;
|
|
45
47
|
exports.findProjectRoot = findProjectRoot;
|
|
@@ -50,6 +52,27 @@ exports.validateEnvVars = validateEnvVars;
|
|
|
50
52
|
const fs = __importStar(require("fs"));
|
|
51
53
|
const path = __importStar(require("path"));
|
|
52
54
|
const yaml = __importStar(require("js-yaml"));
|
|
55
|
+
/**
|
|
56
|
+
* Base URL for Fractary Core documentation on GitHub
|
|
57
|
+
*/
|
|
58
|
+
const GITHUB_DOCS_BASE_URL = 'https://github.com/fractary/core/blob/main';
|
|
59
|
+
/**
|
|
60
|
+
* Documentation URLs for each configuration section
|
|
61
|
+
* These are injected as comments when writing config.yaml
|
|
62
|
+
*/
|
|
63
|
+
exports.PLUGIN_DOC_URLS = {
|
|
64
|
+
work: `${GITHUB_DOCS_BASE_URL}/plugins/work/README.md`,
|
|
65
|
+
repo: `${GITHUB_DOCS_BASE_URL}/plugins/repo/README.md`,
|
|
66
|
+
logs: `${GITHUB_DOCS_BASE_URL}/plugins/logs/README.md`,
|
|
67
|
+
file: `${GITHUB_DOCS_BASE_URL}/plugins/file/README.md`,
|
|
68
|
+
spec: `${GITHUB_DOCS_BASE_URL}/plugins/spec/README.md`,
|
|
69
|
+
docs: `${GITHUB_DOCS_BASE_URL}/plugins/docs/README.md`,
|
|
70
|
+
codex: `${GITHUB_DOCS_BASE_URL}/docs/guides/configuration.md#codex-configuration`,
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* URL for the main configuration guide
|
|
74
|
+
*/
|
|
75
|
+
exports.CONFIG_GUIDE_URL = `${GITHUB_DOCS_BASE_URL}/docs/guides/configuration.md`;
|
|
53
76
|
/**
|
|
54
77
|
* Load and parse `.fractary/core/config.yaml` with environment variable substitution
|
|
55
78
|
*
|
|
@@ -110,10 +133,51 @@ function loadYamlConfig(options = {}) {
|
|
|
110
133
|
}
|
|
111
134
|
}
|
|
112
135
|
/**
|
|
113
|
-
*
|
|
136
|
+
* Inject documentation URL comments into YAML content
|
|
137
|
+
*
|
|
138
|
+
* Adds a comment with the documentation URL above each plugin section.
|
|
139
|
+
* Also adds a header comment with the main configuration guide URL.
|
|
140
|
+
*
|
|
141
|
+
* @param yamlContent The raw YAML string
|
|
142
|
+
* @param config The configuration object (used to determine which sections exist)
|
|
143
|
+
* @returns YAML string with documentation comments injected
|
|
144
|
+
*/
|
|
145
|
+
function injectDocumentationComments(yamlContent, config) {
|
|
146
|
+
const lines = yamlContent.split('\n');
|
|
147
|
+
const result = [];
|
|
148
|
+
// Add header comment with main configuration guide
|
|
149
|
+
result.push('# Fractary Core Configuration');
|
|
150
|
+
result.push(`# Documentation: ${exports.CONFIG_GUIDE_URL}`);
|
|
151
|
+
result.push('#');
|
|
152
|
+
result.push('');
|
|
153
|
+
// Get sections that actually exist in the config
|
|
154
|
+
const configSections = new Set(Object.keys(config));
|
|
155
|
+
for (let i = 0; i < lines.length; i++) {
|
|
156
|
+
const line = lines[i];
|
|
157
|
+
// Check if this line starts a plugin section (top-level key, no indentation)
|
|
158
|
+
// Match pattern: "sectionName:" at the start of a line (no leading whitespace)
|
|
159
|
+
const sectionMatch = line.match(/^([a-z_]+):\s*$/);
|
|
160
|
+
if (sectionMatch) {
|
|
161
|
+
const sectionName = sectionMatch[1];
|
|
162
|
+
// Only add comment if section exists in config and has a documentation URL
|
|
163
|
+
if (configSections.has(sectionName) && exports.PLUGIN_DOC_URLS[sectionName]) {
|
|
164
|
+
// Add a blank line before the comment (if not at start)
|
|
165
|
+
if (result.length > 0 && result[result.length - 1] !== '') {
|
|
166
|
+
result.push('');
|
|
167
|
+
}
|
|
168
|
+
// Add the documentation comment
|
|
169
|
+
result.push(`# ${sectionName} - ${exports.PLUGIN_DOC_URLS[sectionName]}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
result.push(line);
|
|
173
|
+
}
|
|
174
|
+
return result.join('\n');
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Write unified configuration to `.fractary/config.yaml`
|
|
114
178
|
*
|
|
115
179
|
* @param config Configuration object to write
|
|
116
|
-
* @param
|
|
180
|
+
* @param options Write options (projectRoot, includeDocComments)
|
|
117
181
|
*
|
|
118
182
|
* @example
|
|
119
183
|
* ```typescript
|
|
@@ -124,9 +188,17 @@ function loadYamlConfig(options = {}) {
|
|
|
124
188
|
* handlers: { ... }
|
|
125
189
|
* }
|
|
126
190
|
* });
|
|
191
|
+
*
|
|
192
|
+
* // Without documentation comments
|
|
193
|
+
* writeYamlConfig(config, { includeDocComments: false });
|
|
127
194
|
* ```
|
|
128
195
|
*/
|
|
129
|
-
function writeYamlConfig(config,
|
|
196
|
+
function writeYamlConfig(config, options = {}) {
|
|
197
|
+
// Handle backward compatibility: if options is a string, treat it as projectRoot
|
|
198
|
+
const opts = typeof options === 'string'
|
|
199
|
+
? { projectRoot: options }
|
|
200
|
+
: options;
|
|
201
|
+
const { projectRoot, includeDocComments = true, } = opts;
|
|
130
202
|
const root = projectRoot || findProjectRoot();
|
|
131
203
|
const fractaryDir = path.join(root, '.fractary');
|
|
132
204
|
const configPath = path.join(fractaryDir, 'config.yaml');
|
|
@@ -135,12 +207,16 @@ function writeYamlConfig(config, projectRoot) {
|
|
|
135
207
|
fs.mkdirSync(fractaryDir, { recursive: true });
|
|
136
208
|
}
|
|
137
209
|
// Convert to YAML with proper formatting
|
|
138
|
-
|
|
210
|
+
let yamlContent = yaml.dump(config, {
|
|
139
211
|
indent: 2,
|
|
140
212
|
lineWidth: 100,
|
|
141
213
|
noRefs: true,
|
|
142
214
|
sortKeys: false,
|
|
143
215
|
});
|
|
216
|
+
// Inject documentation comments if enabled
|
|
217
|
+
if (includeDocComments) {
|
|
218
|
+
yamlContent = injectDocumentationComments(yamlContent, config);
|
|
219
|
+
}
|
|
144
220
|
fs.writeFileSync(configPath, yamlContent, 'utf-8');
|
|
145
221
|
}
|
|
146
222
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-config.js","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"yaml-config.js","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,13 +50,19 @@ const dotenv = __importStar(require("dotenv"));
|
|
|
50
50
|
const mockedDotenv = dotenv;
|
|
51
51
|
describe('loadEnv', () => {
|
|
52
52
|
const originalCwd = process.cwd;
|
|
53
|
+
const originalEnv = process.env.FRACTARY_ENV;
|
|
53
54
|
beforeEach(() => {
|
|
54
55
|
jest.clearAllMocks();
|
|
55
|
-
|
|
56
|
-
// Since we can't access the private variable directly
|
|
56
|
+
delete process.env.FRACTARY_ENV;
|
|
57
57
|
});
|
|
58
58
|
afterAll(() => {
|
|
59
59
|
process.cwd = originalCwd;
|
|
60
|
+
if (originalEnv !== undefined) {
|
|
61
|
+
process.env.FRACTARY_ENV = originalEnv;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
delete process.env.FRACTARY_ENV;
|
|
65
|
+
}
|
|
60
66
|
});
|
|
61
67
|
describe('when .env exists in cwd', () => {
|
|
62
68
|
it('should load .env from current working directory', () => {
|
|
@@ -67,6 +73,7 @@ describe('loadEnv', () => {
|
|
|
67
73
|
expect(result).toBe(true);
|
|
68
74
|
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
69
75
|
path: path.join(process.cwd(), '.env'),
|
|
76
|
+
override: true,
|
|
70
77
|
});
|
|
71
78
|
});
|
|
72
79
|
it('should not load again if already loaded', () => {
|
|
@@ -78,11 +85,15 @@ describe('loadEnv', () => {
|
|
|
78
85
|
expect(mockedDotenv.config).toHaveBeenCalledTimes(callCount);
|
|
79
86
|
});
|
|
80
87
|
it('should reload with force option', () => {
|
|
81
|
-
mockedFs.existsSync.
|
|
88
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
89
|
+
// Only .env exists (no .env.local)
|
|
90
|
+
return String(p).endsWith('.env') && !String(p).endsWith('.local');
|
|
91
|
+
});
|
|
82
92
|
(0, loader_1.loadEnv)({ force: true });
|
|
83
93
|
const callCount = mockedDotenv.config.mock.calls.length;
|
|
84
94
|
(0, loader_1.loadEnv)({ force: true }); // Force reload
|
|
85
|
-
|
|
95
|
+
// Each reload loads .env (and would load .env.local if it existed)
|
|
96
|
+
expect(mockedDotenv.config.mock.calls.length).toBeGreaterThan(callCount);
|
|
86
97
|
});
|
|
87
98
|
});
|
|
88
99
|
describe('when .env does not exist', () => {
|
|
@@ -112,7 +123,61 @@ describe('loadEnv', () => {
|
|
|
112
123
|
expect(result).toBe(true);
|
|
113
124
|
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
114
125
|
path: path.join(customCwd, '.env'),
|
|
126
|
+
override: true,
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
describe('multi-environment support (FRACTARY_ENV)', () => {
|
|
131
|
+
it('should load .env.{FRACTARY_ENV} when FRACTARY_ENV is set', () => {
|
|
132
|
+
process.env.FRACTARY_ENV = 'prod';
|
|
133
|
+
const projectRoot = process.cwd();
|
|
134
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
135
|
+
const pathStr = String(p);
|
|
136
|
+
// Both .env and .env.prod exist
|
|
137
|
+
return (pathStr === path.join(projectRoot, '.env') ||
|
|
138
|
+
pathStr === path.join(projectRoot, '.env.prod'));
|
|
139
|
+
});
|
|
140
|
+
const result = (0, loader_1.loadEnv)({ force: true });
|
|
141
|
+
expect(result).toBe(true);
|
|
142
|
+
// Should load .env first, then .env.prod
|
|
143
|
+
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
144
|
+
path: path.join(projectRoot, '.env'),
|
|
145
|
+
override: true,
|
|
146
|
+
});
|
|
147
|
+
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
148
|
+
path: path.join(projectRoot, '.env.prod'),
|
|
149
|
+
override: true,
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
it('should load .env.local last for local overrides', () => {
|
|
153
|
+
const projectRoot = process.cwd();
|
|
154
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
155
|
+
const pathStr = String(p);
|
|
156
|
+
// Both .env and .env.local exist
|
|
157
|
+
return (pathStr === path.join(projectRoot, '.env') ||
|
|
158
|
+
pathStr === path.join(projectRoot, '.env.local'));
|
|
115
159
|
});
|
|
160
|
+
const result = (0, loader_1.loadEnv)({ force: true });
|
|
161
|
+
expect(result).toBe(true);
|
|
162
|
+
// Get all call arguments as strings
|
|
163
|
+
const calls = mockedDotenv.config.mock.calls.map((c) => String(c[0]?.path || ''));
|
|
164
|
+
// .env should be loaded before .env.local
|
|
165
|
+
const envIndex = calls.findIndex((p) => p.endsWith('.env') && !p.includes('.local'));
|
|
166
|
+
const localIndex = calls.findIndex((p) => p.endsWith('.env.local'));
|
|
167
|
+
expect(envIndex).toBeGreaterThanOrEqual(0);
|
|
168
|
+
expect(localIndex).toBeGreaterThan(envIndex);
|
|
169
|
+
});
|
|
170
|
+
it('should track current environment via getCurrentEnv', () => {
|
|
171
|
+
process.env.FRACTARY_ENV = 'staging';
|
|
172
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
173
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
174
|
+
expect((0, loader_1.getCurrentEnv)()).toBe('staging');
|
|
175
|
+
});
|
|
176
|
+
it('should return undefined from getCurrentEnv when FRACTARY_ENV not set', () => {
|
|
177
|
+
delete process.env.FRACTARY_ENV;
|
|
178
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
179
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
180
|
+
expect((0, loader_1.getCurrentEnv)()).toBeUndefined();
|
|
116
181
|
});
|
|
117
182
|
});
|
|
118
183
|
});
|
|
@@ -126,33 +191,158 @@ describe('isEnvLoaded', () => {
|
|
|
126
191
|
expect((0, loader_1.isEnvLoaded)()).toBe(true);
|
|
127
192
|
});
|
|
128
193
|
});
|
|
129
|
-
describe('
|
|
194
|
+
describe('switchEnv', () => {
|
|
195
|
+
beforeEach(() => {
|
|
196
|
+
jest.clearAllMocks();
|
|
197
|
+
delete process.env.FRACTARY_ENV;
|
|
198
|
+
});
|
|
199
|
+
it('should set FRACTARY_ENV and reload environment', () => {
|
|
200
|
+
const projectRoot = process.cwd();
|
|
201
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
202
|
+
const pathStr = String(p);
|
|
203
|
+
return (pathStr === path.join(projectRoot, '.env') ||
|
|
204
|
+
pathStr === path.join(projectRoot, '.env.test'));
|
|
205
|
+
});
|
|
206
|
+
const result = (0, loader_1.switchEnv)('test');
|
|
207
|
+
expect(result).toBe(true);
|
|
208
|
+
expect(process.env.FRACTARY_ENV).toBe('test');
|
|
209
|
+
expect((0, loader_1.getCurrentEnv)()).toBe('test');
|
|
210
|
+
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
211
|
+
path: path.join(projectRoot, '.env.test'),
|
|
212
|
+
override: true,
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
it('should allow switching between environments (FABR workflow)', () => {
|
|
216
|
+
const projectRoot = process.cwd();
|
|
217
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
218
|
+
const pathStr = String(p);
|
|
219
|
+
// Simulate having .env, .env.test, and .env.prod
|
|
220
|
+
return (pathStr === path.join(projectRoot, '.env') ||
|
|
221
|
+
pathStr === path.join(projectRoot, '.env.test') ||
|
|
222
|
+
pathStr === path.join(projectRoot, '.env.prod'));
|
|
223
|
+
});
|
|
224
|
+
// Start with test (evaluate phase)
|
|
225
|
+
(0, loader_1.switchEnv)('test');
|
|
226
|
+
expect((0, loader_1.getCurrentEnv)()).toBe('test');
|
|
227
|
+
// Switch to prod (release phase)
|
|
228
|
+
(0, loader_1.switchEnv)('prod');
|
|
229
|
+
expect((0, loader_1.getCurrentEnv)()).toBe('prod');
|
|
230
|
+
expect(process.env.FRACTARY_ENV).toBe('prod');
|
|
231
|
+
});
|
|
232
|
+
it('should reject invalid environment names', () => {
|
|
233
|
+
const result1 = (0, loader_1.switchEnv)('');
|
|
234
|
+
expect(result1).toBe(false);
|
|
235
|
+
const result2 = (0, loader_1.switchEnv)('test;rm -rf /');
|
|
236
|
+
expect(result2).toBe(false);
|
|
237
|
+
const result3 = (0, loader_1.switchEnv)('test$(whoami)');
|
|
238
|
+
expect(result3).toBe(false);
|
|
239
|
+
});
|
|
240
|
+
it('should allow valid environment names with dashes and underscores', () => {
|
|
241
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
242
|
+
expect((0, loader_1.switchEnv)('my-test')).toBe(true);
|
|
243
|
+
expect((0, loader_1.switchEnv)('my_test')).toBe(true);
|
|
244
|
+
expect((0, loader_1.switchEnv)('test-2')).toBe(true);
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
describe('clearEnv', () => {
|
|
130
248
|
beforeEach(() => {
|
|
131
249
|
jest.clearAllMocks();
|
|
132
|
-
|
|
250
|
+
});
|
|
251
|
+
it('should clear default Fractary environment variables', () => {
|
|
252
|
+
// Set some env vars
|
|
253
|
+
process.env.GITHUB_TOKEN = 'test-token';
|
|
254
|
+
process.env.AWS_ACCESS_KEY_ID = 'test-key';
|
|
255
|
+
process.env.AWS_SECRET_ACCESS_KEY = 'test-secret';
|
|
256
|
+
(0, loader_1.clearEnv)();
|
|
257
|
+
expect(process.env.GITHUB_TOKEN).toBeUndefined();
|
|
258
|
+
expect(process.env.AWS_ACCESS_KEY_ID).toBeUndefined();
|
|
259
|
+
expect(process.env.AWS_SECRET_ACCESS_KEY).toBeUndefined();
|
|
260
|
+
});
|
|
261
|
+
it('should clear specific variables when provided', () => {
|
|
262
|
+
process.env.GITHUB_TOKEN = 'test-token';
|
|
263
|
+
process.env.CUSTOM_VAR = 'custom-value';
|
|
264
|
+
process.env.ANOTHER_VAR = 'another-value';
|
|
265
|
+
(0, loader_1.clearEnv)(['CUSTOM_VAR', 'ANOTHER_VAR']);
|
|
266
|
+
// GITHUB_TOKEN should remain (not in the list)
|
|
267
|
+
expect(process.env.GITHUB_TOKEN).toBe('test-token');
|
|
268
|
+
expect(process.env.CUSTOM_VAR).toBeUndefined();
|
|
269
|
+
expect(process.env.ANOTHER_VAR).toBeUndefined();
|
|
270
|
+
// Cleanup
|
|
271
|
+
delete process.env.GITHUB_TOKEN;
|
|
272
|
+
});
|
|
273
|
+
it('should reset getCurrentEnv to undefined', () => {
|
|
274
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
275
|
+
// Load an environment first
|
|
276
|
+
process.env.FRACTARY_ENV = 'test';
|
|
133
277
|
(0, loader_1.loadEnv)({ force: true });
|
|
278
|
+
expect((0, loader_1.getCurrentEnv)()).toBe('test');
|
|
279
|
+
// Clear should reset
|
|
280
|
+
(0, loader_1.clearEnv)();
|
|
281
|
+
expect((0, loader_1.getCurrentEnv)()).toBeUndefined();
|
|
282
|
+
});
|
|
283
|
+
it('should reset isEnvLoaded to false', () => {
|
|
284
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
285
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
286
|
+
expect((0, loader_1.isEnvLoaded)()).toBe(true);
|
|
287
|
+
(0, loader_1.clearEnv)();
|
|
288
|
+
expect((0, loader_1.isEnvLoaded)()).toBe(false);
|
|
134
289
|
});
|
|
135
|
-
|
|
136
|
-
|
|
290
|
+
});
|
|
291
|
+
describe('edge cases', () => {
|
|
292
|
+
beforeEach(() => {
|
|
293
|
+
jest.clearAllMocks();
|
|
294
|
+
delete process.env.FRACTARY_ENV;
|
|
295
|
+
});
|
|
296
|
+
it('should still work when FRACTARY_ENV file does not exist', () => {
|
|
297
|
+
const projectRoot = process.cwd();
|
|
298
|
+
process.env.FRACTARY_ENV = 'nonexistent';
|
|
299
|
+
// Only .env exists, not .env.nonexistent
|
|
137
300
|
mockedFs.existsSync.mockImplementation((p) => {
|
|
138
301
|
const pathStr = String(p);
|
|
139
|
-
return pathStr.
|
|
302
|
+
return pathStr === path.join(projectRoot, '.env');
|
|
140
303
|
});
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
304
|
+
const result = (0, loader_1.loadEnv)({ force: true });
|
|
305
|
+
expect(result).toBe(true);
|
|
306
|
+
expect((0, loader_1.getCurrentEnv)()).toBe('nonexistent');
|
|
307
|
+
// Should have loaded .env but not .env.nonexistent
|
|
308
|
+
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
309
|
+
path: path.join(projectRoot, '.env'),
|
|
310
|
+
override: true,
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
it('should load all three files in correct order when all exist', () => {
|
|
314
|
+
const projectRoot = process.cwd();
|
|
315
|
+
process.env.FRACTARY_ENV = 'prod';
|
|
316
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
317
|
+
const pathStr = String(p);
|
|
318
|
+
// All three files exist
|
|
319
|
+
return (pathStr === path.join(projectRoot, '.env') ||
|
|
320
|
+
pathStr === path.join(projectRoot, '.env.prod') ||
|
|
321
|
+
pathStr === path.join(projectRoot, '.env.local'));
|
|
322
|
+
});
|
|
323
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
324
|
+
const calls = mockedDotenv.config.mock.calls.map((c) => String(c[0]?.path || ''));
|
|
325
|
+
// Verify order: .env → .env.prod → .env.local
|
|
326
|
+
const envIndex = calls.findIndex((p) => p.endsWith('.env') && !p.includes('.prod') && !p.includes('.local'));
|
|
327
|
+
const prodIndex = calls.findIndex((p) => p.endsWith('.env.prod'));
|
|
328
|
+
const localIndex = calls.findIndex((p) => p.endsWith('.env.local'));
|
|
329
|
+
expect(envIndex).toBeGreaterThanOrEqual(0);
|
|
330
|
+
expect(prodIndex).toBeGreaterThan(envIndex);
|
|
331
|
+
expect(localIndex).toBeGreaterThan(prodIndex);
|
|
148
332
|
});
|
|
149
|
-
it('should
|
|
333
|
+
it('should allow loadEnv after clearEnv to reload files', () => {
|
|
150
334
|
mockedFs.existsSync.mockReturnValue(true);
|
|
151
|
-
|
|
335
|
+
// Initial load
|
|
336
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
337
|
+
expect((0, loader_1.isEnvLoaded)()).toBe(true);
|
|
152
338
|
const initialCallCount = mockedDotenv.config.mock.calls.length;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
expect(
|
|
339
|
+
// Clear
|
|
340
|
+
(0, loader_1.clearEnv)();
|
|
341
|
+
expect((0, loader_1.isEnvLoaded)()).toBe(false);
|
|
342
|
+
// Reload should work without force (since envLoaded is false)
|
|
343
|
+
(0, loader_1.loadEnv)();
|
|
344
|
+
expect((0, loader_1.isEnvLoaded)()).toBe(true);
|
|
345
|
+
expect(mockedDotenv.config.mock.calls.length).toBeGreaterThan(initialCallCount);
|
|
156
346
|
});
|
|
157
347
|
});
|
|
158
348
|
//# sourceMappingURL=loader.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/loader.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAiD;AACjD,uCAAyB;AACzB,2CAA6B;AAE7B,iBAAiB;AACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,MAAM,QAAQ,GAAG,EAA4B,CAAC;AAE9C,cAAc;AACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;CAClB,CAAC,CAAC,CAAC;AACJ,+CAAiC;AACjC,MAAM,YAAY,GAAG,MAAoC,CAAC;AAE1D,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,kDAAkD;QAClD,sDAAsD;IACxD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3C,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAExC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;gBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;aACvC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAExD,IAAA,gBAAO,GAAE,CAAC,CAAC,4BAA4B;YAEvC,sCAAsC;YACtC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAExD,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe;YAEzC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAExC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,+EAA+E;YAC/E,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC1C,SAAS,EAAE,CAAC;gBACZ,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,2BAA2B;YACnD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAExC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,SAAS,GAAG,cAAc,CAAC;YACjC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3C,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAExD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;gBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;aACnC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzB,MAAM,CAAC,IAAA,oBAAW,GAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,yBAAyB;QACzB,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,mBAAmB;QACnB,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;QAEjD,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAE/D,MAAM,UAAU,EAAE,CAAC;QAEnB,8DAA8D;QAC9D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;QAEjD,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAE/D,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAExC,kDAAkD;QAClD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/loader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fractary/core - Default Configuration Templates
|
|
3
|
+
*
|
|
4
|
+
* Provides default configuration templates for initializing new projects.
|
|
5
|
+
* Used by both CLI and agents to ensure consistent config generation.
|
|
6
|
+
*/
|
|
7
|
+
import type { CoreYamlConfig } from '../common/yaml-config';
|
|
8
|
+
/**
|
|
9
|
+
* Options for generating default configuration
|
|
10
|
+
*/
|
|
11
|
+
export interface DefaultConfigOptions {
|
|
12
|
+
/** Work tracking platform */
|
|
13
|
+
workPlatform?: 'github' | 'jira' | 'linear';
|
|
14
|
+
/** Repository platform */
|
|
15
|
+
repoPlatform?: 'github';
|
|
16
|
+
/** File storage handler */
|
|
17
|
+
fileHandler?: 'local' | 's3';
|
|
18
|
+
/** GitHub/GitLab owner/organization */
|
|
19
|
+
owner?: string;
|
|
20
|
+
/** Repository name */
|
|
21
|
+
repo?: string;
|
|
22
|
+
/** S3 bucket name (if using S3) */
|
|
23
|
+
s3Bucket?: string;
|
|
24
|
+
/** AWS region (if using S3) */
|
|
25
|
+
awsRegion?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate a full default configuration with all plugins
|
|
29
|
+
*
|
|
30
|
+
* @param options Configuration options
|
|
31
|
+
* @returns Complete CoreYamlConfig with all sections
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const config = getDefaultConfig({
|
|
36
|
+
* workPlatform: 'github',
|
|
37
|
+
* owner: 'myorg',
|
|
38
|
+
* repo: 'my-project',
|
|
39
|
+
* fileHandler: 's3',
|
|
40
|
+
* s3Bucket: 'my-bucket',
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function getDefaultConfig(options?: DefaultConfigOptions): CoreYamlConfig;
|
|
45
|
+
/**
|
|
46
|
+
* Generate a minimal configuration with only essential settings
|
|
47
|
+
*
|
|
48
|
+
* @param options Configuration options
|
|
49
|
+
* @returns Minimal CoreYamlConfig with work and repo sections only
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const config = getMinimalConfig({
|
|
54
|
+
* workPlatform: 'github',
|
|
55
|
+
* owner: 'myorg',
|
|
56
|
+
* repo: 'my-project',
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function getMinimalConfig(options?: DefaultConfigOptions): CoreYamlConfig;
|
|
61
|
+
//# sourceMappingURL=defaults.d.ts.map
|