Skip to content

Refactor: Bring RWGPS library inline #165

@TobyHFerguson

Description

@TobyHFerguson

Recommendation: Bring the code into this workspace as inline modules following your existing architecture pattern.

Why Inline Makes Sense
Your situation:

✅ Library only used by this one project
✅ Library needs updating anyway
✅ You already have strong testing/architecture patterns here
✅ GAS deployment is simpler with fewer dependencies
Architecture approach:

Benefits:

✅ Single deployment: One npm run prod:push updates everything
✅ Easier debugging: All code in one place
✅ Same quality standards: 100% coverage, TypeScript types
✅ Follows your pattern: Core (testable) + Adapter (GAS APIs)
✅ Simpler refactoring: No cross-project coordination
You'd keep:

Clear API boundary (RWGPSCore exports public interface)
Full test coverage (Jest tests for all logic)
Type safety (TypeScript definitions)
You'd lose:

Separate versioning (but you're the only user)
Reusability (but it's not being reused)
Migration path:

Copy library code into src/RWGPSCore.js (pure logic)
Create src/RWGPS.js adapter (UrlFetchApp calls)
Write comprehensive tests (100% coverage)
Update your current code to use new modules
Delete external library dependency

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions