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
ae81ce3ba0
fml
2024-05-12 16:34:27 -05:00
bb4ba75b38
Vercel linting error, removed unused import, add getTypeEasy callback dependency
2024-05-12 16:31:56 -05:00
ea8f1ac92b
Update project version to 0.2.0, improve JSON placeholder
2024-05-12 16:22:13 -05:00
b3048086c3
Add await registry-informed getTypes method with smart entity tag validation
...
fuck type coloring madness
2024-05-12 02:10:15 -05:00
15666716a6
Fix multi-line CSS import broken
2024-05-12 01:14:27 -05:00
c6a31f341c
fix entity placeholder, pulse animate autodetected target, remove completed todo
2024-05-11 05:27:21 -05:00
88e822e286
Force nodeLinker node-modules for Yarn Berry v4
2024-05-11 02:50:42 -05:00
4acd1ae701
Fix query detection for Autnum
2024-05-11 02:50:30 -05:00
9f23ba979b
Implement querying for TLD, URL, and JSON target types
2024-05-11 02:50:17 -05:00
431bb7b022
Update to yarn berry
2024-05-11 01:36:09 -05:00
abb6df7383
Add lock icon to non-autodetect target types
2024-05-11 01:33:16 -05:00
cdea57b6bf
Update next to 13.5.6
2024-05-11 01:32:58 -05:00
19c3442144
type/import fixes, improve placeholder examples
2024-05-11 01:19:57 -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
71a52ba2e3
Fix anchor HTML spec
2024-05-10 23:46:09 -05:00
9e48075d53
add repo/personal links to header
2024-05-10 06:05:53 -05:00
34a3c8efa6
Use placeholders constants with SimplifiedTargetType
2024-05-10 05:58:35 -05:00
e1ad2a8692
note de jure/de facto schema in README
2024-05-10 05:54:59 -05:00
ad9671c9fe
implement de-facto schema
2024-05-10 05:52:05 -05:00
29e294d951
Add actions: copy to clipboard, download response file
2024-05-10 05:43:55 -05:00
597863ea70
Add metadata to ParsedGeneric submit response
2024-05-10 05:42:43 -05:00
670e8c377a
Improve unexpected status code handling
2024-05-10 02:45:39 -05:00
f95e0de5bb
type assert bootstrapItem as min length 1
2024-05-10 02:36:25 -05:00
06e1b603fc
Fix selectable targets type
2024-05-10 02:36:02 -05:00
4ff929105e
cut down additional padding
...
useful for mobile viewports
2024-05-10 02:35:47 -05:00
1f93c8568f
fix minor linting/type errors
2024-05-10 02:25:44 -05:00
00088afa5c
Make search icon clickable button
2024-05-10 02:25:17 -05:00
2f2a34efcf
provide shorthand precise target type naming, fix ip / ip4-6 issue with LookupInput under refined TargetType definition
2024-05-10 02:15:10 -05:00
a88f3dcff3
Simplify ip4/ip6 handling with refined TargetType
2024-05-10 02:14:20 -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
f1fb5d422e
Remove unused CSS classes
2024-05-10 01:49:39 -05:00
ae17a912e4
Fix annoying warnings
2024-05-10 01:49:33 -05:00
abab1b357b
Make proper, cohesive TargetType/SimplifiedTargetType types
...
why didn't I do this before? maybe i'll find out soon
2024-05-10 01:47:59 -05:00
d819920f8a
Use .dashed class instead of global attribute selector for title indication
2024-05-10 01:47:09 -05:00
5390c697e2
reduce card header padding on mobile viewport
2024-05-10 01:38:10 -05:00
4e9ba2fe19
Add @types/react-timeago, solve build typecheck
2024-05-10 01:37:47 -05:00
d071c73756
Switch registryDataRef initial value type to match ref type
...
No fucking clue why I used a non-matching type for this; makes no sense
2024-05-10 01:37:14 -05:00
4b7691fed7
Switch UriType calculated value to Maybe<>
2024-05-10 01:36:28 -05:00
3fa293a237
allow x scrolling on overflowing viewports (mobile)
2024-05-09 23:08:54 -05:00
bd49b57376
begin adding URL, link action on AbstractCard
2024-05-09 23:08:32 -05:00
28f58a362f
clerical: import/doc/format fixes
2024-05-09 23:07:40 -05:00
590908ac68
notate domain card type in rendered html
2024-05-09 23:06:44 -05:00