Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
34cc8dd073 | |||
f9aa961e01 | |||
1e6d59b5b2 | |||
24ed3bd238 |
15
changelog.md
15
changelog.md
@ -1,5 +1,20 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-05-27 - 7.0.1 - fix(test & plugins)
|
||||||
|
Rename test client variable and export smartrequest in client plugins
|
||||||
|
|
||||||
|
- Renamed variable 'testDnsly' to 'testDnsClient' in test/test.client.ts for better clarity.
|
||||||
|
- Added @push.rocks/smartrequest dependency in package.json and updated ts_client/plugins.ts to export it.
|
||||||
|
|
||||||
|
## 2025-05-27 - 7.0.0 - BREAKING CHANGE(core)
|
||||||
|
Refactor module entry point and update plugin imports; remove deprecated dnsly.plugins, update dependency versions, and adjust test imports
|
||||||
|
|
||||||
|
- Changed module export in package.json from './dist_ts_server/index.js' to './dist_ts/index.js'
|
||||||
|
- Updated dependency versions, notably upgrading '@tsclass/tsclass' from 5.0.0 to 9.2.0 and updating tap bundles to '@git.zone/tstest' packages
|
||||||
|
- Removed the redundant ts_client/dnsly.plugins.ts file and replaced its usage with the updated ts_client/plugins.ts
|
||||||
|
- Adjusted test files to use export default tap.start() and updated import paths for tap bundles
|
||||||
|
- Added tspublish.json files in ts, ts_client, and ts_server directories to control publish order
|
||||||
|
|
||||||
## 2025-03-21 - 6.3.0 - feat(dns-server)
|
## 2025-03-21 - 6.3.0 - feat(dns-server)
|
||||||
Enhance DNS server functionality with advanced DNSSEC signing (supporting both ECDSA and ED25519), improved SSL certificate retrieval using Let's Encrypt, and refined handler management for cleaner shutdowns.
|
Enhance DNS server functionality with advanced DNSSEC signing (supporting both ECDSA and ED25519), improved SSL certificate retrieval using Let's Encrypt, and refined handler management for cleaner shutdowns.
|
||||||
|
|
||||||
|
18
package.json
18
package.json
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"name": "@push.rocks/smartdns",
|
"name": "@push.rocks/smartdns",
|
||||||
"version": "6.2.2",
|
"version": "7.0.1",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.",
|
"description": "A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./dist_ts_server/index.js",
|
".": "./dist_ts/index.js",
|
||||||
"./server": "./dist_ts_server/index.js",
|
"./server": "./dist_ts_server/index.js",
|
||||||
"./client": "./dist_ts_client/index.js"
|
"./client": "./dist_ts_client/index.js"
|
||||||
},
|
},
|
||||||
@ -46,8 +46,8 @@
|
|||||||
"@push.rocks/smartdelay": "^3.0.1",
|
"@push.rocks/smartdelay": "^3.0.1",
|
||||||
"@push.rocks/smartenv": "^5.0.5",
|
"@push.rocks/smartenv": "^5.0.5",
|
||||||
"@push.rocks/smartpromise": "^4.2.3",
|
"@push.rocks/smartpromise": "^4.2.3",
|
||||||
"@push.rocks/smartrequest": "^2.0.23",
|
"@push.rocks/smartrequest": "^2.1.0",
|
||||||
"@tsclass/tsclass": "^5.0.0",
|
"@tsclass/tsclass": "^9.2.0",
|
||||||
"@types/dns-packet": "^5.6.5",
|
"@types/dns-packet": "^5.6.5",
|
||||||
"@types/elliptic": "^6.4.18",
|
"@types/elliptic": "^6.4.18",
|
||||||
"acme-client": "^5.4.0",
|
"acme-client": "^5.4.0",
|
||||||
@ -56,11 +56,10 @@
|
|||||||
"minimatch": "^10.0.1"
|
"minimatch": "^10.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@git.zone/tsbuild": "^2.2.7",
|
"@git.zone/tsbuild": "^2.6.4",
|
||||||
"@git.zone/tsrun": "^1.3.3",
|
"@git.zone/tsrun": "^1.3.3",
|
||||||
"@git.zone/tstest": "^1.0.96",
|
"@git.zone/tstest": "^2.3.1",
|
||||||
"@push.rocks/tapbundle": "^5.6.0",
|
"@types/node": "^22.15.21"
|
||||||
"@types/node": "^22.13.10"
|
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"ts/**/*",
|
"ts/**/*",
|
||||||
@ -77,5 +76,6 @@
|
|||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 1 chrome versions"
|
"last 1 chrome versions"
|
||||||
],
|
],
|
||||||
"type": "module"
|
"type": "module",
|
||||||
|
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
|
||||||
}
|
}
|
||||||
|
3405
pnpm-lock.yaml
generated
3405
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -1,16 +1,16 @@
|
|||||||
import { expect, tap } from '@push.rocks/tapbundle';
|
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
||||||
|
|
||||||
import * as smartdns from '../ts_client/index.js';
|
import * as smartdns from '../ts_client/index.js';
|
||||||
|
|
||||||
let testDnsly: smartdns.Smartdns;
|
let testDnsClient: smartdns.Smartdns;
|
||||||
|
|
||||||
tap.test('should create an instance of Dnsly', async () => {
|
tap.test('should create an instance of Dnsly', async () => {
|
||||||
testDnsly = new smartdns.Smartdns({});
|
testDnsClient = new smartdns.Smartdns({});
|
||||||
expect(testDnsly).toBeInstanceOf(smartdns.Smartdns);
|
expect(testDnsClient).toBeInstanceOf(smartdns.Smartdns);
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get an A DNS Record', async () => {
|
tap.test('should get an A DNS Record', async () => {
|
||||||
return expect(await testDnsly.getRecordsA('dnsly_a.bleu.de')).toEqual([
|
return expect(await testDnsClient.getRecordsA('dnsly_a.bleu.de')).toEqual([
|
||||||
{
|
{
|
||||||
name: 'dnsly_a.bleu.de',
|
name: 'dnsly_a.bleu.de',
|
||||||
value: '127.0.0.1',
|
value: '127.0.0.1',
|
||||||
@ -21,7 +21,7 @@ tap.test('should get an A DNS Record', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get an AAAA Record', async () => {
|
tap.test('should get an AAAA Record', async () => {
|
||||||
return expect(await testDnsly.getRecordsAAAA('dnsly_aaaa.bleu.de')).toEqual([
|
return expect(await testDnsClient.getRecordsAAAA('dnsly_aaaa.bleu.de')).toEqual([
|
||||||
{
|
{
|
||||||
name: 'dnsly_aaaa.bleu.de',
|
name: 'dnsly_aaaa.bleu.de',
|
||||||
value: '::1',
|
value: '::1',
|
||||||
@ -32,7 +32,7 @@ tap.test('should get an AAAA Record', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get a txt record', async () => {
|
tap.test('should get a txt record', async () => {
|
||||||
return expect(await testDnsly.getRecordsTxt('dnsly_txt.bleu.de')).toEqual([
|
return expect(await testDnsClient.getRecordsTxt('dnsly_txt.bleu.de')).toEqual([
|
||||||
{
|
{
|
||||||
name: 'dnsly_txt.bleu.de',
|
name: 'dnsly_txt.bleu.de',
|
||||||
value: 'sometext_txt',
|
value: 'sometext_txt',
|
||||||
@ -43,37 +43,37 @@ tap.test('should get a txt record', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should, get a mx record for a domain', async () => {
|
tap.test('should, get a mx record for a domain', async () => {
|
||||||
const res = await testDnsly.getRecords('bleu.de', 'MX');
|
const res = await testDnsClient.getRecords('bleu.de', 'MX');
|
||||||
console.log(res);
|
console.log(res);
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should check until DNS is available', async () => {
|
tap.test('should check until DNS is available', async () => {
|
||||||
return expect(
|
return expect(
|
||||||
await testDnsly.checkUntilAvailable('dnsly_txt.bleu.de', 'TXT', 'sometext_txt')
|
await testDnsClient.checkUntilAvailable('dnsly_txt.bleu.de', 'TXT', 'sometext_txt')
|
||||||
).toBeTrue();
|
).toBeTrue();
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should check until DNS is available an return false if it fails', async () => {
|
tap.test('should check until DNS is available an return false if it fails', async () => {
|
||||||
return expect(
|
return expect(
|
||||||
await testDnsly.checkUntilAvailable('dnsly_txt.bleu.de', 'TXT', 'sometext_txt2')
|
await testDnsClient.checkUntilAvailable('dnsly_txt.bleu.de', 'TXT', 'sometext_txt2')
|
||||||
).toBeFalse();
|
).toBeFalse();
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should check until DNS is available an return false if it fails', async () => {
|
tap.test('should check until DNS is available an return false if it fails', async () => {
|
||||||
return expect(
|
return expect(
|
||||||
await testDnsly.checkUntilAvailable('dnsly_txtNotThere.bleu.de', 'TXT', 'sometext_txt2')
|
await testDnsClient.checkUntilAvailable('dnsly_txtNotThere.bleu.de', 'TXT', 'sometext_txt2')
|
||||||
).toBeFalse();
|
).toBeFalse();
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get name server for hostname', async () => {
|
tap.test('should get name server for hostname', async () => {
|
||||||
let result = await testDnsly.getNameServers('bleu.de');
|
let result = await testDnsClient.getNameServers('bleu.de');
|
||||||
console.log(result);
|
console.log(result);
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should detect dns sec', async () => {
|
tap.test('should detect dns sec', async () => {
|
||||||
const result = await testDnsly.getRecordsA('lossless.com');
|
const result = await testDnsClient.getRecordsA('lossless.com');
|
||||||
console.log(result[0]);
|
console.log(result[0]);
|
||||||
expect(result[0].dnsSecEnabled).toBeTrue();
|
expect(result[0].dnsSecEnabled).toBeTrue();
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.start();
|
export default tap.start();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import * as plugins from '../ts_server/plugins.js';
|
import * as plugins from '../ts_server/plugins.js';
|
||||||
import { expect, tap } from '@push.rocks/tapbundle';
|
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
||||||
import { tapNodeTools } from '@push.rocks/tapbundle/node';
|
import { tapNodeTools } from '@git.zone/tstest/tapbundle_node';
|
||||||
import { execSync } from 'child_process';
|
import { execSync } from 'child_process';
|
||||||
|
|
||||||
import * as dnsPacket from 'dns-packet';
|
import * as dnsPacket from 'dns-packet';
|
||||||
@ -644,4 +644,4 @@ tap.test('should stop the server', async () => {
|
|||||||
dnsServer = null;
|
dnsServer = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
await tap.start();
|
export default tap.start();
|
8
ts/00_commitinfo_data.ts
Normal file
8
ts/00_commitinfo_data.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* autocreated commitinfo by @push.rocks/commitinfo
|
||||||
|
*/
|
||||||
|
export const commitinfo = {
|
||||||
|
name: '@push.rocks/smartdns',
|
||||||
|
version: '7.0.1',
|
||||||
|
description: 'A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.'
|
||||||
|
}
|
4
ts/index.ts
Normal file
4
ts/index.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import * as dnsClientMod from '../dist_ts_client/index.js';
|
||||||
|
import * as dnsServerMod from '../dist_ts_server/index.js';
|
||||||
|
|
||||||
|
export { dnsClientMod, dnsServerMod };
|
3
ts/tspublish.json
Normal file
3
ts/tspublish.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"order": 3
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
import * as plugins from './dnsly.plugins.js';
|
import * as plugins from './plugins.js';
|
||||||
|
|
||||||
export type TDnsProvider = 'google' | 'cloudflare';
|
export type TDnsProvider = 'google' | 'cloudflare';
|
||||||
|
|
||||||
|
3
ts_client/tspublish.json
Normal file
3
ts_client/tspublish.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"order": 2
|
||||||
|
}
|
3
ts_server/tspublish.json
Normal file
3
ts_server/tspublish.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"order": 1
|
||||||
|
}
|
Reference in New Issue
Block a user