Commit Graph

25 Commits

Author SHA1 Message Date
8283912c50 fix: update Husky hooks for v10 compatibility and fix test scripts
- Remove deprecated shebang lines from Husky hooks
- Fix test:run to properly exclude integration tests
- Update test:integration to directly specify integration test file
- All test suites now working correctly (85 unit + 3 integration tests)
2025-10-22 09:55:34 -05:00
98ab01158e fix: correct vitest integration test script for v3.x compatibility 2025-10-22 02:51:44 -05:00
c17f733da1 ci: implement comprehensive CI/CD and workflow automation
- Add GitHub Actions workflows for CI, release, and deployment
- Configure Renovate for automated dependency updates
- Set up Husky pre-commit hooks with lint-staged
- Add commitlint for enforcing Conventional Commits
- Configure semantic-release for automated versioning
- Add Prettier configuration for consistent formatting
- Reformat codebase with new formatting rules
2025-10-22 02:48:18 -05:00
2c1f882cd9 refactor: replace Google Fonts with FontSource packages and migrate to cn utility
- Replace Google Fonts CDN with self-hosted FontSource packages
- Add @fontsource-variable/inter for variable Inter font
- Add @fontsource/ibm-plex-mono with weight 400 for monospace font
- Create src/lib/utils.ts with shadcn's cn utility function
- Install tailwind-merge for intelligent Tailwind class merging
- Replace all clsx usages with cn utility across components
  - LookupInput.tsx: 7 replacements
  - ErrorCard.tsx: 1 replacement
  - Property.tsx: 2 replacements
- Remove Google Fonts URL import from globals.css
2025-10-22 02:22:39 -05:00
771a27da29 build: upgrade Tailwind CSS from v3 to v4
- Migrate from Tailwind CSS 3.x to 4.1.15
- Replace autoprefixer with @tailwindcss/postcss 4.1.15
- Update PostCSS configuration for Tailwind v4 compatibility
- Convert globals.scss to globals.css for CSS-first configuration
- Remove legacy tailwind.config.cjs in favor of CSS-based config
- Update all component imports to use new globals.css
- Remove old.tsx.disabled file
2025-10-22 02:11:09 -05:00
66bf588647 feat: upgrade to Next.js 15, React 19, and migrate to ESLint 9 flat config
Major framework upgrades:
- Next.js 13 → 15.5.6
- React 18.2.0 → 19.2.0
- ESLint 8 → 9 with flat config migration

Dependency updates:
- @headlessui/react, date-fns, zod, true-myth, usehooks-ts
- @typescript-eslint packages to v8
- TypeScript to v5.9.3
- Prettier to v3.6.2

Breaking changes:
- Migrate from .eslintrc.json to eslint.config.mjs
- Remove deprecated swcMinify option from next.config.mjs
- Update all React type definitions
2025-10-22 01:53:58 -05:00
5fb095a498 test: add comprehensive testing infrastructure with critical bug fixes
- Add Vitest testing framework with 88 passing tests across 4 test files
- Fix critical entity validator bug (service array index)
- Implement validator architecture with 'matched but invalid' state support
- Add strict IPv4/IPv6 validation with detailed error messages
- Add case-insensitive domain and ASN matching
- Add explicit validator priority ordering (url→json→tld→ip→domain)
- Add integration tests with real IANA registry validation
- Add AutnumCard component for AS number display
- Update dependencies: prettier 2.8.1→2.8.8

Test coverage:
- helpers.test.ts: IPv4/IPv6 CIDR matching (27 tests)
- helpers.asn.test.ts: ASN range validation (22 tests)
- rdap.test.ts: Type detection with edge cases (36 tests)
- rdap.integration.test.ts: Real IANA registry tests (3 tests)

Bug fixes:
- Entity validator now correctly uses service[1] for tags (0=email, 1=tags, 2=urls)
- IPv4 validation rejects octets >255 with specific error messages
- IPv6 validation checks for invalid hex chars and multiple ::
- Domain regex supports multi-label domains (a.b.c.d.example.net)
- Type detection priority prevents URL/JSON false matches as domains
2025-10-22 01:23:15 -05:00
09cd0bf49b build: migrate to pnpm and add vitest testing infrastructure
- Replace Yarn with pnpm as package manager
- Add Vitest with React Testing Library and happy-dom
- Configure test setup and add test scripts (test, test:ui, test:run)
- Add IPCard component and update lookup components
- Remove unused react-ogp dependency
- Add type-check script
2025-10-22 00:34:53 -05:00
ea8f1ac92b Update project version to 0.2.0, improve JSON placeholder 2024-05-12 16:22:13 -05:00
431bb7b022 Update to yarn berry 2024-05-11 01:36:09 -05:00
cdea57b6bf Update next to 13.5.6 2024-05-11 01:32:58 -05:00
83402d54f5 Update 'next' and '@headlessui/react'
Using latest v2 of HeadlessUI
Also removed unused text-left class on LookupInputButton
2024-05-11 01:19:35 -05:00
16584baef4 Switch URIPatterns to TypeValidators, Record, add typing to Object.entries with type-fest pkg 2024-05-10 02:14:03 -05:00
4e9ba2fe19 Add @types/react-timeago, solve build typecheck 2024-05-10 01:37:47 -05:00
757adcf385 Use react-timeago for DynamicDate component, improve relative timing display 2024-05-09 22:09:42 -05:00
f37e6f87a2 add clsx, add bottom padding for ErrorCard 2024-05-09 02:15:11 -05:00
3b9153fb97 internal: add true-myth for result/maybe types, test maybe on getType() handler, disable /old page 2024-05-09 01:21:37 -05:00
800e4f745f Add relevant TailwindUI libraries (headlessui, heroicons) 2023-05-21 23:06:09 -05:00
Xevion
9907772020 Remove axios, use fetch API 2023-02-20 00:37:48 -06:00
Xevion
063397625c Rewrite index with useLookup hook, add react-ogp 2023-02-20 00:17:28 -06:00
Xevion
9994f76dd9 Add react-hook-form pkg 2023-02-19 23:28:14 -06:00
Xevion
742b370ee3 Improve date rendering with toggleable rendering 2023-01-22 04:42:44 -06:00
Xevion
0fa1cfaabd Add primitive dark mode 2023-01-15 02:28:14 -06:00
Xevion
496a25cf59 Prototype commit 2023-01-14 13:58:36 -06:00
Xevion
40441ed328 Project init 2023-01-12 20:58:40 -06:00