Compare commits

...

38 Commits

Author SHA1 Message Date
semantic-release-bot 533b8a32d5 chore(release): 0.0.2-develop.1 [skip ci]
## [0.0.2-develop.1](https://git.lumeweb.com/LumeWeb/kernel-libresolver/compare/v0.0.1...v0.0.2-develop.1) (2023-07-05)
2023-07-05 09:46:02 +00:00
Derrick Hammer 2445de5711
ci: setup 2023-07-05 05:44:46 -04:00
Derrick Hammer fb6b5c4b52
refactor: switch to new sdks 2023-07-05 05:42:15 -04:00
Derrick Hammer 03503c1b77
*Update dist 2023-02-19 21:16:05 -05:00
Derrick Hammer 4642c10bf2
*Update dist 2023-02-19 21:13:16 -05:00
Derrick Hammer 69bb1f7c60
*Change types so setup doesnt throw an error
*ts-ignore setting resolver
2023-02-19 21:12:57 -05:00
Derrick Hammer 6f6a79599c
*Update dist 2023-02-19 20:39:48 -05:00
Derrick Hammer 2bd13bb71b
*Duplicate ResolverModule interface for the kernel since resolver will load the dns client 2023-02-19 20:39:29 -05:00
Derrick Hammer 1b50865939
*Refactor to set the registry via getter vs passing as a constructor 2023-02-19 20:29:44 -05:00
Derrick Hammer e0a8465249
*Update dist 2023-02-19 17:39:40 -05:00
Derrick Hammer 2d76906fa5
*re-export AbstractResolverModule 2023-02-19 17:39:26 -05:00
Derrick Hammer 29d56b1ceb
*Update dist 2023-02-19 17:36:14 -05:00
Derrick Hammer d9e0e654d8
*Export utils and types from libresolver 2023-02-19 17:35:54 -05:00
Derrick Hammer e8954d7fe9
*Update dist 2023-02-19 17:17:14 -05:00
Derrick Hammer 657131b6ff
*add typescript 2023-02-19 17:16:57 -05:00
Derrick Hammer 08f211d8fd
*refactor to new system
*remove rpc code for now
2023-02-19 17:16:24 -05:00
Derrick Hammer cf3f54f2ee
*Update dist 2022-08-30 23:53:26 -04:00
Derrick Hammer 5a9f7ebdcd
*Update deps 2022-08-30 23:53:16 -04:00
Derrick Hammer cae357cd98
*Update dist 2022-08-20 12:43:57 -04:00
Derrick Hammer 13eb79ae7e
*Set options record type default to content 2022-08-20 12:43:28 -04:00
Derrick Hammer ac12204391
Revert "*Don't set a default options value"
This reverts commit c2d428758d.
2022-08-20 12:41:49 -04:00
Derrick Hammer dee297e0cd
*Update dist 2022-08-20 12:36:36 -04:00
Derrick Hammer c2d428758d
*Don't set a default options value 2022-08-20 12:35:51 -04:00
Derrick Hammer 89a17b5ac8
*Update dist 2022-08-20 02:57:45 -04:00
Derrick Hammer 90330d8dcd
*Set default record type to content 2022-08-20 02:57:25 -04:00
Derrick Hammer f691a24923
*Update package name 2022-08-20 02:56:39 -04:00
Derrick Hammer 37985d1010
*Update setup to take the class rather than an instance of the class 2022-08-20 02:56:28 -04:00
Derrick Hammer f60d29b95a
*Update dist 2022-08-19 11:21:13 -04:00
Derrick Hammer 2b747e72fa
*Add api for getSupportedTlds 2022-08-19 11:20:33 -04:00
Derrick Hammer 9818d17a06
*Update dist 2022-08-19 09:57:34 -04:00
Derrick Hammer 0204e4d5e3
*Add resolvers getter
*Add ResolverModule mock class
2022-08-19 09:57:05 -04:00
Derrick Hammer cf4df9dc91
*add main field 2022-08-18 19:33:57 -04:00
Derrick Hammer 1c9b882642
*Update dist 2022-08-18 18:50:54 -04:00
Derrick Hammer ef787eba13
*RpcNetwork needs to be accessible
*re-export RpcNetwork for convenience
2022-08-18 18:50:35 -04:00
Derrick Hammer e06c86720f
*Update dist 2022-08-18 18:29:08 -04:00
Derrick Hammer 8a88a43c20
*Add mock ResolverRegistry class 2022-08-18 18:28:36 -04:00
Derrick Hammer 1fe0496312
*Add dist 2022-08-18 18:00:26 -04:00
Derrick Hammer 183199247d
*Initial version 2022-08-18 18:00:09 -04:00
8 changed files with 18289 additions and 1 deletions

