NextGraph integration (WIP), broker banner, and feature-based architecture
- Add NextGraph data layer with @ng-org/orm, SHEX shapes (Event, UserProfile, Participation), session management, and FestipodDataContext with dual-mode operation (connected via NextGraph or local seed data) - Add BrokerBanner and NgStatus components showing connection status - Refactor to feature-based architecture: organize code by business domain (event, user, home, auth, workshop, meeting, notification) instead of technical layer. Modules only import from shared/, never from each other - Collocate BDD features and step definitions with their modules: event-specific steps in event/steps/, user steps in user/steps/, shared generic steps remain in shared/steps/ - Set up multi-layer BDD structure (frontend/backend/e2e steps per module) - Add project documentation (AGENTS.md, .project/knowledge/) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -11,11 +11,23 @@ interface StepDefinition {
|
||||
lineNumber: number;
|
||||
}
|
||||
|
||||
const stepFiles = [
|
||||
'features/step_definitions/navigation.steps.ts',
|
||||
'features/step_definitions/form.steps.ts',
|
||||
'features/step_definitions/screen.steps.ts',
|
||||
];
|
||||
import { Glob } from 'bun';
|
||||
|
||||
// Discover all step definition files: shared + module-specific
|
||||
function discoverStepFiles(): string[] {
|
||||
const files: string[] = [];
|
||||
// Shared steps
|
||||
for (const f of new Glob('src/shared/steps/**/*.steps.ts').scanSync('.')) {
|
||||
files.push(f);
|
||||
}
|
||||
// Module steps
|
||||
for (const f of new Glob('src/modules/*/steps/**/*.steps.ts').scanSync('.')) {
|
||||
files.push(f);
|
||||
}
|
||||
return files.sort();
|
||||
}
|
||||
|
||||
const stepFiles = discoverStepFiles();
|
||||
|
||||
function extractStepDefinitions(): StepDefinition[] {
|
||||
const definitions: StepDefinition[] = [];
|
||||
@@ -115,7 +127,7 @@ export const stepDefinitions: StepDefinitionInfo[] = ${JSON.stringify(definition
|
||||
${findFunctionCode}
|
||||
`;
|
||||
|
||||
await Bun.write('src/data/stepDefinitions.ts', output);
|
||||
await Bun.write('src/shared/data/stepDefinitions.ts', output);
|
||||
console.log(`Generated ${definitions.length} step definitions`);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user