- Changed main entry point from `index.js` to `server.js` in package.json.
- Created a new `app.ts` file to encapsulate Express app configuration.
- Removed old `index.ts` file and moved server logic to `server.ts`.
- Updated nodemon configurations to point to the new `server.ts`.
- Added new middleware for API key authentication with public endpoint support.
- Modified validators to accept any string for IPs, allowing handlers to determine validity.
- Added integration tests for batch lookup and health endpoints.
- Implemented unit tests for error handling and validation middleware.
- Updated `tsup` and `vitest` configurations to reflect new entry points and testing setup.
feat: Implement BitipClient for GeoIP service integration
- Add BitipClient class for interacting with the Bitip GeoIP Service.
- Implement methods for health check, version info, IP location lookup, detailed IP location, and batch IP lookup.
- Introduce validation for IP addresses with IpValidator utility.
- Normalize URLs with UrlNormalizer utility.
- Create constants for API keys and routes.
- Add TypeScript types for client options, responses, and errors.
- Set up ESLint and Prettier configurations for code quality.
- Add unit tests for BitipClient and IpValidator.
- Configure TypeScript and build settings with tsup.
- Set up Vitest for testing framework and coverage reporting.
- Implement GetHealthTests to validate health check responses and error handling.
- Implement GetIpLocationTests for IP geolocation lookups, including valid and invalid cases.
- Implement GetVersionTests to check version retrieval and error handling.
- Create BitipClientTestFixture for mocking HTTP responses in tests.
- Add RealApiIntegrationTests for testing against a live Bitip API instance.
- Introduce TestConfiguration for managing test settings and API keys.
- Update Bitip.Client.csproj with package metadata and licensing information.
- Add LICENSE file for MIT License compliance.
- Create README.md with detailed usage instructions and examples.
- Establish RELEASE.md for publishing guidelines and version management.
- Add AssemblyInfo.cs for internal visibility to tests.
fix: update import statements to remove file extensions for consistency
fix: improve path handling in pathCombine utility function
fix: ensure trailing slash in Vite base path configuration
refactor: update build script to use tsup for backend
refactor: clean up package.json dependencies and devDependencies