13
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,13 @@
name: Build/Publish
on:
push:
branches:
- master
- develop
- develop-*
jobs:
main:
uses: lumeweb/github-node-deploy-workflow/.github/workflows/main.yml@master
secrets: inherit

5
.presetterrc.json Normal file
View File

@ -0,0 +1,5 @@
{
"preset": [
"@lumeweb/node-library-preset"
]
}

1
CHANGELOG.md Normal file
View File

@ -0,0 +1 @@
## [0.0.2-develop.1](https://git.lumeweb.com/LumeWeb/kernel-libresolver/compare/v0.0.1...v0.0.2-develop.1) (2023-07-05)

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2022 Lume Web
Copyright (c) 2022 Hammer Technologies LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

18152
npm-shrinkwrap.json generated Normal file

File diff suppressed because it is too large Load Diff

31
package.json Normal file
View File

@ -0,0 +1,31 @@
{
"name": "@lumeweb/kernel-libresolver",
"version": "0.0.2-develop.1",
"main": "lin/index.js",
"type": "module",
"repository": {
"type": "git",
"url": "gitea@git.lumeweb.com:LumeWeb/kernel-libresolver.git"
},
"devDependencies": {
"@lumeweb/node-library-preset": "^0.2.7",
"presetter": "*"
},
"readme": "ERROR: No README data found!",
"scripts": {
"prepare": "presetter bootstrap",
"build": "run build",
"semantic-release": "semantic-release"
},
"dependencies": {
"@lumeweb/kernel-dns-client": "^0.0.2-develop.1",
"@lumeweb/libkernel": "^0.1.0-develop.14",
"@lumeweb/libresolver": "^0.0.2-develop.1"
},
"files": [
"lib"
],
"publishConfig": {
"access": "public"
}
}

3
src/client.ts Normal file
View File

@ -0,0 +1,3 @@
import { createClient } from "@lumeweb/kernel-dns-client";
export const dnsClient = createClient();

83
src/index.ts Normal file
View File

@ -0,0 +1,83 @@
import {
addHandler,
ActiveQuery,
handleMessage,
} from "@lumeweb/libkernel/module";
import type {
DNSResult,
ResolverModule as ResolverModuleBase,
} from "@lumeweb/libresolver";
import { DNS_RECORD_TYPE } from "@lumeweb/libresolver";
import { dnsClient } from "./client.js";
import { DnsClient } from "@lumeweb/kernel-dns-client";
import type { ResolverOptions } from "@lumeweb/libresolver";
let resolver: ResolverModule | ResolverModuleBase;
export interface ResolverModule {
get resolver(): DnsClient;
set resolver(value: DnsClient);
resolve(
domain: string,
options: ResolverOptions,
bypassCache: boolean,
): Promise<DNSResult>;
getSupportedTlds(): string[];
getSupportedTlds(): Promise<string[]>;
getSupportedTlds(): any;
}
export function setup(rm: ResolverModule | ResolverModuleBase) {
addHandler("resolve", handleResolve);
addHandler("register", handleRegister);
addHandler("getSupportedTlds", handleGetSupportedTlds);
onmessage = handleMessage;
resolver = rm;
// @ts-ignore
resolver.resolver = dnsClient;
}
async function handleRegister(aq: ActiveQuery) {
await dnsClient.register();
aq.respond();
}
async function handleResolve(aq: ActiveQuery) {
if (!("domain" in aq.callerInput)) {
aq.reject("domain required");
return;
}
let ret: DNSResult;
try {
ret = await resolver.resolve(
aq.callerInput.domain,
aq.callerInput?.options ?? { type: DNS_RECORD_TYPE.CONTENT },
aq.callerInput?.bypassCache || false,
);
} catch (e: any) {
aq.reject(e);
return;
}
if (ret.error) {
aq.reject(ret.error as any);
return;
}
aq.respond(ret);
}
function handleGetSupportedTlds(aq: ActiveQuery) {
aq.respond(resolver.getSupportedTlds());
}
export * from "@lumeweb/libresolver/lib/util.js";
export * from "@lumeweb/libresolver/lib/types.js";
export { AbstractResolverModule } from "@lumeweb/libresolver/lib/resolverModule.js";