├── .github └── workflows │ └── test-and-release.yml ├── .gitignore ├── .husky └── pre-commit ├── .nvmrc ├── .releaserc.json ├── .vscode ├── launch.json └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── bin └── update.js ├── eslint.config.js ├── jsr.json ├── package.json ├── prettier.config.js ├── serialized-tries ├── icann.d.ts └── private.d.ts ├── src ├── __snapshots__ │ └── update-tries.test.ts.snap ├── config.ts ├── from-url.test.ts ├── from-url.ts ├── main.ts ├── parse-domain.test.ts ├── parse-domain.ts ├── psl │ ├── build-tries.test.ts │ ├── build-tries.ts │ ├── fetch-psl.test.ts │ └── fetch-psl.ts ├── publicsuffix.test.ts ├── punycode.ts ├── sanitize.ts ├── scripts │ ├── update-psl-fixture.ts │ └── update-tries.ts ├── serialized-tries.ts ├── smoke-test.ts ├── tests │ ├── assertions │ │ └── nodes.ts │ └── fixtures │ │ ├── fixtures.ts │ │ └── public-suffix-list.txt ├── trie │ ├── __snapshots__ │ │ └── serialize-trie.test.ts.snap │ ├── characters.ts │ ├── create-trie.test.ts │ ├── create-trie.ts │ ├── look-up.ts │ ├── nodes.ts │ ├── parse-trie.test.ts │ ├── parse-trie.ts │ ├── serialize-trie.test.ts │ └── serialize-trie.ts ├── type-util.ts ├── update-tries.test.ts └── update-tries.ts ├── tea.yaml ├── tsconfig.build.json ├── tsconfig.json └── vitest.config.ts /.github/workflows/test-and-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/.github/workflows/test-and-release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v22.21.1 -------------------------------------------------------------------------------- /.releaserc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@peerigon/configs/semantic-release/cross-publish" 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/README.md -------------------------------------------------------------------------------- /bin/update.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/bin/update.js -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/eslint.config.js -------------------------------------------------------------------------------- /jsr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/jsr.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/package.json -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | export { default } from "@peerigon/configs/prettier"; 2 | -------------------------------------------------------------------------------- /serialized-tries/icann.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/serialized-tries/icann.d.ts -------------------------------------------------------------------------------- /serialized-tries/private.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/serialized-tries/private.d.ts -------------------------------------------------------------------------------- /src/__snapshots__/update-tries.test.ts.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/__snapshots__/update-tries.test.ts.snap -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/config.ts -------------------------------------------------------------------------------- /src/from-url.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/from-url.test.ts -------------------------------------------------------------------------------- /src/from-url.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/from-url.ts -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/main.ts -------------------------------------------------------------------------------- /src/parse-domain.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/parse-domain.test.ts -------------------------------------------------------------------------------- /src/parse-domain.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/parse-domain.ts -------------------------------------------------------------------------------- /src/psl/build-tries.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/psl/build-tries.test.ts -------------------------------------------------------------------------------- /src/psl/build-tries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/psl/build-tries.ts -------------------------------------------------------------------------------- /src/psl/fetch-psl.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/psl/fetch-psl.test.ts -------------------------------------------------------------------------------- /src/psl/fetch-psl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/psl/fetch-psl.ts -------------------------------------------------------------------------------- /src/publicsuffix.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/publicsuffix.test.ts -------------------------------------------------------------------------------- /src/punycode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/punycode.ts -------------------------------------------------------------------------------- /src/sanitize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/sanitize.ts -------------------------------------------------------------------------------- /src/scripts/update-psl-fixture.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/scripts/update-psl-fixture.ts -------------------------------------------------------------------------------- /src/scripts/update-tries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/scripts/update-tries.ts -------------------------------------------------------------------------------- /src/serialized-tries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/serialized-tries.ts -------------------------------------------------------------------------------- /src/smoke-test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/smoke-test.ts -------------------------------------------------------------------------------- /src/tests/assertions/nodes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/tests/assertions/nodes.ts -------------------------------------------------------------------------------- /src/tests/fixtures/fixtures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/tests/fixtures/fixtures.ts -------------------------------------------------------------------------------- /src/tests/fixtures/public-suffix-list.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/tests/fixtures/public-suffix-list.txt -------------------------------------------------------------------------------- /src/trie/__snapshots__/serialize-trie.test.ts.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/__snapshots__/serialize-trie.test.ts.snap -------------------------------------------------------------------------------- /src/trie/characters.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/characters.ts -------------------------------------------------------------------------------- /src/trie/create-trie.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/create-trie.test.ts -------------------------------------------------------------------------------- /src/trie/create-trie.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/create-trie.ts -------------------------------------------------------------------------------- /src/trie/look-up.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/look-up.ts -------------------------------------------------------------------------------- /src/trie/nodes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/nodes.ts -------------------------------------------------------------------------------- /src/trie/parse-trie.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/parse-trie.test.ts -------------------------------------------------------------------------------- /src/trie/parse-trie.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/parse-trie.ts -------------------------------------------------------------------------------- /src/trie/serialize-trie.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/serialize-trie.test.ts -------------------------------------------------------------------------------- /src/trie/serialize-trie.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/trie/serialize-trie.ts -------------------------------------------------------------------------------- /src/type-util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/type-util.ts -------------------------------------------------------------------------------- /src/update-tries.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/update-tries.test.ts -------------------------------------------------------------------------------- /src/update-tries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/src/update-tries.ts -------------------------------------------------------------------------------- /tea.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/tea.yaml -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peerigon/parse-domain/HEAD/vitest.config.ts --------------------------------------------------------------------------------